///
///
import type { IncomingMessage as IncomingHttpMessage } from 'http';
import type { RawData, WebSocket } from 'ws';
import type { IncomingMessage, OutgoingMessage } from '../../messages';
import { Connection } from './Connection';
import { BinaryMessage } from '../../messages';
export declare class WebSocketConnection extends Connection {
readonly ws: WebSocket;
readonly request: IncomingHttpMessage;
constructor(ws: WebSocket, request: IncomingHttpMessage);
reply(message: OutgoingMessage): Promise;
send(message: OutgoingMessage): Promise;
getSocket(): WebSocket;
close(data?: string): Promise;
protected deserializeBinaryMessage(data: Buffer): BinaryMessage;
protected createIncomingMessageObject(msg: RawData): IncomingMessage;
protected addBinaryStream(message: IncomingMessage): void;
}