import { LitElement, TemplateResult, PropertyValues, CSSResult } from 'lit'; import { MessageItem, ToolDefinition } from '../ai-chatbot/types.js'; import { FeatureToggle } from '../ai-chatbot/ai-chatbot.js'; declare global { interface HTMLElementTagNameMap { 'forge-ai-message-thread': AiMessageThreadComponent; } interface HTMLElementEventMap { 'forge-ai-message-thread-copy': CustomEvent; 'forge-ai-message-thread-resend': CustomEvent; 'forge-ai-message-thread-thumbs-up': CustomEvent; 'forge-ai-message-thread-thumbs-down': CustomEvent; 'forge-ai-message-thread-user-copy': CustomEvent; 'forge-ai-message-thread-user-resend': CustomEvent; 'forge-ai-message-thread-user-edit': CustomEvent; } } export interface ForgeAiMessageThreadCopyEventData { messageId: string; } export interface ForgeAiMessageThreadResendEventData { messageId: string; } export interface ForgeAiMessageThreadThumbsEventData { messageId: string; feedback?: string; } export interface ForgeAiMessageThreadEditEventData { messageId: string; content: string; } export declare const AiMessageThreadComponentTagName: keyof HTMLElementTagNameMap; /** * @tag forge-ai-message-thread * * @summary A primitive component for rendering a thread of chat messages, including user, assistant, system, and tool call messages. * * @description * The AI Message Thread component displays a chronological list of messages with support for markdown rendering, * tool calls, empty states, and thinking indicators. It handles its own scrolling behavior with auto-scroll support. * * @slot empty-state-icon - Slot for custom empty state icon * @slot empty-state-heading - Slot for custom empty state heading content * @slot empty-state-message - Slot for custom empty state message content * @slot empty-state-actions - Slot for custom empty state actions (e.g., suggestions) * * @cssproperty --forge-ai-message-thread-content-max-width - Controls the max-width of the message content area while keeping the scroll container full width. * * @event {CustomEvent} forge-ai-message-thread-copy - Fired when user clicks copy on a message * @event {CustomEvent} forge-ai-message-thread-resend - Fired when user clicks resend on a message * @event {CustomEvent} forge-ai-message-thread-thumbs-up - Fired when user gives thumbs up * @event {CustomEvent} forge-ai-message-thread-thumbs-down - Fired when user gives thumbs down */ export declare class AiMessageThreadComponent extends LitElement { #private; static styles: CSSResult; messageItems: MessageItem[]; tools?: Map; enableReactions: boolean; showThinking: boolean; autoScroll: FeatureToggle; debugMode: boolean; private _messageThreadContainer; connectedCallback(): void; disconnectedCallback(): void; firstUpdated(): void; updated(changedProperties: PropertyValues): void; scrollToBottom({ force, behavior }?: { force?: boolean; behavior?: ScrollBehavior; }): void; render(): TemplateResult; }