import type { DNSResult, ResolverOptions } from "./types.js"; declare class ResolverRegistry { get resolvers(): Set | Promise>; resolve( domain: string, options?: ResolverOptions, bypassCache?: boolean ): Promise; register(resolver: ResolverModule): void; clear(): void; } export interface ResolverModule { get resolver(): ResolverRegistry; set resolver(value: ResolverRegistry); resolve( domain: string, options: ResolverOptions, bypassCache: boolean ): Promise; getSupportedTlds(): string[]; getSupportedTlds(): Promise; getSupportedTlds(): any; } export declare abstract class AbstractResolverModule { constructor(resolver?: ResolverRegistry); private _resolver?; get resolver(): ResolverRegistry; set resolver(value: ResolverRegistry); abstract resolve( domain: string, options: ResolverOptions, bypassCache: boolean ): Promise; getSupportedTlds(): string[]; getSupportedTlds(): Promise; isTldSupported(domain: string): Promise; isTldSupported(domain: string): boolean; } export {}; //# sourceMappingURL=resolverModule.d.ts.map