import { TAddress } from '../../models/TAddress'; import { INsProvider, INsProviderOptions } from './INsProvider'; import { TEth } from '../../models/TEth'; import { TPlatform } from '../../models/TPlatform'; import { Web3Client } from '../../clients/Web3Client'; export declare abstract class ANsProvider implements INsProvider { client: any; configKey: string; constructor(client: any); abstract supports(domain: string): boolean; getAddress(domain: string, opts: INsProviderOptions): Promise<{ platform: TPlatform; address: TAddress; }>; protected abstract getAddressInner(client: Web3Client, domain: string): Promise<{ platform: TPlatform; address: TAddress; }>; /** Gets contentHash if root, or the record from path: foo.eth/FOO_RECORD */ getContent(uri: string, opts: INsProviderOptions): Promise<{ platform: TPlatform; value: string; }>; protected abstract getContentInner(client: Web3Client, uri: string): Promise<{ platform: TPlatform; value: string; }>; getReverseName(address: TAddress, opts: INsProviderOptions): Promise<{ platform: TPlatform; name: string; }>; protected abstract getReversedInner(client: Web3Client, address: TAddress): Promise<{ platform: TPlatform; name: string; }>; protected getClients(opts: INsProviderOptions): Promise; protected getSupportedChains(): TPlatform[]; protected decodeContentHash(hex: TEth.Hex): string; protected getNsAddress(platform: TPlatform, type?: 'registry' | 'resolver'): TAddress; }