///
import { EventDispatcher } from '../core/EventDispatcher';
import * as JsonRpc2 from './types';
export declare abstract class Client extends EventDispatcher implements JsonRpc2.IClient {
sendEncoding: 'JSON' | 'msgpack';
private _responsePromiseMap;
private _nextMessageId;
private _consoleLog;
private _requestQueue;
private _connected;
constructor(opts?: JsonRpc2.IClientOpts);
abstract sendMessage(message: string | Buffer): void;
processMessage(messageStr: string | (JsonRpc2.IResponse & JsonRpc2.INotification) | Buffer | Uint8Array | number[]): 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(message);
private _sendQueuedRequests();
private _logMessage(message, direction);
}