import { BigNumber, PopulatedTransaction } from 'ethers'; import { TransactionManagerRequest } from '../transaction-inputs/transaction-manager-request'; import { ContractMethodLastGasParams, GasOptimizationResult } from '../types'; export declare class GasTracker { private contractMethodGasUsedTracker; private gasMultiplier; constructor(gasMultiplier: number); private getKey; private getKeyFromParams; private getGasParams; private updateGasParams; updateTimeoutGasMultiplier(transactionRequest: TransactionManagerRequest, transaction: PopulatedTransaction): void; handleMaxRetryReached(transactionRequest: TransactionManagerRequest, transaction: PopulatedTransaction): void; updateContractMethodGasUsed(contractAddress?: string, methodName?: string, gasUsed?: BigNumber, gasLimit?: BigNumber, trackingId?: string, isTransactionFailed?: boolean): void; getGasDetailsFromTracker(contractAddress?: string, methodName?: string, trackingId?: string): ContractMethodLastGasParams | undefined; getGasLimitFromTracker(contractAddress?: string, methodName?: string, trackingId?: string): BigNumber | undefined; updateOptimizedGasParamsOnTracer(transaction: PopulatedTransaction, transactionRequest: TransactionManagerRequest, optimizationResult: GasOptimizationResult): void; getTransactionGasMultiplier(transactionRequest: TransactionManagerRequest, transaction: PopulatedTransaction): number; }