import { ActivityEvent } from '../utils/activity'; export declare class BielWebSocketService { private readonly pageUrl; private ws; private messageHandlers; private isConnected; private projectId; private chatId; private email; private apiKey; private errorMessage; private loadingStartHandler; private loadingEndHandler; private connectionStatusHandlers; private wsUrl; private thinkMode; private retrievalMode; private adaptiveChat; private lastAdaptiveRequest?; private metadata; private activityHandlers; private interruptionHandlers; private activeRequestId; private turnPending; private restoreToken; private lastActivitySequence; private turnCounter; private readonly requestPrefix; private reconnectAttempts; private maxReconnectAttempts; private reconnectTimer; private isClosing; private static readonly PROVEN_CONNECTION_MS; private provenTimer; private isConnectionProven; private hasSentOnCurrentSocket; private unsolicitedOnCurrentSocket; private unsolicitedBeforeReconnect; constructor(projectId: string, errorMessage: string, email: string, apiKey?: string, baseUrl?: string, initialChatId?: string, thinkMode?: boolean, metadata?: string, restoreToken?: string, retrievalMode?: 'auto' | 'instant', pageUrl?: () => string); private clearProvenTimer; private teardownSocket; private connect; private interruptTurn; private clearBackoffIfSocketWasHealthy; private scheduleReconnect; sendMessage(message: string, options?: { retry?: boolean; }): void; closeSocket(): void; onMessage(handler: (message: any) => void): void; onActivity(handler: (event: ActivityEvent) => void): void; onInterrupted(handler: () => void): void; onLoadingStart(handler: () => void): void; onLoadingEnd(handler: () => void): void; onConnectionStatusChange(handler: (isConnected: boolean) => void): void; getChatId(): string; getRestoreToken(): string; isWebSocketConnected(): boolean; getConnectionInfo(): { isConnected: boolean; chatId: string; wsUrl: string; }; setAdaptiveChat(enabled: boolean): void; setRetrievalMode(mode: 'auto' | 'instant' | undefined): void; setThinkMode(enabled: boolean): void; }