export interface PickerItem { /** The line shown to the user. Plain text — no ANSI codes. */ label: string; /** Optional right-aligned hint (e.g. pricing, key combo). */ hint?: string; /** Optional second line under the label (e.g. description). */ description?: string; /** The value returned when this item is selected. */ value: T; } export interface PickerOptions { /** Title shown at the top of the picker. */ title?: string; /** Footer hint about what's happening (overrides default). */ footer?: string; /** * Filtering: when true (default), the user can type to narrow the * list. Set to false for pickers where you want pure navigation * (rare). */ filterable?: boolean; /** * Pre-fill the filter with this string before showing the picker. * Use case: triggering the picker via a specific key (`/`) and * wanting that character already in the filter so the user can * keep typing to narrow without re-typing the trigger. */ initialFilter?: string; } /** * Show the picker and resolve with the user's selection (or null * on cancel). Restores terminal state cleanly on either path. */ export declare function pick(items: PickerItem[], opts?: PickerOptions): Promise;