export type MultiselectAsyncInstance = { open: () => void; close: () => void; focus: () => void; }; import type { MultiselectBaseProps, SelectOption } from './types'; declare function $$render(): { props: Omit, "on" | "loadOptions" | "searchable" | "groupHeader" | "selectionMode" | "parentSource"> & { /** Server-side fetcher. Invoked with an empty query on open (initial page) and again — debounced — on every keystroke. Expected to return a flat list (no groups). */ loadOptions: (query: string) => Promise[]>; on?: { /** Fires when the user picks/unpicks/reorders. Emits the full new selection. */ change?: (value: SelectOption[]) => void; /** Fires when the user activates "Create …". Return a Promise to keep the spinner up. */ create?: (query: string) => void | Promise; }; }; exports: { open: () => void | undefined; close: () => void | undefined; focus: () => void | undefined; }; bindings: ""; slots: {}; events: {}; }; declare class __sveltets_Render { props(): ReturnType>['props']; events(): ReturnType>['events']; slots(): ReturnType>['slots']; bindings(): ""; exports(): { open: () => void | undefined; close: () => void | undefined; focus: () => void | undefined; }; } interface $$IsomorphicComponent { new (options: import('svelte').ComponentConstructorOptions['props']>>): import('svelte').SvelteComponent['props']>, ReturnType<__sveltets_Render['events']>, ReturnType<__sveltets_Render['slots']>> & { $$bindings?: ReturnType<__sveltets_Render['bindings']>; } & ReturnType<__sveltets_Render['exports']>; (internal: unknown, props: ReturnType<__sveltets_Render['props']> & {}): ReturnType<__sveltets_Render['exports']>; z_$$bindings?: ReturnType<__sveltets_Render['bindings']>; } /** * MultiselectAsync — async, flat multi-value picker with server-side typeahead. Calls * `loadOptions` with an empty query on open and — debounced — on every keystroke. Value is * the array of pre-resolved `SelectOption` so chip labels render before the first fetch * lands. Picked options not present in the current server page are surfaced at the top of the * list when the query is empty. * * Internally proxies to `multiselect-base`. Spinner has a built-in 600ms gate; while it's * visible the listbox is dimmed and pick events are ignored (race-prevention). Typing stays * enabled so typeahead works on slow networks. For grouped options with cascade or tri-state * selection, use `MultiselectTree`. For sync static options, use `Multiselect`. * * ### CSS Custom Properties * * **Trigger:** `--sc-kit--select--trigger--{height, padding-inline, gap, background, * background--disabled, border-color, border-color--hover, border-color--error, border-radius, * underline-color, font-size, color, placeholder--color, icon--color, icon--size}`. * * **Popover panel:** `--sc-kit--select--panel--{background, border-color, border-radius, * box-shadow, font-size, max-height, padding}`. * * **Option rows:** `--sc-kit--select--option--{color, color--selected, background--active, * padding-block, padding-inline}`. * * **Empty / loading text:** `--sc-kit--select--empty--color`. * * **Chip:** `--sc-kit--select--chip--{inline--background, inline--border-color, * external--background, external--border-color, color, border-radius, padding-block, * padding-inline, font-size, gap, max-width, remove-color, remove-color--hover}`. * * **Spinner** (rendered while loading): `--sc-kit--spinner--{size, duration}`. */ declare const Cmp: $$IsomorphicComponent; type Cmp = InstanceType>; export default Cmp;