import { LitElement, TemplateResult, CSSResult } from 'lit'; import { AgentAdapter, Suggestion, FeatureToggle } from '../ai-chatbot'; declare global { interface HTMLElementTagNameMap { 'forge-ai-embedded-chat': AiEmbeddedChatComponent; } interface HTMLElementEventMap { 'forge-ai-embedded-chat-expand': CustomEvent; 'forge-ai-embedded-chat-collapse': CustomEvent; } } export declare const AiEmbeddedChatComponentTagName: keyof HTMLElementTagNameMap; /** * @tag forge-ai-embedded-chat * * @slot header-title - Slot for custom header title content (default: "AI Assistant") * @slot empty-state-heading - Slot for custom empty state heading * * @event {CustomEvent} forge-ai-embedded-chat-expand - Fired when the chat is expanded to modal view * @event {CustomEvent} forge-ai-embedded-chat-collapse - Fired when the chat is collapsed from modal view * * @description A form factor component that embeds ai-chatbot within ai-gradient-container * for inline page usage with optional modal expansion functionality. When expanded, the chat * is displayed in a fullscreen modal. The chatbot component handles all chat UI. * All chatbot events (message-sent, message-received, tool-call, error, clear, info, connected, disconnected) bubble through unchanged. * * @property {AgentAdapter} adapter - Required. The adapter for communication with the AI service * @property {FeatureToggle} fileUpload - Enable file upload functionality (default: 'off') * @property {string} placeholder - Placeholder text for input (default: "Ask a question...") * @property {Suggestion[]} suggestions - Optional suggestions for empty state * @property {string} gradientVariant - Gradient variant for embedded view ('low' | 'medium' | 'high', default: 'medium') */ export declare class AiEmbeddedChatComponent extends LitElement { #private; static styles: CSSResult; /** * Controls whether the modal view is open when expanded. */ expanded: boolean; /** * Controls the gradient variant applied to the container. */ gradientVariant: 'low' | 'medium' | 'high'; adapter?: AgentAdapter; threadId?: string; fileUpload: FeatureToggle; placeholder: string; suggestions?: Suggestion[]; private _isModalFullscreen; updated(): void; render(): TemplateResult; /** * Expands the chat to modal view. */ expand(): void; /** * Collapses the chat from modal view back to embedded view. */ collapse(): void; }