/// /// import { WebSocket as WebSocketOrigin, WebSocketServer, Event, ErrorEvent, CloseEvent, MessageEvent, RawData, EventListenerOptions } from "ws"; import EventEmitter from "eventemitter3"; import ISocket from "../../stream/isocket"; import net from "net"; export { WebSocketOrigin, WebSocketServer }; type WebSocketEvent = { open: () => void; close: () => void; error: (ev: Error) => void; message: (ev: RawData) => void; }; type WebSocketEventOrigin = { open: (ev: Event) => void; close: (ev: CloseEvent) => void; error: (ev: ErrorEvent) => void; message: (ev: MessageEvent) => void; }; export declare class WebSocket extends EventEmitter { readonly url: string; static OPEN: 1; static CLOSED: 3; static CLOSING: 2; static CONNECTING: 0; private webSocket; private socket; private _closed; get readyState(): 0 | 1 | 2 | 3; get bufferedAmount(): number; constructor(url: string, socket?: ISocket | net.Socket | null); private initWebSocketEvent; private initSocketEvent; set onmessage(handle: ((ev: MessageEvent) => void) | null); set onclose(handle: ((ev: CloseEvent) => void) | null); set onerror(handle: ((ev: ErrorEvent) => void) | null); set onopen(handle: ((ev: Event) => void) | null); send(data: string | Buffer): void; isPaused(): boolean; close(): void; addEventListener>(event: T, fn: EventEmitter.EventListener, context?: EventListenerOptions): this; }