///
import WebSocket from "ws";
import { Client, IClientData, EventListener, IMessagePack } from "../../internal";
export interface IWebSocketClientData extends IClientData {
ref: WebSocket;
messagePack: IMessagePack;
requestTimeout?: number;
}
interface IResponse {
resolve: any;
reject: any;
timer: NodeJS.Timer;
}
export declare class WebSocketClient extends Client {
ws: WebSocket;
messagePack: IMessagePack;
pingCount: number;
listners: {
[type: number]: EventListener[];
};
requestTimeout: number;
lastResponseId: number;
responses: {
[id: number]: IResponse;
};
constructor(clientData: IWebSocketClientData);
request(type: string, data: any): Promise;
on(event: number, listner: EventListener): void;
emit(event: number, ...args: any[]): void;
terminate(code: number, reason: string): void;
}
export {};