import type { RegistryEntry } from './registry';
export declare function startDnsServer(domains: string[], verbose?: boolean): Promise<boolean>;
export declare function stopDnsServer(verbose?: boolean): void;
export declare function isDnsServerRunning(): boolean;
/** True when something is answering A queries for `host` on the rpx dev DNS port. */
export declare function isRpxDevelopmentDnsAnswering(host: string, timeoutMs?: number): Promise<boolean>;
export declare function resolverFilePath(basename: string): string;
/** True when a resolver file points at the rpx local DNS port. */
export declare function contentLooksLikeRpxResolver(content: string): boolean;
/**
 * @deprecated Use {@link setupDevelopmentDns}. Domain-scoped resolver files only.
 */
export declare function setupResolver(verbose?: boolean, domains?: string[]): Promise<boolean>;
/** Remove legacy whole-TLD resolver files (e.g. `/etc/resolver/com`). */
export declare function removeLegacyTldResolvers(verbose?: boolean): Promise<string[]>;
/**
 * Start the local DNS server and install domain-scoped macOS resolver files.
 */
export declare function setupDevelopmentDns(opts: DevelopmentDnsOptions): Promise<boolean>;
/**
 * Sync resolver + DNS state to the current set of registry hosts (daemon mode).
 */
export declare function syncDevelopmentDnsFromRegistry(entries: RegistryEntry[], opts?: { rpxDir?: string, verbose?: boolean, ownerPid?: number }): Promise<void>;
/**
 * Stop DNS and remove all resolver files recorded in state (plus legacy TLD files).
 */
export declare function tearDownDevelopmentDns(opts?: { rpxDir?: string, verbose?: boolean }): Promise<void>;
/**
 * @deprecated Use {@link tearDownDevelopmentDns}.
 */
export declare function removeResolver(verbose?: boolean): Promise<void>;
/**
 * Remove stale DNS overrides left after a crashed dev session or legacy TLD hijacks.
 * Safe to call before starting the daemon or `./buddy dev`.
 */
export declare function reconcileStaleDevelopmentDns(opts?: { rpxDir?: string, verbose?: boolean }): Promise<void>;
/** High port — does not require root. */
export declare const DNS_PORT: 15353;
export declare const RPX_RESOLVER_MARKER: '# managed-by: rpx';
export declare interface DevelopmentDnsOptions {
  domains: string[]
  rpxDir?: string
  verbose?: boolean
  ownerPid?: number
}
