/** * Connection Manager - Handles WebSocket connection lifecycle */ import { ConnectionState } from '../types'; export interface ConnectionManagerConfig { streamUrl: string; autoReconnect: boolean; reconnectDelay: number; maxReconnectAttempts: number; debug: boolean; } export interface ConnectionManagerEvents { connected: () => void; disconnected: (code: number, reason: string) => void; reconnecting: (attempt: number) => void; error: (error: Error) => void; message: (data: string | ArrayBuffer) => void; stateChange: (state: ConnectionState) => void; } /** * Manages WebSocket connections with automatic reconnection */ export declare class ConnectionManager { private ws; private state; private reconnectAttempts; private reconnectTimer; private reconnectionLock; private readonly config; private readonly eventHandlers; constructor(config: ConnectionManagerConfig); /** * Register event handler */ on(event: K, handler: ConnectionManagerEvents[K]): void; /** * Emit event */ private emit; /** * Connect to WebSocket */ connect(): Promise; /** * Disconnect WebSocket */ disconnect(): void; /** * Send message through WebSocket */ send(data: string | ArrayBuffer): void; /** * Get current connection state */ getState(): ConnectionState; /** * Check if connected */ isConnected(): boolean; /** * Create WebSocket connection */ private createWebSocketConnection; /** * Handle disconnection */ private handleDisconnection; /** * Attempt reconnection with backoff */ private attemptReconnect; /** * Calculate adaptive reconnect delay */ private calculateReconnectDelay; /** * Clear reconnect timer */ private clearReconnectTimer; /** * Set connection state and emit event */ private setState; } //# sourceMappingURL=ConnectionManager.d.ts.map