/** Where the listbox should put the active option when a key opens it. */ export type SelectOpenIntent = 'selected' | 'first' | 'last'; /** Ten is the normative page jump for a listbox — a headless package has no rendered row height to divide by. */ export declare const SELECT_PAGE_SIZE = 10; /** What a keydown on a closed trigger asks for. Every action but `'ignore'` wants `preventDefault()`. */ export type SelectClosedAction = /** Open the listbox with the active option placed as `intent` says. */ { kind: 'open'; intent: SelectOpenIntent; } /** A letter arrived on a multiple-select: open the listbox and search there, since a closed multi-select has no single "current" option to walk from. */ | { kind: 'open-for-typeahead'; } /** A letter arrived on a single-select: match it against the options and select the hit without opening, as a native `