import { Keypair, PublicKey, Transaction, VersionedTransaction, SendOptions, TransactionSignature, Connection } from '@solana/web3.js'; /** * Base interface for wallet implementations * Defines the standard interface for interacting with a wallet */ export interface Wallet { /** * The public key of the connected wallet */ readonly publicKey: PublicKey; /** * The Solana connection instance */ readonly connection: Connection; /** * Signs a single transaction */ signTransaction(transaction: T): Promise; /** * Signs multiple transactions in batch */ signAllTransactions(transactions: T[]): Promise; /** * Signs and sends a transaction to the network */ signAndSendTransaction(transaction: T, options?: SendOptions): Promise<{ signature: TransactionSignature; }>; /** * Signs a message */ signMessage(message: Uint8Array): Promise; } /** * Implementation of Wallet interface using a Keypair * This class handles the actual signing operations while keeping the private key secure */ export declare class KeypairWallet implements Wallet { readonly publicKey: PublicKey; readonly connection: Connection; private readonly payer; constructor(keypair: Keypair, connection: Connection); signTransaction(transaction: T): Promise; signAllTransactions(transactions: T[]): Promise; signAndSendTransaction(transaction: T, options?: SendOptions): Promise<{ signature: TransactionSignature; }>; signMessage(message: Uint8Array): Promise; } /** * Factory function to create a wallet instance * This provides a clean way to initialize a wallet without exposing implementation details */ export declare function createWallet(privateKey: string, connection: Connection): Wallet;