import { EventEmitter } from "@angular/core"; import type { Suggestion } from "@magicx-eng/ai-autocomplete-vanilla"; import * as i0 from "@angular/core"; /** * Internal pill list used by both the dropdown and Tier 1's inline pillbar. * Mirrors `packages/react/src/components/PillList.tsx` one-for-one — including * the per-index opacity ramp (1 / 0.7 / 0.4 / 0.2) and the skeleton-loading * fallback that preserves layout while the next fetch is in flight. * * @internal */ export declare class PillListComponent { pills: Suggestion[]; activePillIndex: number; rounded: boolean; /** * When true, pills become non-interactive shimmering skeletons. Real pills * (with their text) are rendered when provided so widths/positions match * the previous state; with no pills, fixed-width fallback placeholders are * rendered instead. */ loading: boolean; /** * Whether the active (leading) pill should render selected (full opacity) * rather than its positional `first` tier. Auto trigger ⇒ true while a * dropdown option is highlighted; manual trigger ⇒ true after the user taps * the pill. See `AIAutocompleteController.isActivePillSelected$`. */ activeSelected: boolean; readonly selectPill: EventEmitter; /** Fallback widths when loading with zero cached pills (matches React). */ readonly fallbackSkeletonWidths: number[]; /** The active pill is "selected" only when `activeSelected` is set. */ isSelected(index: number): boolean; /** * Opacity per pill state — mirrors PillList.tsx `PILL_OPACITY`. The selected * pill is full opacity; otherwise pills take a positional tier (first / next * / last). */ pillOpacity(index: number): number; trackByType: (_: number, pill: Suggestion) => string; trackByWidth: (_: number, w: number) => number; onPillClick(index: number): void; onPillMouseDown(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } //# sourceMappingURL=pill-list.component.d.ts.map