import { PopulatedTransaction, Wallet } from 'ethers'; import { TransactionQueuedEvent } from './events'; import { TransactionManagerRequest } from './transaction-inputs/transaction-manager-request'; import { TransactionManagerResponse } from './transaction-inputs/transaction-manager-response'; import { AlchemyApiConfig, TenderlyApiConfig } from './types'; export declare class TransactionManager { private nonce; private provider; private maxLiveTransactions; private maxRetries; private transactionQueueHandler; private txTimeoutInSeconds; private intervalBetweenTransactions; private wallet; private gasMultiplier; private alchemyConfig; constructor(wallet: Wallet, maxLiveTransactions: number, maxRetries: number, txTimeoutInSeconds: number, tenderlyApiConfig: TenderlyApiConfig, alchemyConfig: AlchemyApiConfig, gasMultiplier?: number); initialize(chainId: number): Promise; createTransactionId(transactionRequest: PopulatedTransaction): string; onTransactionQueued(event: TransactionQueuedEvent): Promise; onTransactionExecuted(): Promise; queueTransaction(wrappedTransaction: TransactionManagerRequest, priority: number): Promise; /** * Processes the transaction by adding it to the live queue * or the pending queue depending on the number of live transactions * currently being processed. * * @param transactionQueueItem the transaction queue item to process * @returns the transaction queue item's transaction manager response */ private processTransaction; private triggerTransactionTimeoutEvent; private delay; private processLiveQueue; /** * Process the queue */ private processPendingQueue; }