import type { Contract } from 'ethers';
import { QueryObserverResult } from 'react-query';
import type { Unpacked } from '../../base/Unpacked';
import type { ContractMethodName, StaticContractReturnType } from '../../types';
import { UseSmartContractReadCallOptions } from '../useSmartContractReadCall/useSmartContractReadCall';
/**
 * A hook for calling the same method on a list of contracts.
 *
 * Example:
 *
 * const contracts = [wethContract, usdcContract];
 * const [{ data: wethSymbol }, { data: usdcSymbol }] = useSmartContractReadCalls(
 *   contracts,
 *   "symbol"
 * );
 *
 * Example with call args:
 *
 * const [
 *   { data: wethMarket },
 *   { data: usdcMarket },
 * ] = useSmartContractReadCalls(contracts, "getSpotPrice", [
 *   { callArgs: ["0xSomeToken"] },
 *   { callArgs: ["0xAnotherToken"] },
 * ]);
 */
export declare function useSmartContractReadCalls<TContract extends Contract, TMethodName extends ContractMethodName<TContract> = ContractMethodName<TContract>, TContractData extends Unpacked<StaticContractReturnType<TContract, TMethodName>> = Unpacked<StaticContractReturnType<TContract, TMethodName>>, TData = TContractData>(contracts: (TContract | undefined)[], methodName: TMethodName, options?: (UseSmartContractReadCallOptions<TContract, TMethodName, TContractData, TData> | undefined)[] | UseSmartContractReadCallOptions<TContract, TMethodName, TContractData, TData>): QueryObserverResult<TContractData>[];
//# sourceMappingURL=useSmartContractReadCalls.d.ts.map