/** * Convert an internationalized hostname to its ASCII form with the WHATWG URL * implementation available in every supported runtime. * * This intentionally mirrors `node:url.domainToASCII()`'s empty-string * failure contract without adding a Node builtin to browser artifacts. Callers * still apply their own DNS-label policy after the conversion. */ export declare function domainToASCII(value: string): string; /** * Normalize one textual DNS owner for every resolver backend. * * The returned identity is lowercase ASCII with an optional terminal root dot * removed. One root dot on a non-root owner is accepted, while leading, * internal, and additional empty labels are rejected. The public hostname API * deliberately rejects the bare DNS root (`.`), but preserves other * wire-encodable labels such as `*`, `_dmarc`, and `_443._tcp`. * * Limits are measured after IDNA conversion and in encoded DNS-wire bytes: * each label is 1..63 bytes and the complete length-prefixed QNAME, including * its terminal zero byte, is at most 255 bytes. */ export declare function normalizeDnsOwner(value: string): string | null; /** * Validate and canonicalize the address accepted by `reverse()` without * conflating it with a PTR owner name. Scoped IPv6 literals are rejected: a * zone identifier is local interface context, not part of a portable reverse * DNS address, and backend support for it is inconsistent. */ export declare function normalizeReverseIp(value: string): string | null;