import { IBlockchainExplorer, IBlockchainTransferEvent } from './IBlockchainExplorer'; import { IContractDetails } from '../models/IContractDetails'; import { TAddress } from '../models/TAddress'; import { TEth } from '../models/TEth'; export declare class Etherscan implements IBlockchainExplorer { inMemoryDb: IContractDetails[]; getContractMeta(q: string): any; getContractCreation(address: TEth.Address): Promise<{ creator: TAddress; txHash: TEth.Hex; }>; getContractAbi(address: TEth.Address, opts?: any): Promise<{ abi: string; implementation: TAddress; }>; getContractSource(address: TEth.Address): Promise<{ SourceCode: { contractName: string; files: { [filename: string]: { content: string; }; }; }; ContractName: string; ABI: string; }>; submitContractVerification(contractData: any): Promise; checkContractVerificationSubmission(submission: any): Promise; submitContractProxyVerification(contractData: any): Promise; checkContractProxyVerificationSubmission(submission: { guid: any; }): Promise; getTransactions(address: TEth.Address, params?: any): Promise; getTransactionsAll(address: TEth.Address): Promise; getInternalTransactions(address: TEth.Address, params: any): Promise; getInternalTransactionsAll(address: TEth.Address): Promise; getErc20Transfers(address: TEth.Address, fromBlockNumber?: number): Promise; getErc20TransfersAll(address: TEth.Address, fromBlockNumber?: number): Promise; registerAbi(abis: { name: any; address: any; abi: any; }[]): Promise; private getExplorer; private getConfig; }