import { EventDispatcher } from '../core/EventDispatcher'; import * as JsonRpc2 from './types'; export declare abstract class Client extends EventDispatcher implements JsonRpc2.IClient { private _responsePromiseMap; private _nextMessageId; private _consoleLog; private _requestQueue; private _connected; constructor(opts?: JsonRpc2.IClientOpts); abstract sendMessage(message: string): void; processMessage(messageStr: string | (JsonRpc2.IResponse & JsonRpc2.INotification)): void; setLogging({ logConsole }?: JsonRpc2.ILogOpts): void; call(method: string): Promise; call(method: string, params: string): never; call(method: string, params: number): never; call(method: string, params: boolean): never; call(method: string, params: null): never; call(method: string, params: Iterable): Promise; call(method: string, params: { [key: string]: any; }): Promise; notify(method: string): void; notify(method: string, params: string): never; notify(method: string, params: number): never; notify(method: string, params: boolean): never; notify(method: string, params: null): never; notify(method: string, params: Iterable): void; notify(method: string, params: { [key: string]: any; }): void; protected didConnect(): void; private _send; private _sendQueuedRequests; private _logMessage; }