import { JSONRPCMethod, JSONRPCServer, JSONRPCServerMiddleware, SimpleJSONRPCMethod } from "./server"; import { JSONRPCClient, JSONRPCRequester } from "./client"; import { ErrorListener, JSONRPCParams, JSONRPCRequest, JSONRPCResponse } from "./models"; export interface JSONRPCServerAndClientOptions { errorListener?: ErrorListener; } export declare class JSONRPCServerAndClient { server: JSONRPCServer; client: JSONRPCClient; private readonly errorListener; constructor(server: JSONRPCServer, client: JSONRPCClient, options?: JSONRPCServerAndClientOptions); applyServerMiddleware(...middlewares: JSONRPCServerMiddleware[]): void; hasMethod(name: string): boolean; addMethod(name: string, method: SimpleJSONRPCMethod): void; addMethodAdvanced(name: string, method: JSONRPCMethod): void; removeMethod(name: string): void; timeout(delay: number): JSONRPCRequester; request(method: string, params: JSONRPCParams, clientParams: ClientParams): PromiseLike; requestAdvanced(jsonRPCRequest: JSONRPCRequest, clientParams: ClientParams): PromiseLike; requestAdvanced(jsonRPCRequest: JSONRPCRequest[], clientParams: ClientParams): PromiseLike; notify(method: string, params: JSONRPCParams, clientParams: ClientParams): void; rejectAllPendingRequests(message: string): void; receiveAndSend(payload: any, serverParams: ServerParams, clientParams: ClientParams): Promise; }