import type { ChatMessage, ProjectAction } from '../../types/widget'; import { AiIconType } from '../../utils/icon-types'; import { ActivityEvent } from '../../utils/activity'; export declare class BielChat { isUserScrollingUp: boolean; isStreaming: boolean; private streamingUserMessage?; private streamEndTimer; private scrollbarHideTimer; private scrollRafId; private isInitialLoad; private lastUserScrollInputAt; private contentResizeObserver; private shouldShowActivity; private static readonly USER_SCROLL_INPUT_WINDOW_MS; messages: ChatMessage[]; isFullscreen: boolean; isLoading: boolean; isReceivingMessages: boolean; /** Animated status text by default, with a spinner for blank labels; dots keeps the legacy indicator. */ loadingIndicator: 'spinner' | 'dots'; /** Initial loading label; blank hides the text while retaining an accessible indicator. */ loadingText: string; activityEvents: ActivityEvent[]; activityThinkMode: boolean; activityOutcome?: 'failed' | 'interrupted'; /** JSON object overriding stage, stage_completed and searching_docs_again labels. */ activityLabels: string; activityDetailsText: string; activityDocumentsText: string; activityRetryText: string; retryAvailable: boolean; retryDisabled: boolean; suggestedQuestions: string[]; welcomeMessage: string; suggestedQuestionsTitle: string; loadedChat: boolean; hideFeedback: boolean; modalPosition: string; embeddedMode: boolean; bielId: string; sourcesText: string; aiIcon: AiIconType; hideAvatars: boolean; hideSources: boolean; hideInlineCitations: boolean; incompleteText: string; continueText: string; assistantLabel: string; projectActions: ProjectAction[]; smoothStreaming: boolean; renderMath: boolean; mathjaxUrl: string; renderDiagrams: boolean; mermaidTheme: string; el: HTMLElement; private chatContainer; resetStreamingForNewTurn(messages: ChatMessage[]): void; handleTextUpdate(event: CustomEvent<{ text: string; id: number; bielId: string; }>): void; handlePartialMessageComplete(event: CustomEvent<{ partialId: number; bielId: string; }>): void; handleScrollToBottom(event: CustomEvent<{ bielId: string; }>): void; handleMessageSent(event: CustomEvent<{ bielId: string; }>): void; handleSuggestedQuestionClick(event: CustomEvent<{ bielId: string; }>): void; private resumeAutoScroll; scheduleScrollToBottom(): void; scrollToBottom(): void; private markUserScrollInput; private onPointerDown; private onScroll; componentDidLoad(): void; componentDidUpdate(): void; private observedChildren; private observeContent; disconnectedCallback(): void; private renderActivityErrorIcon; private renderActivity; render(): any; }