import { IWallet, Contract as _Contract, TransactionReceipt, BigNumber, TransactionOptions } from "@ijstech/eth-contract"; export interface IMulticallWithGasLimitationParams { calls: { to: string; data: string; }[]; gasBuffer: number | BigNumber; } export declare class MultiCall extends _Contract { static _abi: any; constructor(wallet: IWallet, address?: string); deploy(options?: TransactionOptions): Promise; gasLeft: { (options?: TransactionOptions): Promise; }; gaslimit: { (options?: TransactionOptions): Promise; }; multicall: { (calls: { to: string; data: string; }[], options?: TransactionOptions): Promise; call: (calls: { to: string; data: string; }[], options?: TransactionOptions) => Promise; txData: (calls: { to: string; data: string; }[], options?: TransactionOptions) => Promise; }; multicallWithGas: { (calls: { to: string; data: string; }[], options?: TransactionOptions): Promise; call: (calls: { to: string; data: string; }[], options?: TransactionOptions) => Promise<{ results: string[]; gasUsed: BigNumber[]; }>; txData: (calls: { to: string; data: string; }[], options?: TransactionOptions) => Promise; }; multicallWithGasLimitation: { (params: IMulticallWithGasLimitationParams, options?: TransactionOptions): Promise; call: (params: IMulticallWithGasLimitationParams, options?: TransactionOptions) => Promise<{ results: string[]; lastSuccessIndex: BigNumber; }>; txData: (params: IMulticallWithGasLimitationParams, options?: TransactionOptions) => Promise; }; private assign; }