import { IrisAPI } from '@/services/core/IrisAPI'; import { IrisRequest } from '@/types/models/base'; import { Logger } from '@/utils/logger'; export interface ConnectionManagerOptions { maxReconnectAttempts?: number; initialReconnectDelay?: number; } export declare class ConnectionManager { private ws?; private reconnectAttempts; private reconnectDelay; private logger; private irisWsEndpoint; private api; private botId?; private maxReconnectAttempts; private onMessageCallback?; constructor(irisUrl: string, api: IrisAPI, logger: Logger, options?: ConnectionManagerOptions); /** * Set the callback for processing incoming messages */ setMessageHandler(callback: (data: IrisRequest) => Promise): void; /** * Get bot ID */ getBotId(): string | undefined; /** * Connect to WebSocket and handle reconnection */ connectWithRetry(): Promise; /** * Connect to WebSocket (single attempt) */ private connect; /** * Wait for WebSocket disconnection */ private waitForDisconnection; /** * Close WebSocket connection */ close(): void; /** * Initialize bot info without WebSocket connection */ initializeBotInfo(): Promise; private sleep; } //# sourceMappingURL=ConnectionManager.d.ts.map