///
import EventEmitter from "eventemitter3";
import ISocket from "../../stream/isocket";
export declare class WebSocketServer {
}
type WebSocketEvent = {
open: () => void;
close: () => void;
error: (ev: Error) => void;
message: (ev: any) => 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: number;
static CLOSED: number;
static CLOSING: number;
static CONNECTING: number;
private webSocket;
private socket;
private _closed;
get readyState(): number;
get bufferedAmount(): number;
constructor(url: string, socket?: ISocket | 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;
}
export default WebSocket;