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;
}