import http from 'node:http'; export interface StreamEvent { type: string; data: unknown; } /** * ObservationStream — WebSocket server for real-time dashboard push. * * Attaches to an existing http.Server on path '/ws'. * Broadcasts typed events (observation:new, stats:update, etc.) to all * connected clients. Heartbeat ping/pong every 30s per RFC 6455. */ export declare class ObservationStream { private wss; private clients; private heartbeatInterval; private static readonly MAX_CLIENTS; constructor(server: http.Server); /** * Broadcast an event to all connected clients with open sockets. */ broadcast(event: StreamEvent): void; /** * Gracefully stop the WebSocket server, clear heartbeat, close all clients. */ stop(): void; /** Number of connected clients (useful for diagnostics). */ get clientCount(): number; private handleConnection; private ping; } //# sourceMappingURL=ws-server.d.ts.map