/** * Drop-in replacement for pi-tui's `SelectList` used by the editor's * slash-command / autocomplete dropdown. Behaves like `SelectList` (same * prefix, primary column, and description styling) but word-wraps long * descriptions across multiple terminal rows instead of truncating them on a * single line. Continuation rows are indented under the description column so * the full command/skill description stays readable without widening the * terminal. * * Arrow keys move item-to-item (not row-to-row), so navigation stays * predictable regardless of how many rows a description wraps onto. */ import type { Component, SelectItem, SelectListTheme } from '@earendil-works/pi-tui'; export interface WrappingAutocompleteListLayout { minPrimaryColumnWidth?: number; maxPrimaryColumnWidth?: number; } export declare class WrappingAutocompleteList implements Component { private items; private filteredItems; private selectedIndex; private maxVisible; private theme; private layout; onSelect?: (item: SelectItem) => void; onCancel?: () => void; onSelectionChange?: (item: SelectItem) => void; constructor(items: SelectItem[], maxVisible: number, theme: SelectListTheme, layout?: WrappingAutocompleteListLayout); setFilter(filter: string): void; setSelectedIndex(index: number): void; invalidate(): void; getSelectedItem(): SelectItem | null; render(width: number): string[]; handleInput(keyData: string): void; private renderItem; private getPrimaryColumnWidth; private getPrimaryColumnBounds; private truncatePrimary; private getDisplayValue; private notifySelectionChange; } //# sourceMappingURL=wrapping-autocomplete-list.d.ts.map