///
import { TxSigAndSlot } from './types';
import { Commitment, 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;
blockhashCommitment: Commitment;
useBlockHeightOffset: boolean;
private checkAndSetUseBlockHeightOffset;
constructor({ connection, wallet, opts, retrySleep, additionalConnections, additionalTxSenderCallbacks, blockhashCommitment, txHandler, trackTxLandRate, txLandRateLookbackWindowMinutes, landRateToFeeFunc, }: {
connection: Connection;
wallet: IWallet;
opts?: ConfirmOptions;
retrySleep?: number;
additionalConnections?: any;
additionalTxSenderCallbacks?: ((base58EncodedTx: string) => void)[];
blockhashCommitment?: Commitment;
txHandler?: TxHandler;
trackTxLandRate?: boolean;
txLandRateLookbackWindowMinutes?: number;
landRateToFeeFunc?: (landRate: number) => number;
});
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 {};