import { AccountInfo, Transaction } from '@solana/web3.js'; import { AddressLookupTableAccount, Connection, Keypair, PublicKey, TransactionInstruction, VersionedTransaction } from '@solana/web3.js'; type TransactionSignature = string; export interface Wallet { signTransaction(tx: T): Promise; signAllTransactions(txs: T[]): Promise; publicKey: PublicKey; /** Keypair of the configured payer (Node only) */ payer?: Keypair; } export declare function wrapWsolIxs(connection: Connection, wallet: PublicKey, amount: number): Promise; export interface TxData { payer: PublicKey; instructions: TransactionInstruction[]; lookupTables: PublicKey[]; } export interface TxBatchData { batches: TxData[][]; } export interface VersionedTxs { blockhash: string; lastValidBlockHeight: number; batches: VersionedTransaction[][]; } export interface TxPayloadIxAccountMeta { pubkey: string; is_signer: boolean; is_writable: boolean; } export interface TxPayloadIx { program_id: string; accounts: TxPayloadIxAccountMeta[]; data: string; } export interface TxPayload { tx_b64: string; message_version: "0" | "legacy"; recent_blockhash: string; payer: string; lookup_tables: string[]; instructions: TxPayloadIx[]; } export interface TxPayloadBatch { transactions: TxPayload[]; } export interface TxPayloadBatchSequence { batches: TxPayloadBatch[]; } export interface BasketCreationTx extends TxPayloadBatchSequence { mint: string; basket: string; } export declare function prepareTxPayloadBatchSequence(txBatchData: TxBatchData, versionedTxs?: VersionedTxs): TxPayloadBatchSequence; export declare function delay(ms: number): Promise; export declare function getMultipleAccountsInfoBatched(connection: Connection, pubkeys: PublicKey[]): Promise | null>>; export declare function getAddressLookupTableAccounts(connection: Connection, keys: PublicKey[]): Promise>; export declare function getMultipleAddressLookupTableAccounts(connection: Connection, batches: PublicKey[][][]): Promise; export declare function compileVersionedTransaction(blockhash: string, addressLookupTableAccounts: AddressLookupTableAccount[], payerPubkey: PublicKey, ixs: TransactionInstruction[]): VersionedTransaction; export declare function sendVersionedTransaction(connection: Connection, tx: VersionedTransaction, blockhash: string, lastValidBlockHeight: number, simulateTransactions: boolean): Promise; export declare function prepareVersionedTxs(connection: Connection, txBatchData: TxBatchData): Promise; export declare function sendVersionedTxs(connection: Connection, versionedTxs: VersionedTxs, simulateTransactions?: boolean): Promise; export declare function signVersionedTxs(wallet: Wallet, versionedTxs: VersionedTxs): Promise; export declare function signTxPayloadBatchSequence(wallet: Wallet, txPayloadBatchSequence: TxPayloadBatchSequence): Promise; export declare function sendTxPayloadBatchSequence(connection: Connection, txPayloadBatchSequence: TxPayloadBatchSequence, simulateTransactions?: boolean): Promise; export {};