import { BytesLike } from 'ethers'; import { Logger } from 'log4js'; import { Contract } from 'web3-eth-contract'; export type MultiResult = { success: boolean; returnData: T; }; export type MultiCallParams = { target: string; callData: string; decodeFunction: (str: MultiResult | BytesLike) => T; cb?: (data: T) => void; }; export declare class MultiWrapper { private multi; private logger; readonly defaultBatchSize: number; constructor(multi: Contract, logger: Logger); aggregate(calls: MultiCallParams[], blockNumber?: number | string, batchSize?: number): Promise; tryAggregate(mandatory: boolean, calls: MultiCallParams[], blockNumber?: number | string, batchSize?: number, reportFails?: boolean): Promise[]>; }