import { MulticallProvider } from 'ethers-multicall-provider'; import { ContractCallContext } from 'ethereum-multicall'; import { Provider } from '@ethersproject/providers'; /** * Returns the results of a multicall where each call is made to every contract address provided * @param readProvider a read-capable provider to query through * @param contractAddresses contract addresses to make calls to * @param abi the ABI of the contracts provided * @param calls the calls to make to each contract * @returns */ export declare const getMulticallResults: (readProvider: Provider, contractAddresses: string[], abi: ContractCallContext['abi'], calls: ContractCallContext['calls']) => Promise<{ [contractAddress: string]: { [reference: string]: any[]; }; }>; /** * Returns the results of a complex multicall where contract queries are provided instead of calls * @param readProvider a read-capable provider to query through * @param queries the contract queries to make * @returns */ export declare const getComplexMulticallResults: (readProvider: Provider, queries: ContractCallContext[]) => Promise<{ [contractAddress: string]: { [reference: string]: any[]; }; }>; /** * Returns the results of a complex multicall where contract queries are provided instead of calls * @param multicallProvider a read-capable provider to query through * @param queries the contract queries to make * @returns */ export declare const getEthersMulticallProviderResults: (multicallProvider: MulticallProvider, queries: Record) => Promise>;