import { AddressLookupTableAccount, Connection, Keypair, PublicKey, TransactionInstruction, TransactionSignature, VersionedTransaction } from "@solana/web3.js";
export interface VersionedTxs {
    blockhash: string;
    lastValidBlockHeight: number;
    versionedTxs: VersionedTransaction[];
    batches: number[];
}
export declare function delay(ms: number): Promise<void>;
export declare function getAddressLookupTableAccounts(connection: Connection, keys: PublicKey[]): Promise<AddressLookupTableAccount[]>;
export declare function getMultipleAddressLookupTableAccounts(connection: Connection, keys: PublicKey[][]): Promise<AddressLookupTableAccount[][]>;
export declare function wrapV0Transaction(blockhash: string, addressLookupTableAccounts: AddressLookupTableAccount[], payerPubkey: PublicKey, priorityFee: number, ixs: TransactionInstruction[]): VersionedTransaction;
export declare function sendV0Transaction(connection: Connection, tx: VersionedTransaction, blockhash: string, lastValidBlockHeight: number, simulateTransactions: boolean): Promise<TransactionSignature>;
export declare function prepareV0Transactions(params: {
    connection: Connection;
    payer: PublicKey;
    priorityFee: number;
    multipleIxs: TransactionInstruction[][];
    multipleLookupTableAddresses: PublicKey[][];
    signers: Keypair[][];
    batches: number[];
}): Promise<VersionedTxs>;
export declare function sendV0Transactions(connection: Connection, txParams: VersionedTxs, simulateTransactions: boolean): Promise<TransactionSignature[]>;
