import { Interface } from "@ethersproject/abi"; import { BigNumber } from "@ethersproject/bignumber"; import { Contract } from "@ethersproject/contracts"; import { ListenerOptions } from "./actions"; export interface Result extends ReadonlyArray { readonly [key: string]: any; } declare type MethodArg = string | number | BigNumber; export declare type OptionalMethodInputs = Array | undefined; export declare const NEVER_RELOAD: ListenerOptions; export interface CallState { readonly valid: boolean; readonly result: Result | undefined; readonly loading: boolean; readonly syncing: boolean; readonly error: boolean; } export declare function useSingleContractMultipleData(contract: Contract | null | undefined, methodName: string, callInputs: OptionalMethodInputs[], options?: ListenerOptions, gasRequired?: number): CallState[]; export declare function useMultipleContractSingleData(addresses: (string | undefined)[], contractInterface: Interface, methodName: string, callInputs?: OptionalMethodInputs, options?: ListenerOptions, gasRequired?: number): CallState[]; export declare function useSingleCallResult(contract: Contract | null | undefined, methodName: string, inputs?: OptionalMethodInputs, options?: ListenerOptions, gasRequired?: number): CallState; export {};