import { BigNumber, PopulatedTransaction } from 'ethers'; import { TransactionManagerResponse } from '../transaction-inputs/transaction-manager-response'; import { TransactionReceipt, TransactionResponse } from '@ethersproject/abstract-provider'; export interface TransactionManagerQueueItem { transaction: PopulatedTransaction; priority: number; retries: number; transactionManagerResponse: TransactionManagerResponse; id: string; } export declare type ContractMethodLastGasParams = { gasUsed?: BigNumber; lastGasLimit?: BigNumber; usePercent?: number; gasMultiplier?: number; simulatedGasLimit?: BigNumber; }; export declare type TransactionMetadata = { trackingId: string; failedEventName?: string; }; export declare type TransactionManagerState = 'queued' | 'confirmed' | 'started' | 'failed' | 'retried' | 'maxRetriesReached' | 'executed' | 'gasError' | 'completed'; export declare type TransactionState = 'None' | 'PendingSignature' | 'Mining' | 'Success' | 'Fail' | 'Exception' | 'CollectingSignaturePool'; export interface TransactionError { errorMessage?: string; errorCodeNested?: number | undefined; errorCodeTopLevel?: string; errorHash?: any; gasErrorCode?: string; error?: any; } export interface TransactionManagerTxResponse { transactionResponse: TransactionResponse | undefined; transactionErrors: TransactionError; transaction: PopulatedTransaction; retryCount: number; status: string; transactionReceipt: TransactionReceipt | undefined; simulatedGasLimit: BigNumber | undefined; gasMultiplier?: number | undefined; } export declare type GasOptimizationResult = { gasLimit: BigNumber; simulatedGasLimit: BigNumber; }; export declare type TenderlyApiConfig = { userName: string; projectName: string; accessKey: string; }; export declare type AlchemyApiConfig = { [key: string]: string; };