/** * WebSocket Manager - Manages WebSocket connections for terminals */ import { EventEmitter } from 'events'; /** * WebSocket Manager Configuration */ export interface WebSocketManagerConfig { port: number; heartbeatInterval: number; connectionTimeout: number; maxConnections: number; messageQueueSize: number; enableCompression: boolean; } /** * WebSocket Manager */ export declare class WebSocketManager extends EventEmitter { private config; private wss?; private connections; private heartbeatTimer?; private logger; constructor(config?: Partial); /** * Start WebSocket server */ start(): void; /** * Stop WebSocket server */ stop(): void; /** * Handle new connection */ private handleConnection; /** * Handle message from terminal */ private handleMessage; /** * Handle pong response */ private handlePong; /** * Handle terminal disconnect */ private handleDisconnect; /** * Send message to terminal */ sendToTerminal(terminalId: string, message: any): boolean; /** * Broadcast message to all terminals */ broadcast(message: any, exclude?: string[]): void; /** * Start heartbeat monitoring */ private startHeartbeat; /** * Stop heartbeat monitoring */ private stopHeartbeat; /** * Extract terminal ID from request */ private extractTerminalId; /** * Get connection status for terminal */ getConnectionStatus(terminalId: string): any; /** * Get all connected terminals */ getConnectedTerminals(): string[]; /** * Get connection count */ getConnectionCount(): number; /** * Check if terminal is connected */ isConnected(terminalId: string): boolean; } //# sourceMappingURL=websocket-manager.d.ts.map