import { PublicKey } from '@solana/web3.js'; export {}; declare global { interface EthereumProvider { isMetaMask?: boolean; isConnected(): boolean; request(args: { method: string; params?: any[] }): Promise; on(event: string, listener: (...args: any[]) => void): void; removeListener(event: string, listener: (...args: any[]) => void): void; } interface SolanaProvider { isPhantom?: boolean; connect(): Promise<{ publicKey: { toString(): string } }>; disconnect(): Promise; signTransaction(transaction: any): Promise; signAllTransactions(transactions: any[]): Promise; signMessage(message: Uint8Array): Promise; on(event: string, listener: (...args: any[]) => void): void; removeListener(event: string, listener: (...args: any[]) => void): void; publicKey: PublicKey; } interface Window { ethereum?: EthereumProvider; solana?: SolanaProvider; } }