import * as rxjs from 'rxjs'; import { Observable } from 'rxjs'; import * as _angular_core from '@angular/core'; import { Renderer2, ChangeDetectorRef, ElementRef, SimpleChanges, Signal } from '@angular/core'; import * as _ng_nest_ui_core from '@ng-nest/ui/core'; import { XTemplate, XSize, XBoolean, XNumber, XVariant } from '@ng-nest/ui/core'; import { XAvatarOption } from '@ng-nest/ui/avatar'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; declare const XBubbleProperty_base: new () => { config: _ng_nest_ui_core.XBubbleConfig | undefined; }; /** * Bubble Property */ declare class XBubbleProperty extends XBubbleProperty_base { /** * @zh_CN 气泡内容 * @en_US Bubble content */ readonly content: _angular_core.InputSignal; /** * @zh_CN 推理内容 * @en_US reasoning content */ readonly reasoningContent: _angular_core.InputSignal; /** * @zh_CN 推理标题 * @en_US reasoning title */ readonly reasoningTitle: _angular_core.InputSignal; /** * @zh_CN 头像 * @en_US Avatar */ readonly avatar: _angular_core.InputSignal; /** * @zh_CN 尺寸 * @en_US Size */ readonly size: _angular_core.InputSignal; /** * @zh_CN 形态变体 * @en_US Bubble variant */ readonly variant: _angular_core.InputSignal; /** * @zh_CN 位置 * @en_US Bubble placement */ readonly placement: _angular_core.InputSignal; /** * @zh_CN 气泡头部内容 * @en_US Bubble header content */ readonly header: _angular_core.InputSignal; /** * @zh_CN 气泡底部内容 * @en_US Bubble header content */ readonly footer: _angular_core.InputSignal; /** * @zh_CN 加载中 * @en_US Loading */ readonly loading: _angular_core.InputSignalWithTransform; /** * @zh_CN 内容输出打字机效果 * @en_US Typing effect */ readonly typing: _angular_core.InputSignalWithTransform; /** * @zh_CN 打字机输出速度 * @en_US Typing speed */ readonly speed: _angular_core.InputSignalWithTransform; /** * @zh_CN 内容渲染器,可自定义内容的渲染方式,如 HTML、Markdown * @en_US Content renderer, can customize content rendering, such as HTML, Markdown */ readonly renderer: _angular_core.InputSignal; /** * @zh_CN 是否显示打字机光标 * @en_US Whether to show the typing cursor */ readonly showCursor: _angular_core.InputSignalWithTransform; /** * @zh_CN 打字开始 * @en_US Typing start */ readonly typingStart: _angular_core.OutputEmitterRef; /** * @zh_CN 打字正在输出的字符 * @en_US Typing output character */ readonly typingOuput: _angular_core.OutputEmitterRef; /** * @zh_CN 打字结束 * @en_US Typing end */ readonly typingEnd: _angular_core.OutputEmitterRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN 头像配置,继承了组件 Avatar 相关属性 * @en_US Avatar settings */ interface XBubbleAvatarOption extends XAvatarOption { /** * @zh_CN 是否显示头像 * @en_US Whether to show the avatar */ hidden?: boolean; } declare const XBubblesProperty_base: new () => { config: _ng_nest_ui_core.XBubblesConfig | undefined; }; /** * Bubbles Property */ declare class XBubblesProperty extends XBubblesProperty_base { /** * @zh_CN 尺寸 * @en_US Size */ readonly size: _angular_core.InputSignal; /** * @zh_CN 形态变体 * @en_US Bubble variant */ readonly variant: _angular_core.InputSignal; /** * @zh_CN 滚动条滚动事件,自动获取父级可滚动的元素 * @en_US Scroll event of the scroll bar, automatically obtaining the scrollable element of the parent */ readonly scrollChange: _angular_core.OutputEmitterRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN 形态变体 * @en_US Bubble variant */ type XBubbleVariant = 'outlined' | 'filled' | 'shadow' | 'borderless'; /** * @zh_CN 位置 * @en_US Bubble placement */ type XBubblePlacement = 'start' | 'end'; /** * @zh_CN 内容渲染函数 * @en_US Bubble content renderer */ type XBubbleContentRenderer = (content: string) => string | Observable | undefined; declare class XBubbleComponent extends XBubbleProperty { sanitizer: DomSanitizer; renderer2: Renderer2; cdr: ChangeDetectorRef; private bubbles; wrapperRef: _angular_core.Signal | undefined>; classMap: _angular_core.Signal<{ [x: string]: boolean; "x-bubble-cursor": boolean; "x-bubble-typing": boolean; }>; typedContent: _angular_core.WritableSignal; typedContentObserver: rxjs.Observable; pendingContent: _angular_core.WritableSignal; pendingContentObserver: rxjs.Observable; reasoningTypedContent: _angular_core.WritableSignal; reasoningTypedContentObserver: rxjs.Observable; reasoningPendingContent: _angular_core.WritableSignal; reasoningRenderedContent: _angular_core.WritableSignal; reasoningToggle: _angular_core.WritableSignal; private typingInterval; renderedContent: _angular_core.WritableSignal; sizeSignal: _angular_core.Signal; variantSignal: _angular_core.Signal; isTemplate: _angular_core.Signal; isString: _angular_core.Signal; isReasoningTemplate: _angular_core.Signal; isReasoningString: _angular_core.Signal; constructor(); ngOnChanges(changes: SimpleChanges): void; private startTyping; private stopTyping; onReasoningToggle(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface XBubblesContext { size: Signal; variant: Signal; } declare class XBubblesComponent extends XBubblesProperty implements XBubblesContext { elementRef: ElementRef; renderer: Renderer2; private parentScrollElement; private isFollowing; private removeScrollListener; private contentMutationObserver; private typingObserver; private $destroy; bubbles: _angular_core.Signal; ngAfterViewInit(): void; ngDoCheck(): void; ngOnDestroy(): void; private stepScroll; private getParentScrollElement; private observeContentChanges; private startTypingObserver; private stopTypingObserver; scrollToBottom(): void; scrollToTop(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XBubbleModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { XBubbleComponent, XBubbleModule, XBubblesComponent };