///
import { ConfirmationStrategy, ExtraConfirmationOptions, TxSender, TxSigAndSlot } from './types';
import { Commitment, ConfirmOptions, RpcResponseAndContext, Signer, SignatureResult, Transaction, TransactionSignature, Connection, VersionedTransaction, TransactionInstruction, AddressLookupTableAccount } from '@solana/web3.js';
import { IWallet } from '../types';
export declare abstract class BaseTxSender implements TxSender {
connection: Connection;
wallet: IWallet;
opts: ConfirmOptions;
timeout: number;
additionalConnections: Connection[];
timeoutCount: number;
confirmationStrategy: ConfirmationStrategy;
additionalTxSenderCallbacks: ((base58EncodedTx: string) => void)[];
constructor({ connection, wallet, opts, timeout, additionalConnections, confirmationStrategy, additionalTxSenderCallbacks, }: {
connection: Connection;
wallet: IWallet;
opts?: ConfirmOptions;
timeout?: number;
additionalConnections?: any;
confirmationStrategy?: ConfirmationStrategy;
additionalTxSenderCallbacks?: ((base58EncodedTx: string) => void)[];
});
send(tx: Transaction, additionalSigners?: Array, opts?: ConfirmOptions, preSigned?: boolean, extraConfirmationOptions?: ExtraConfirmationOptions): Promise;
prepareTx(tx: Transaction, additionalSigners: Array, opts: ConfirmOptions): Promise;
getVersionedTransaction(ixs: TransactionInstruction[], lookupTableAccounts: AddressLookupTableAccount[], additionalSigners?: Array, opts?: ConfirmOptions): Promise;
sendVersionedTransaction(tx: VersionedTransaction, additionalSigners?: Array, opts?: ConfirmOptions, preSigned?: boolean, extraConfirmationOptions?: ExtraConfirmationOptions): Promise;
sendRawTransaction(rawTransaction: Buffer | Uint8Array, opts: ConfirmOptions): Promise;
confirmTransactionWebSocket(signature: TransactionSignature, commitment?: Commitment): Promise>;
confirmTransactionPolling(signature: TransactionSignature, commitment?: Commitment): Promise | undefined>;
confirmTransaction(signature: TransactionSignature, commitment?: Commitment): Promise>;
getTimestamp(): number;
promiseTimeout(promises: Promise[], timeoutMs: number): Promise;
sendToAdditionalConnections(rawTx: Buffer | Uint8Array, opts: ConfirmOptions): void;
addAdditionalConnection(newConnection: Connection): void;
getTimeoutCount(): number;
}