/** * WebSocket connection status */ type WebSocketStatus = 'idle' | 'connecting' | 'open' | 'closing' | 'closed'; /** * Options for WebSocket connection management */ interface WebSocketOptions { /** Maximum number of reconnection attempts (default: 5) */ maxReconnectAttempts?: number; /** Initial delay in ms before first reconnection attempt (default: 1000) */ reconnectInitialDelay?: number; /** Exponential backoff factor for subsequent reconnect attempts (default: 2) */ reconnectBackoffFactor?: number; } /** * Return type for useWebSocketManager hook */ interface UseWebSocketManagerReturn { /** Current connection status */ connectionStatus: WebSocketStatus; /** Function to send messages over the WebSocket */ sendMessage: (message: object) => boolean; /** Most recent error during connection or message handling */ lastError: Error | null; } /** * Hook for managing a WebSocket connection with automatic reconnection * * @param getUrl Function that returns the WebSocket URL to connect to (return null to prevent connection) * @param onMessageReceived Callback function to handle received messages * @param options Connection options */ export declare const useWebSocketManager: (getUrl: () => string | null, onMessageReceived: (data: any) => void, options?: WebSocketOptions) => UseWebSocketManagerReturn; export {}; //# sourceMappingURL=useWebSocketManager.d.ts.map