import { EthereumNamingService } from './EthereumNamingService';
import { NamingServiceName } from './index';
import { ResolutionResponse, CryptoRecords, SourceDefinition } from './publicTypes';
export default class Ens extends EthereumNamingService {
    readonly name = NamingServiceName.ENS;
    constructor(source?: SourceDefinition);
    protected readerAbi(): any;
    isSupportedDomain(domain: string): boolean;
    isSupportedNetwork(): boolean;
    records(domain: string, keys: string[]): Promise<CryptoRecords>;
    twitter(domain: string): Promise<string>;
    private fromUDRecordNameToENS;
    reverse(address: string, currencyTicker: string): Promise<string | null>;
    private addr;
    owner(domain: string): Promise<string | null>;
    resolve(domain: string): Promise<ResolutionResponse | null>;
    allRecords(domain: string): Promise<CryptoRecords>;
    protected defaultRegistry(network: number): string | undefined;
    private getContentHash;
    private getTextRecord;
    private getResolverContract;
    /**
     * This was done to make automated tests more configurable
     */
    private resolverCallToName;
    private getTTL;
    /**
     * This was done to make automated tests more configurable
     */
    resolver(domain: string): Promise<string>;
    /**
     * This was done to make automated tests more configurable
     */
    private getOwner;
    /**
     * This was done to make automated tests more configurable
     */
    private getResolutionInfo;
    protected getCoinType(currencyTicker: string): string;
    private fetchAddress;
}
