///
///
import { ConfirmationStrategy, TxSigAndSlot } from './types';
import { ConfirmOptions, Connection, Signer, Transaction, VersionedTransaction } from '@solana/web3.js';
import { BaseTxSender } from './baseTxSender';
import { TxHandler } from './txHandler';
import { IWallet } from '../types';
type ResolveReference = {
resolve?: () => void;
};
export declare class WhileValidTxSender extends BaseTxSender {
connection: Connection;
wallet: IWallet;
opts: ConfirmOptions;
timeout: number;
retrySleep: number;
additionalConnections: Connection[];
timoutCount: number;
untilValid: Map;
useBlockHeightOffset: boolean;
private checkAndSetUseBlockHeightOffset;
constructor({ connection, wallet, opts, retrySleep, additionalConnections, confirmationStrategy, additionalTxSenderCallbacks, txHandler, trackTxLandRate, txLandRateLookbackWindowMinutes, landRateToFeeFunc, throwOnTimeoutError, }: {
connection: Connection;
wallet: IWallet;
opts?: ConfirmOptions;
retrySleep?: number;
additionalConnections?: any;
additionalTxSenderCallbacks?: ((base58EncodedTx: string) => void)[];
confirmationStrategy?: ConfirmationStrategy;
txHandler?: TxHandler;
trackTxLandRate?: boolean;
txLandRateLookbackWindowMinutes?: number;
landRateToFeeFunc?: (landRate: number) => number;
throwOnTimeoutError?: boolean;
});
sleep(reference: ResolveReference): Promise;
prepareTx(tx: Transaction, additionalSigners: Array, opts: ConfirmOptions, preSigned?: boolean): Promise;
sendVersionedTransaction(tx: VersionedTransaction, additionalSigners?: Array, opts?: ConfirmOptions, preSigned?: boolean): Promise;
sendRawTransaction(rawTransaction: Buffer | Uint8Array, opts: ConfirmOptions): Promise;
}
export {};