import type { EventEmitter, SendTransactionOptions, WalletName } from '@solana/wallet-adapter-base'; import { BaseMessageSignerWalletAdapter, WalletReadyState } from '@solana/wallet-adapter-base'; import type { Connection, SendOptions, Transaction, TransactionSignature, TransactionVersion, VersionedTransaction } from '@solana/web3.js'; import { PublicKey } from '@solana/web3.js'; import type { TronLinkWallet } from '@tronweb3/tronwallet-adapter-tronlink'; interface OkxWalletEvents { connect(...args: unknown[]): unknown; disconnect(...args: unknown[]): unknown; accountChanged(newPublicKey: PublicKey): unknown; } interface OkxWallet extends EventEmitter { isOkxWallet?: boolean; publicKey?: { toBytes(): Uint8Array; }; isConnected: boolean; signTransaction(transaction: T): Promise; signAllTransactions(transactions: T[]): Promise; signAndSendTransaction(transaction: T, options?: SendOptions): Promise<{ signature: TransactionSignature; }>; signMessage(message: Uint8Array): Promise<{ signature: Uint8Array; }>; connect(): Promise; disconnect(): Promise; } export interface OkxWindow extends Window { okxwallet?: { solana?: OkxWallet; chainId: string; tronLink: TronLinkWallet; }; solana?: OkxWallet & { isOkExWallet?: boolean; }; } export interface OkxWalletAdapterConfig { } export declare const OkxWalletName: WalletName<"OKX Wallet">; export declare class OkxWalletAdapter extends BaseMessageSignerWalletAdapter { name: WalletName<"OKX Wallet">; url: string; icon: string; supportedTransactionVersions: ReadonlySet; private _connecting; private _wallet; private _publicKey; private _readyState; constructor(config?: OkxWalletAdapterConfig); get publicKey(): PublicKey | null; get connecting(): boolean; get readyState(): WalletReadyState; autoConnect(): Promise; connect(): Promise; disconnect(): Promise; sendTransaction(transaction: T, connection: Connection, options?: SendTransactionOptions): Promise; signTransaction(transaction: T): Promise; signAllTransactions(transactions: T[]): Promise; signMessage(message: Uint8Array): Promise; private _disconnected; private _accountChanged; } export {};