export declare abstract class RpcWire { logger: { error: (message?: any, ...optionalParams: any[]) => void; warn: (message?: any, ...optionalParams: any[]) => void; }; rpcRunInContext(task: () => T): T; private rpcSeq; private rpcDefers; protected rpcHandleMessage(message: any): Promise; rpcRunMethod(_name: string, _args: any[]): Promise; private rpcHandleRequest; protected rpcFormatError(_error: any): IRpcError; /** * @param code https://github.com/Luka967/websocket-close-codes */ protected rpcPanic(message: string, code?: number): void; protected abstract rpcSocketClose(message?: string, code?: number): void; protected abstract rpcSocketSend(data: any): Promise; rpcCall(fn: Name, args: Arguments): Promise; rpcIsRequest(obj: any): obj is RpcRequest; rpcIsResponse(obj: any): obj is RpcResponse; } export interface IRpcError { code: string; message: string; } export declare class RpcError extends Error implements IRpcError { code: string; constructor(data: IRpcError); } declare type RpcRequest = { fn: Name; args: Arguments; seq: number; }; declare type RpcSuccessResponse = { seq: number; error: null; result: T; }; declare type RpcErrorResponse = { seq: number; error: IRpcError; }; declare type RpcResponse = RpcSuccessResponse | RpcErrorResponse; export {}; //# sourceMappingURL=RpcWire.d.ts.map