export interface AsyncComboboxOption { value: string; label: string; } /** Client-side typeahead over already-loaded options (no server round-trip). */ export declare const localOptionSearch: (options: AsyncComboboxOption[]) => (query: string) => Promise; export interface AsyncComboboxProps { value: string | null | undefined; onChange: (value: string | null) => void; /** Resolve options for a query (debounced). */ search: (query: string) => Promise; /** * When set, an inline "create" row appears for the current query (unless it * exactly matches an existing option). Returns the new option to select, or * null to cancel. */ onCreate?: (query: string) => Promise; /** Label for the inline create row; receives the trimmed query. */ createLabel?: (query: string) => string; placeholder?: string; emptyText?: string; disabled?: boolean; className?: string; } /** * A generic search-as-you-type combobox backed by an async resolver. Keeps a * label cache so a previously-selected value still renders a friendly label * (falls back to the raw value when unknown). Used for picking departures / * products / bookings by search rather than typing a raw id. */ export declare function AsyncCombobox({ value, onChange, search, onCreate, createLabel, placeholder, // i18n-literal-ok (generic fallback; callers pass localized copy) emptyText, disabled, className, }: AsyncComboboxProps): import("react").JSX.Element;