import { LitElement, type PropertyValues } from 'lit'; import type { ModelOption } from '../../types/index.js'; /** * @tag loquix-model-selector * @summary Dropdown selector for LLM models with tier badges, costs, and capability indicators. * * @csspart trigger - The trigger button * @csspart panel - The dropdown panel * @csspart search - The search input wrapper * @csspart option - An option item * * @fires loquix-model-change - Fired when a model is selected. Detail: { from, to } */ export declare class LoquixModelSelector extends LitElement { static styles: import("lit").CSSResult[]; private _localize; /** Array of model options. */ models: ModelOption[]; /** Currently selected model value. */ value: string; /** Placeholder text when no model is selected. */ placeholder?: string; /** Show cost indicator for each model. */ showCost: boolean; /** Show capability badges for each model. */ showCapabilities: boolean; /** Group models by their group field. */ grouped: boolean; /** Show search input in dropdown. */ searchable: boolean; /** Whether the selector is disabled. */ disabled: boolean; /** Preferred panel placement. */ placement: 'top' | 'bottom'; /** Whether the panel is open. */ open: boolean; private _searchQuery; private _focusedIndex; private _searchInput?; private _chevronSvg; private _checkSvg; private _searchSvg; private _outsideClickHandler; private _keydownHandler; private _listenersAttached; protected updated(changed: PropertyValues): void; private _addDocumentListeners; private _removeDocumentListeners; toggle(): void; show(): void; hide(): void; private get _selectedModel(); private get _filteredModels(); private get _selectableModels(); private _positionPanel; private _handleOutsideClick; private _handleKeydown; private _selectModel; private _handleSearchInput; connectedCallback(): void; disconnectedCallback(): void; private _renderTierBadge; private _renderOption; private _renderGrouped; private _renderFlat; protected render(): import("lit").TemplateResult<1>; } //# sourceMappingURL=loquix-model-selector.d.ts.map