import { ComputedRef, MaybeRefOrGetter } from 'vue'; import { Option, ComboboxVisibleOption } from '@wolf-tui/shared'; export interface IUseComboboxStateProps { /** * Options to display. Accepts plain value, ref, or getter for reactivity. */ options: MaybeRefOrGetter; /** * Default selected value. */ defaultValue?: string; /** * Number of visible options in the dropdown. * * @default 5 */ visibleOptionCount?: number; /** * Placeholder text when input is empty. * * @default 'Type to search...' */ placeholder?: string; /** * Text shown when no options match. * * @default 'No matches' */ noMatchesText?: string; /** * Callback when input value changes. */ onChange?: (value: string) => void; /** * Callback when an option is selected. */ onSelect?: (value: string) => void; } export interface IComboboxState { inputValue: ComputedRef; cursorOffset: ComputedRef; isOpen: ComputedRef; visibleOptions: ComputedRef; selectedValue: ComputedRef; hasScrollUp: ComputedRef; hasScrollDown: ComputedRef; insertText: (text: string) => void; deleteChar: () => void; deleteForward: () => void; cursorLeft: () => void; cursorRight: () => void; cursorStart: () => void; cursorEnd: () => void; focusNextOption: () => void; focusPreviousOption: () => void; selectFocused: () => void; autofillFocused: () => void; close: () => void; } export declare const useComboboxState: ({ options: optionsProp, defaultValue, visibleOptionCount, placeholder: _placeholder, noMatchesText: _noMatchesText, onChange, onSelect, }: IUseComboboxStateProps) => IComboboxState; //# sourceMappingURL=use-combobox-state.d.ts.map