import type { Transaction, PublicKey } from "@solana/web3.js"; declare type DisplayEncoding = "utf8" | "hex"; declare type PhantomEvent = "disconnect" | "connect" | "accountChanged"; declare type PhantomRequestMethod = "connect" | "disconnect" | "signTransaction" | "signAllTransactions" | "signMessage"; export interface ConnectOpts { onlyIfTrusted: boolean; } export interface PhantomProvider { publicKey: PublicKey | null; isConnected: boolean | null; signTransaction: (transaction: Transaction) => Promise; signAllTransactions: (transactions: Transaction[]) => Promise; signMessage: (message: Uint8Array | string, display?: DisplayEncoding) => Promise; connect: (opts?: Partial) => Promise<{ publicKey: PublicKey; }>; disconnect: () => Promise; on: (event: PhantomEvent, handler: (args: any) => void) => void; removeListener: (event: PhantomEvent, handler: (args: any) => void) => void; request: (method: PhantomRequestMethod, params: any) => Promise; } export {};