import { NetworksRegistry } from '@pinax/graph-networks-registry';
import ABI from '../protocols/ethereum/abi.js';
export declare class ContractService {
    private registry;
    constructor(registry: NetworksRegistry);
    private fetchFromEtherscan;
    private applyVars;
    private getEtherscanUrls;
    private getRpcUrls;
    getABI(ABICtor: typeof ABI, networkId: string, address: string): Promise<ABI>;
    getStartBlock(networkId: string, address: string): Promise<string>;
    getContractName(networkId: string, address: string): Promise<string>;
    getFromSourcify(ABICtor: typeof ABI, networkId: string, address: string): Promise<{
        abi: ABI;
        startBlock: string;
        name: string;
    } | null>;
    private fetchTransactionByHash;
}
