import type { TunnelServer, TunnelRequestMapper, TunnelRequestFilter } from '../TunnelServer'; import type { Server as HttpServer, IncomingMessage } from 'http'; import type { Socket } from 'net'; import type { TunnelRequest } from '../ServerTunnelRequest'; import type { Observable } from 'rxjs'; export interface ServerOptions { autoUpgrade?: boolean; } export declare class WebSocketServer implements TunnelServer { requestMapper: TunnelRequestMapper; acceptTunnel: TunnelRequestFilter; get tunnelAccepted(): Observable; get tunnelDropped(): Observable; get closed(): boolean; private _http; private _server; private _connection; private _options; private _tunnelAccepted; private _tunnelDropped; private _sub; private _map; constructor(server: HttpServer, options?: ServerOptions); listen(): void; upgradeRequest(request: IncomingMessage, socket: Socket, head: Buffer): void; private _serverError; private _handle; private _connectUpgrade; private _reverseUpgrade; private _forwardUpgrade; unsubscribe(): void; } //# sourceMappingURL=WebSocketServer.d.ts.map