export interface IRpcClient { call(method: string, params?: TRequest): Promise; subscribe(method: string, params?: unknown): AsyncIterable; connect(): Promise; disconnect(): Promise; isConnected(): boolean; readonly endpoint: string; } export interface JsonRpcRequest { jsonrpc: string; id: string; method: string; params: any; } export interface JsonRpcResponse { jsonrpc: string; id: string; result?: any; error?: { code: number; message: string; data?: any; }; } export declare function createJsonRpcRequest(method: string, params?: unknown, id?: string): JsonRpcRequest; export interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; }