import type { Snippet } from 'svelte'; export interface ComboboxOption { value: string; label: string; disabled?: boolean; } export interface ComboboxItemState { selected: boolean; highlighted: boolean; index: number; } interface ComboboxProps { options?: ComboboxOption[]; value?: string; /** Free-text query shown in the input (defaults to selected label). */ query?: string; open?: boolean; label?: string; placeholder?: string; disabled?: boolean; /** Allow values not in `options`. */ creatable?: boolean; emptyText?: string; createText?: (query: string) => string; class?: string; /** * Custom row for each `options` entry. If omitted, rows use `ComboboxItem`. */ item?: Snippet<[ComboboxOption, ComboboxItemState]>; /** * Extra (or fully custom) `ComboboxItem` rows rendered in the listbox. * Nested items register for keyboard nav and filter against `query`. */ children?: Snippet; onchange?: (value: string) => void; oncreate?: (value: string) => void; } declare const Combobox: import("svelte").Component; type Combobox = ReturnType; export default Combobox;