import { Logger } from 'pino'; import { Annotated, ProtocolType } from '@hyperlane-xyz/utils'; import { ProtocolTypedReceipt, ProtocolTypedTransaction } from '../../../ProviderType.js'; import { TxSubmitterInterface } from '../TxSubmitterInterface.js'; import { TxSubmitterType } from '../TxSubmitterTypes.js'; /** * Builds a TxSubmitterBuilder for batch transaction submission. * * Example use-cases: * const eV5builder = new TxSubmitterBuilder(); * let txReceipts = eV5builder.for( * new EV5GnosisSafeTxSubmitter(chainA) * ).submit( * txs * ); * txReceipts = eV5builder.for( * new EV5ImpersonatedAccountTxSubmitter(chainA) * ).submit(txs); * txReceipts = eV5builder.for( * new EV5JsonRpcTxSubmitter(chainC) * ).submit(txs); */ export declare class TxSubmitterBuilder implements TxSubmitterInterface { private currentSubmitter; readonly txSubmitterType: TxSubmitterType; protected readonly logger: Logger; constructor(currentSubmitter: TxSubmitterInterface); /** * Sets the current submitter for the builder. * @param txSubmitterOrType The submitter to add to the builder */ for(txSubmitter: TxSubmitterInterface): TxSubmitterBuilder; /** * Submits a set of transactions to the builder. * @param txs The transactions to submit */ submit(...txs: Annotated['transaction']>[]): Promise['receipt'] | ProtocolTypedReceipt['receipt'][] | void>; } //# sourceMappingURL=TxSubmitterBuilder.d.ts.map