<?php

namespace App\Services\Dns;

/**
 * The internal, WireGuard-only counterpart to HetznerDnsClient: a host's name
 * (fsn-01.node.…) resolves only inside the tunnel, via the vpn-dns container's
 * dnsmasq --hostsdir, never in the public zone. See RegisterHostDns.
 */
interface HostDnsDirectory
{
    /** Writes (or overwrites) the host's entry. Idempotent. */
    public function write(string $name, string $fqdn, string $ip): void;

    /** Removes the host's entry, if one exists. */
    public function remove(string $name): void;
}
