import { EventEmitter } from 'events'; import type { pino } from 'pino'; import type { SessionStore } from '../../store/session-store.interface.js'; import type { WSMessage } from '../../types/websocket.js'; import { HealthMonitor } from './health-monitor.js'; import { SessionManager } from './session-manager.js'; import { ErrorHandler } from './error-handler.js'; import type { WSServerOptions, WSServerStats, MessageFilter } from './types.js'; export declare class WSServer extends EventEmitter { private wss; private logger; private components; private dependencies; private isShuttingDown; constructor(logger: pino.Logger, sessionStore: SessionStore, options: WSServerOptions); broadcast(message: WSMessage, filter?: MessageFilter): void; sendToUser(userId: string, message: WSMessage): void; sendToSession(sessionId: string, message: WSMessage): void; broadcastToTopic(topic: string, data: unknown, filter?: MessageFilter): Promise; getStats(): WSServerStats; getHealthStatus(): ReturnType; getErrorStats(): ReturnType; getSessionStats(): ReturnType; useMiddleware(name: string, middleware: (context: unknown, next: () => Promise) => Promise): void; shutdown(): Promise; private setupServerEventHandlers; private sendMessage; private startBackgroundServices; } //# sourceMappingURL=ws-server.d.ts.map