import { type TAbiItem } from '../types/TAbi'; import { IBlockchainExplorer } from '../explorer/IBlockchainExplorer'; import { TAddress } from '../models/TAddress'; import { Web3Client } from '../clients/Web3Client'; export declare class ContractAbiProvider { client: Web3Client; explorer: IBlockchainExplorer; constructor(client: Web3Client, explorer: IBlockchainExplorer); getAbi(abi: TAddress | string, opts?: { implementation?: string; location?: string; optional?: boolean; }): Promise<{ abiJson: TAbiItem[]; implementation: `0x${string}`; }>; private getAbiByAddress; }