type DnsLookupResult = { address: string; family: number; }; type DnsLookup = (hostname: string, options: { all: true; verbatim: true; }) => Promise; declare function isBlockedHostname(hostname: string): boolean; declare function assertSafeOutboundUrl(rawUrl: string, options?: { allowHttp?: boolean; allowPrivate?: boolean; }): URL; declare function isBlockedIpAddress(address: string): boolean; declare function pinUrlToAddress(url: URL, address: string): URL; interface ResolvedOutboundUrl { url: URL; addresses: string[]; } declare function resolveSafeOutboundTarget(rawUrl: string, options?: { allowHttp?: boolean; resolveDns?: boolean; allowPrivate?: boolean; }): Promise; declare function assertSafeOutboundUrlResolved(rawUrl: string, options?: { allowHttp?: boolean; resolveDns?: boolean; allowPrivate?: boolean; }): Promise; declare function setDnsLookupForTests(lookupFn: DnsLookup): void; declare function resetDnsLookupForTests(): void; export type { ResolvedOutboundUrl }; export { assertSafeOutboundUrl, assertSafeOutboundUrlResolved, isBlockedHostname, isBlockedIpAddress, pinUrlToAddress, resetDnsLookupForTests, resolveSafeOutboundTarget, setDnsLookupForTests, };