import { GeneralCall, GetEvmClientFunction } from '../types';
import { PreparedCall } from './rpcCall';
export type Call = GeneralCall;
/** Same as Multicall viem except that the abi param is supposed to be the abi per call */
export declare const multicallViemAbiArray: (chainId: string, abi: any[], calls: Call[], getEvmClient: GetEvmClientFunction, retry?: boolean, providerId?: number, retries?: number, allowFailure?: boolean, batchSize?: number, logs?: boolean) => Promise<any[]>;
export interface MulticallConfig {
    chainId: string;
    allowFailure: boolean;
    batchSize: number;
    retries: number;
    providerId: number;
    logs: boolean;
}
export declare function prepareMulticallInputs(abi: any[], calls: Call[]): PreparedCall[];
export declare const executeMulticallViem: (preparedCalls: PreparedCall[], config: MulticallConfig, getEvmClient: GetEvmClientFunction) => Promise<any[]>;
//# sourceMappingURL=multicall.d.ts.map