import { AAAARecord, AnyDNSRecord, ARecord, NAPTRRecord, PromiseResolver, ResolveOptions, SOARecord, SRVRecord } from "./dns.js"; import { RecordType } from "./constants.js"; export interface BaseResolver extends PromiseResolver { } export declare abstract class BaseResolver implements PromiseResolver { private readonly _timeout; protected servers: string[]; constructor(options?: { timeout: number; }); _pending: Set; cancel(): void; protected _fetch(resource: string, options?: RequestInit): Promise; setLocalAddress(ipv4: string, ipv6: string): void; getServers(): string[]; setServers(servers: string[]): void; abstract resolve(hostname: string, rrtype?: (keyof typeof RecordType) | 'ANY', options?: ResolveOptions): Promise; resolve4(hostname: string, options: { ttl: true; }): Promise; resolve4(hostname: string, options?: { ttl: false; }): Promise; resolve6(hostname: string, options: { ttl: true; }): Promise; resolve6(hostname: string, options?: { ttl: false; }): Promise; resolveAny(hostname: string): Promise; resolveCaa(hostname: string): Promise<{ critical: number; iodef?: string; issue?: string; }[]>; resolveCname(hostname: string): Promise; resolveMx(hostname: string): Promise<{ priority: number; exchange: string; }[]>; resolveNaptr(hostname: string): Promise; resolveNs(hostname: string): Promise; resolvePtr(hostname: string): Promise; resolveSoa(hostname: string): Promise; resolveSrv(hostname: string): Promise; resolveTxt(hostname: string): Promise; reverse(hostname: string): Promise; }