export declare namespace JsonRpc { type Requestish = Request | Request[]; type Respondish = Response | Response[]; type Bidirectional = Requestish | Respondish; const version = "2.0"; type Request

= (Query

| Notification

); type Response = (Success | Failure); type Serializable = (void | null | undefined | boolean | number | string | Serializable[] | { [key: string]: Serializable; }); type Id = number | string; type Params = Serializable[] | Record; type Notification

= { jsonrpc: string; method: string; params: P; }; type Query

= { id: Id; jsonrpc: string; method: string; params: P; }; type Error = { code: number; message: string; data?: any; }; type Success = { jsonrpc: "2.0"; id: Id; result: Result; }; type Failure = { jsonrpc: "2.0"; id: Id; error: Error; }; function getId(request: Request): Id | null; const errorCodes: { serverError: number; unexposedError: number; }; }