import { ConfirmOptions, Connection, Transaction, TransactionError, TransactionSignature, VersionedTransaction } from '@solana/web3.js'; declare const DEFAULT_CONFIRM_OPTS: ConfirmOptions; export type ConfirmedTx = { txSig: TransactionSignature; slot: number; err: TransactionError | null; }; type Logger = { info: (msg: string) => void; warn: (msg: string) => void; error: (msg: string) => void; debug: (msg: string) => void; }; type ConfirmOpts = { disableWs?: boolean; }; export declare class RetryTxSender { private done; private resolveReference; private start?; private txSig?; private confirmedTx?; readonly connection: Connection; readonly additionalConnections: Connection[]; readonly logger?: Logger; readonly opts: ConfirmOptions; readonly timeout: number; readonly retrySleep: number; constructor({ connection, additionalConnections, logger, txSig, opts, timeout, retrySleep, }: { connection: Connection; additionalConnections?: Connection[]; /** pass an optional logger object (can be console, can be winston) if you want verbose logs */ logger?: Logger; /** pass an optional txSig if you want to confirm at signature without resending it. */ txSig?: string; opts?: typeof DEFAULT_CONFIRM_OPTS; timeout?: number; retrySleep?: number; }); send(tx: Transaction | VersionedTransaction): Promise; tryConfirm(lastValidBlockHeight?: number, opts?: ConfirmOpts): Promise; private _confirmTransaction; private _getTimestamp; private _stopWaiting; private _sleep; private _outdatedBlockHeightPromise; private _racePromises; private _sendToAdditionalConnections; addAdditionalConnection(newConnection: Connection): void; } export {}; //# sourceMappingURL=retry_tx_sender.d.ts.map