import { Resolver, PromiseResolver, NAPTRRecord, SOARecord, SRVRecord, ARecord, AAAARecord, DNSError, LookupCallback, LookupCallbackAll, AnyDNSRecord } from './dns.js'; import RFCResolver from './rfc8484.js'; import * as constants from './constants.js'; /** * Wrapper around Promise based Resolver implementations to support callback interface. * Pass an instantiated PromiseResolver to constructor to wrap the resolver. * Defaults to CloudFlare resolver. */ declare class CallbackResolver implements Resolver { _resolver: PromiseResolver; constructor(options?: { timeout: number; } | PromiseResolver); cancel(): void; getServers(): string[]; resolve(hostname: string, ...args: any[]): void; resolve4(hostname: string, callback: (err?: DNSError, address?: string[]) => void): void; resolve4(hostname: string, options: { ttl: true; }, callback: (err?: DNSError, address?: ARecord[]) => void): void; resolve4(hostname: string, options: { ttl: false; }, callback: (err?: DNSError, address?: string[]) => void): void; resolve6(hostname: string, callback: (err?: DNSError, address?: string[]) => void): void; resolve6(hostname: string, options: { ttl: true; }, callback: (err?: DNSError, address?: AAAARecord[]) => void): void; resolve6(hostname: string, options: { ttl: false; }, callback: (err?: DNSError, address?: string[]) => void): void; resolveAny(hostname: string, callback: (err?: DNSError, ret?: AnyDNSRecord[]) => void): void; resolveCaa(hostname: string, callback: (err?: DNSError, records?: { critical: number; iodef?: string; issue?: string; }[]) => void): void; resolveCname(hostname: string, callback: (err?: DNSError, addresses?: string[]) => void): void; resolveMx(hostname: string, callback: (err?: DNSError, addresses?: { priority: number; exchange: string; }[]) => void): void; resolveNaptr(hostname: string, callback: (err?: DNSError, addresses?: NAPTRRecord[]) => void): void; resolveNs(hostname: string, callback: (err?: DNSError, addresses?: string[]) => void): void; resolvePtr(hostname: string, callback: (err?: DNSError, addresses?: string[]) => void): void; resolveSoa(hostname: string, callback: (err?: DNSError, address?: SOARecord) => void): void; resolveSrv(hostname: string, callback: (err?: DNSError, addresses?: SRVRecord[]) => void): void; resolveTxt(hostname: string, callback: (err?: DNSError, records?: string[][]) => void): void; reverse(hostname: string, callback: (err?: DNSError, hostnames?: string[]) => void): void; setLocalAddress(ipv4: string, ipv6: string): void; setServers(servers: string[]): void; } declare type LookupResult = { address: string; family: number; }; declare function lookupPromise(hostname: string, options?: 4 | 6 | { family: 4 | 6 | 0; hints?: number; all?: false; verbatim?: boolean; }): Promise; declare function lookupPromise(hostname: string, options: { family: 4 | 6 | 0; hints?: number; all: true; verbatim?: boolean; }): Promise; declare function lookupServicePromise(address: string, port: number): Promise<{ hostname: string; service: string; }>; declare function lookup(hostname: string, callback: LookupCallback): void; declare function lookup(hostname: string, options: 4 | 6 | { family: 4 | 6 | 0; hints?: number; all?: boolean; verbatim?: boolean; }, callback: LookupCallback | LookupCallbackAll): void; declare function lookupService(address: string, port: number, callback: (err?: DNSError, hostname?: string, service?: string) => void): void; declare const _default: { Resolver: typeof CallbackResolver; promises: { Resolver: typeof RFCResolver; lookup: typeof lookupPromise; lookupService: typeof lookupServicePromise; getServers: any; resolve: any; resolve4: any; resolve6: any; resolveAny: any; resolveCname: any; resolveCaa: any; resolveMx: any; resolveNaptr: any; resolveNs: any; resolvePtr: any; resolveSoa: any; resolveSrv: any; resolveTxt: any; reverse: any; setServers: any; }; lookup: typeof lookup; lookupService: typeof lookupService; getServers: any; resolve: any; resolve4: any; resolve6: any; resolveAny: any; resolveCname: any; resolveCaa: any; resolveMx: any; resolveNaptr: any; resolveNs: any; resolvePtr: any; resolveSoa: any; resolveSrv: any; resolveTxt: any; reverse: any; setServers: any; RecordType: typeof constants.RecordType; NODATA: "NODATA"; FORMERR: "FORMERR"; SERVFAIL: "SERVFAIL"; NOTFOUND: "NOTFOUND"; NOTIMP: "NOTIMP"; REFUSED: "REFUSED"; BADQUERY: "BADQUERY"; BADNAME: "BADNAME"; BADFAMILY: "BADFAMILY"; BADRESP: "BADRESP"; CONNREFUSED: "CONNREFUSED"; TIMEOUT: "TIMEOUT"; EOF: "EOF"; FILE: "FILE"; NOMEM: "NOMEM"; DESTRUCTION: "DESTRUCTION"; BADSTR: "BADSTR"; BADFLAGS: "BADFLAGS"; NONAME: "NONAME"; BADHINTS: "BADHINTS"; NOTINITIALIZED: "NOTINITIALIZED"; LOADIPHLPAPI: "LOADIPHLPAPI"; ADDRGETNETWORKPARAMS: "ADDRGETNETWORKPARAMS"; CANCELLED: "CANCELLED"; }; export default _default;