import type { SolflareConfig } from "@solflare-wallet/sdk/src/types" import type { Transaction, PublicKey } from "@solana/web3.js" type DisplayEncoding = "utf8" | "hex" type PhantomEvent = "disconnect" | "connect" | "accountChanged" export interface ConnectOpts extends SolflareConfig { } export interface SolflareProvider { publicKey: PublicKey | null isConnected: boolean connected: boolean autoApprove: boolean connect(): Promise disconnect(): Promise signTransaction(transaction: Transaction): Promise signAllTransactions(transactions: Transaction[]): Promise signMessage(data: Uint8Array | string, display?: DisplayEncoding): Promise sign(data: Uint8Array, display?: DisplayEncoding): Promise on: (event: PhantomEvent, handler: (args: any) => void) => void removeListener: (event: PhantomEvent, handler: (args: any) => void) => void }