import { Mutex } from 'async-mutex'; import { PrefixedHexString, Transaction, TransactionOptions } from 'ethereumjs-tx'; import { Address, IntString } from '../common/types/Aliases'; import ContractInteractor from '../common/ContractInteractor'; import { TxStoreManager } from './TxStoreManager'; import { KeyManager } from './KeyManager'; import { ServerConfigParams, ServerDependencies } from './ServerConfigParams'; import { ServerAction, StoredTransaction } from './StoredTransaction'; import { LoggerInterface } from '../common/LoggerInterface'; import { GasPriceFetcher } from '../relayclient/GasPriceFetcher'; export interface SignedTransactionDetails { transactionHash: PrefixedHexString; signedTx: PrefixedHexString; } export interface SendTransactionDetails { signer: Address; serverAction: ServerAction; method?: any; destination: Address; value?: IntString; gasLimit: number; gasPrice?: IntString; creationBlockNumber: number; } export declare class TransactionManager { nonceMutex: Mutex; managerKeyManager: KeyManager; workersKeyManager: KeyManager; contractInteractor: ContractInteractor; nonces: Record
; txStoreManager: TxStoreManager; config: ServerConfigParams; logger: LoggerInterface; gasPriceFetcher: GasPriceFetcher; rawTxOptions: TransactionOptions; constructor(dependencies: ServerDependencies, config: ServerConfigParams); _initNonces(): void; _init(): Promise