import { EventEmitter } from "node:events"; import { fromSecretKey } from "@ocap/wallet"; import axon from "axon"; //#region src/client.d.ts interface ClientOptions { port?: number; hostname?: string; autoConnect?: boolean; wallet?: ReturnType; did?: string; sk?: string; } declare class Socket extends axon.SubEmitterSocket { _authenticated: boolean; _pendingMessages: [string, unknown][]; _wallet: ReturnType; send: (event: string, data: unknown) => void; constructor(opts: ClientOptions); } declare class Client extends EventEmitter { opts: ClientOptions & { wallet: ReturnType; did: string; }; _client: Socket; _wallet: ReturnType; constructor(opts?: ClientOptions); connect(): void; close(): void; broadcast(event: string, data: unknown): void; on(name: string, fn: (...args: unknown[]) => void): this; off(name: string, fn?: (...args: unknown[]) => void): this; /** * Get the wallet instance * Business can override wallet.signJWT() for remote signing * @returns {WalletObject} */ getWallet(): ReturnType; _bindEvent(): void; } //#endregion export { Client as default };