import type { PickerRequest } from "../../ui-core/controllers/overlay-controller.js"; import { type PickerOption } from "../../ui-core/rendering/picker-filter.js"; import type { InkTheme } from "../render/ink-theme.js"; import { type PanelFrameInput } from "./panel-frame.js"; import { type PanelKeyResult } from "./panel-effect.js"; export interface PickerPanelState { readonly query: string; readonly cursor: number; readonly top: number; } export declare function pickerInitialState(request: PickerRequest): PickerPanelState; export declare function pickerRowHeight(request: PickerRequest): 1 | 2; export declare function pickerFiltered(request: PickerRequest, query: string): readonly PickerOption[]; export interface PickerKeyInput { readonly request: PickerRequest; readonly state: PickerPanelState; readonly chord: string; readonly text?: string | undefined; readonly rows: number; } export declare function isPrintable(chord: string, text: string | undefined): boolean; export declare function pickerKey(input: PickerKeyInput): PanelKeyResult; export interface PickerViewInput { readonly ink: InkTheme; readonly columns: number; readonly rows: number; readonly request: PickerRequest; readonly state: PickerPanelState; } export interface PickerView { readonly frame: PanelFrameInput; readonly top: number; readonly count: number; } export declare function pickerView(input: PickerViewInput): PickerView;