<?php

declare(strict_types=1);

namespace App\Domain\Enrichment;

use App\Domain\Ip\IpAddress;

/**
 * Resolves an IP into a country / ASN tuple. Implementations must never
 * throw on lookup failure — they return an empty {@see EnrichmentResult}
 * (all-null) so callers can skip persisting it without exception
 * handling around every call site.
 */
interface EnrichmentService
{
    public function enrich(IpAddress $ip): EnrichmentResult;
}
