import "../_dnt.polyfills.js"; export interface RpcEgressMessage extends RpcBaseMessage { id: number; method: string; params: unknown[]; } export declare namespace RpcEgressMessage { function fmt(id: number, method: string, params: unknown[]): string; } export type RpcIngressMessage = RpcOkMessage | RpcErrorMessage | RpcNotificationMessage; export type RpcCallMessage = RpcOkMessage | RpcErrorMessage; export type RpcSubscriptionMessage = RpcNotificationMessage | RpcErrorMessage; export type RpcSubscriptionHandler = (message: RpcSubscriptionMessage) => void; export interface RpcOkMessage extends RpcBaseMessage { id: number; result: unknown; params?: never; error?: never; } export interface RpcErrorMessage extends RpcBaseMessage { id: number; error: { code: number; message: string; data: unknown; }; params?: never; result?: never; } export interface RpcNotificationMessage extends RpcBaseMessage { method: string; id?: never; params: { subscription: string; result: unknown; }; result?: never; error?: never; } interface RpcBaseMessage { jsonrpc: "2.0"; } export declare class ConnectionError extends Error { readonly name = "ConnectionError"; } export declare class ServerError extends Error { readonly name = "ServerError"; code: number; data: unknown; constructor({ error: { code, data, message } }: RpcErrorMessage); } export {};