///
import { AddressLookupTableAccount, ConfirmOptions, Signer, Transaction, TransactionInstruction, TransactionSignature, VersionedTransaction } from '@solana/web3.js';
import { IWallet } from '../types';
export declare enum ConfirmationStrategy {
WebSocket = "websocket",
Polling = "polling",
Combo = "combo"
}
export type TxSigAndSlot = {
txSig: TransactionSignature;
slot: number;
};
export type ExtraConfirmationOptions = {
onSignedCb: () => void;
};
export interface TxSender {
wallet: IWallet;
send(tx: Transaction, additionalSigners?: Array, opts?: ConfirmOptions, preSigned?: boolean, extraConfirmationOptions?: ExtraConfirmationOptions): Promise;
sendVersionedTransaction(tx: VersionedTransaction, additionalSigners?: Array, opts?: ConfirmOptions, preSigned?: boolean, extraConfirmationOptions?: ExtraConfirmationOptions): Promise;
getVersionedTransaction(ixs: TransactionInstruction[], lookupTableAccounts: AddressLookupTableAccount[], additionalSigners?: Array, opts?: ConfirmOptions): Promise;
sendRawTransaction(rawTransaction: Buffer | Uint8Array, opts: ConfirmOptions): Promise;
getTimeoutCount(): number;
}