import { LitElement, TemplateResult, PropertyValues, CSSResult } from 'lit'; import { Agent } from '../ai-chatbot/types.js'; declare global { interface HTMLElementTagNameMap { 'forge-ai-agent-selector': AiAgentSelectorComponent; } interface HTMLElementEventMap { 'forge-ai-agent-selector-change': CustomEvent; } } export interface ForgeAiAgentSelectorChangeEventData { agent: Agent | undefined; previousAgentId: string | undefined; } export declare const AiAgentSelectorComponentTagName: keyof HTMLElementTagNameMap; /** * @summary Agent selector component for switching between AI agents. * * @description * Displays the current agent name with a dropdown to select from available agents. * When no agents are provided, displays static title text. * * @tag forge-ai-agent-selector * * @property {Agent[]} agents - Array of available agents * @property {string} selectedAgentId - ID of the currently selected agent * @property {string} titleText - Fallback text when no agent is selected * @property {boolean} disabled - Disables the selector (e.g., during streaming) * * @event forge-ai-agent-selector-change - Fired when an agent is selected */ export declare class AiAgentSelectorComponent extends LitElement { #private; static styles: CSSResult; constructor(); agents: Agent[]; selectedAgentId?: string; titleText: string; disabled: boolean; private _open; private _focusedIndex; private _isTextOverflowing; private _filterValue; private _triggerButton?; private _agentList?; private _filterInput?; willUpdate(changedProperties: PropertyValues): void; updated(changedProperties: PropertyValues): void; render(): TemplateResult; }