import { AggregateCall, AggregateContractResponse, ContractCallArgs, MultiCallArgs as MultiCallArgs, SimpleTransactionResult, TransactionOption, SendTransaction, ChainType, ContractSendArgs, EvmTransactionRequest, TronTransactionRequest, SendOptions } from "./types"; export interface Contract { multicall(calls: AggregateCall[]): AggregateContractResponse; } export declare abstract class ContractHelperBase { protected multicallAddress: string; /** * @param multicallAddress MulticallV2 contract address */ constructor(multicallAddress: string); abstract call(contractOption: ContractCallArgs): Promise; abstract multicall(calls: MultiCallArgs[]): Promise; abstract createTransaction(from: string, args: ContractSendArgs, options?: SendOptions): Promise; abstract sendTransaction(transaction: Chain extends "evm" ? EvmTransactionRequest : TronTransactionRequest, sendTransaction: SendTransaction): Promise; abstract send(from: string, sendFn: SendTransaction, args: ContractSendArgs, options?: SendOptions): Promise; abstract fastCheckTransactionResult(txID: string, timeoutMs?: number): Promise; abstract finalCheckTransactionResult(txID: string, timeoutMs?: number): Promise; protected getEstimatedFeeRequired(options?: SendOptions): boolean; checkTransactionResult(txID: string, options?: TransactionOption): Promise; } //# sourceMappingURL=contract-helper-base.d.ts.map