import { BigNumber, ethers, PopulatedTransaction } from 'ethers'; import { TransactionManagerRequest } from '../transaction-inputs/transaction-manager-request'; import { AlchemyApiConfig, GasOptimizationResult, TenderlyApiConfig } from '../types'; export declare class GasLimitEstimate { private provider; private transactionRequest; private transaction; private gasEstimateIteration; private gasEstimateMultiplier; private txSimulator; private defaultGasMultiplier; constructor(provider: ethers.providers.Provider, transaction: PopulatedTransaction, transactionRequest: TransactionManagerRequest, gasMultiplier: number, tenderlyConfig: TenderlyApiConfig, alchemyConfig: AlchemyApiConfig, defaultGasMultiplier?: number); private getIncrementedValues; getOverallGasCaps(): Promise<{ gasLimitCap: BigNumber; gasLimitLow: BigNumber; higLimitValues: BigNumber[]; }>; private hasInsufficientGasError; private isExecutable; private isCloseGasLimit; private estimateGasLimit; doFloatMultiplication(gasLimit: BigNumber, gasMultiplier: number): BigNumber; applyMultiplier(gasLimit: BigNumber, defaultTransactionGasLimit: BigNumber): Promise; getEstimate(defaultTransactionGasLimit: BigNumber): Promise; }