import { EventEmitter } from '../../stencil-public-runtime'; import { AiIconType } from '../../utils/icon-types'; export declare class BielMessage { messageId?: string; sender: 'user' | 'ai'; text: string; sources?: { title: string; url: string; }[]; availableActions?: { name: string; button_text: string; url: string; }[]; feedback?: 0 | 1; hideFeedback: boolean; bielId: string; isPartial: boolean; partialId: number; sourcesText: string; aiIcon: AiIconType; hideAvatars: boolean; hideSources: boolean; assistantLabel: string; content: string; rawContent: string; feed: 0 | 1; src: { title: string; url: string; }[]; el: HTMLElement; scrollToBottom: EventEmitter<{ bielId: string; }>; handleTextUpdate(event: CustomEvent<{ text: string; id: number; }>): void; handlePartialMessageComplete(event: CustomEvent<{ partialId: number; bielId: string; msg: { text: string; sender: 'user' | 'ai'; messageId?: string; feedback?: 0 | 1; sources?: { title: string; url: string; }[]; isPartial: boolean; partialId?: number; }; }>): void; componentWillLoad(): void; componentDidLoad(): void; /** * Replace each inline ```` tag with an anchor styled as a * chip, resolving the name against the project's actions. Unknown/unresolved * tags are removed so no raw markup leaks. Runs before Markdown parsing so * the anchor survives marked + DOMPurify (which both keep plain elements). */ renderInlineActions(text: string): string; processMarkdown(fragment: string): void; processTable(element: HTMLElement): void; convertToElement(content: string): HTMLElement; deepCompareAndReplace(element1: HTMLElement, element2: HTMLElement): void; areNodesEqual(node1: Node, node2: Node): boolean; synchronizeAttributes(element1: HTMLElement, element2: HTMLElement): void; render(): any; }