import { LitElement, TemplateResult, PropertyValues, CSSResult } from 'lit'; import { Agent, HeadingLevel } from '../ai-chatbot/types'; declare global { interface HTMLElementTagNameMap { 'forge-ai-chat-header': AiChatHeaderComponent; } } export declare const AiChatHeaderComponentTagName: keyof HTMLElementTagNameMap; declare global { interface HTMLElementEventMap { 'forge-ai-chat-header-expand': CustomEvent; 'forge-ai-chat-header-minimize': CustomEvent; 'forge-ai-chat-header-clear': CustomEvent; 'forge-ai-chat-header-export': CustomEvent; 'forge-ai-chat-header-agent-change': CustomEvent; 'forge-ai-chat-header-conversations-toggle': CustomEvent; } } export interface ForgeAiChatHeaderAgentChangeEventData { agent: Agent | undefined; previousAgentId: string | undefined; } export type MinimizeIconType = 'default' | 'panel'; export type OptionState = 'enabled' | 'off'; export interface AgentInfo { name?: string; description?: string; identifier?: string; version?: string; model?: string; lastUpdated?: string; } /** * @summary AI chat header component with accessible tooltips * * @description * A header component for AI chat interfaces that includes an AI icon, title, * and action buttons (info, expand/collapse, minimize) with integrated tooltips * for improved accessibility and user experience. * * @tag forge-ai-chat-header * * @slot icon - Slot for custom icon (default: forge-ai-icon) * @slot header-actions - Slot for custom header action buttons (rendered before built-in header actions) * @slot thread-name - Slot for content to be rendered after the title * * @property {HeadingLevel} headingLevel - Controls the heading level for the title content (default: 2) * @property {string} titleText - The title text to display in the header (default: 'AI Assistant') * * @event forge-ai-chat-header-expand - Fired when the expand button is clicked * @event forge-ai-chat-header-minimize - Fired when the minimize button is clicked * @event forge-ai-chat-header-clear - Fired when the clear chat option is selected * @event forge-ai-chat-header-export - Fired when the export option is selected */ export declare class AiChatHeaderComponent extends LitElement { #private; static styles: CSSResult; /** * Controls whether the expand button is visible */ showExpandButton: boolean; /** * Controls whether the minimize button is visible */ showMinimizeButton: boolean; /** * Indicates the current expanded state for displaying the appropriate expand/collapse icon */ expanded: boolean; /** * Controls which minimize icon to display */ minimizeIcon: MinimizeIconType; /** * Agent information to display in the info dialog */ agentInfo?: AgentInfo; /** * Controls state of the options dropdown menu */ options: OptionState; /** * Controls state of the export option */ exportOption: OptionState; /** * Controls state of the clear chat option */ clearOption: OptionState; /** * Controls the heading level for the title content */ headingLevel: HeadingLevel; /** * The title text to display in the header */ titleText: string; /** * Array of available agents for the agent selector */ agents: Agent[]; /** * ID of the currently selected agent */ selectedAgentId?: string; /** * Disables the agent selector (e.g., during streaming) */ disableAgentSelector: boolean; /** * Shows the conversations button (hamburger menu) for accessing conversation history */ showConversationsButton: boolean; private _isTitleOverflowing; updated(changedProperties: PropertyValues): void; render(): TemplateResult; /** * Shows the agent info modal */ showAgentInfo(): void; }