import { Connection, Transaction, TransactionSignature, VersionedTransaction } from '@solana/web3.js'; export interface SolanaWeb3 { publicKey?: { toBytes(): Uint8Array; }; isConnected: boolean; signTransaction(transaction: Transaction): Promise; signAllTransactions(transactions: Transaction[]): Promise; signMessage(message: Uint8Array, encoding: string): Promise<{ signature: Uint8Array; }>; sendTransaction(transaction: Transaction, connection?: Connection, options?: {}): Promise; request(args: { method: string; params: { message: string; }; }): Promise; connect(): Promise; disconnect(): Promise; signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{ signature: string; }>; on: (event: string, callback: () => void) => unknown; off: (event: string, callback: () => void) => unknown; }