import { ListOptionBase } from '@platforma-sdk/model'; /** * A multi-select autocomplete component that allows users to search and select multiple values from a list of options. * Supports async data fetching, keyboard navigation, and displays selected items as removable chips. * * @example * Basic usage: * * * With async functions: * const selectedUsers = ref([]) * * const searchUsers = async (searchTerm) => { * const response = await fetch('/api/users/search?q=' + searchTerm) * const users = await response.json() * return users.map(user => ({ value: user.id, label: user.name })) * } * * const getUsersByIds = async (userIds) => { * if (!userIds.length) return [] * const response = await fetch('/api/users?ids=' + userIds.join(',')) * const users = await response.json() * return users.map(user => ({ value: user.id, label: user.name })) * } */ declare const _default: (__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: __VLS_PrettifyLocal & Omit<{ readonly "onUpdate:modelValue"?: ((v: M[]) => any) | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & { /** * The current selected values. */ modelValue: M[]; /** * Lambda for requesting of available options for the dropdown by search string. */ optionsSearch: OptionsSearch; /** * Unique identifier for the source of the options, changing it will invalidate the options cache. */ sourceId?: string; /** * The label text for the dropdown field (optional) */ label?: string; /** * A helper text displayed below the dropdown when there are no errors (optional). */ helper?: string; /** * Error message displayed below the dropdown (optional) */ error?: unknown; /** * Placeholder text shown when no value is selected. */ placeholder?: string; /** * If `true`, the dropdown component is marked as required. */ required?: boolean; /** * If `true`, the dropdown component is disabled and cannot be interacted with. */ disabled?: boolean; /** * Debounce time in ms for the options search. */ debounce?: number; /** * If `true`, the search input is reset and focus is set on it when the new option is selected. */ resetSearchOnSelect?: boolean; /** * The text to display when no options are found. */ emptyOptionsText?: string; /** * Makes some of corners not rounded * */ groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle"; } & Partial<{}>> & import('vue').PublicProps; expose(exposed: import('vue').ShallowUnwrapRef<{}>): void; attrs: any; slots: { append?(_: {}): any; tooltip?(_: {}): any; }; emit: (e: "update:modelValue", v: M[]) => void; }>) => import('vue').VNode & { __ctx?: Awaited; }; export default _default; export interface OptionsSearch { (s: string, type: "label"): Promise[]>>; (s: T[], type: "value"): Promise[]>>; } type __VLS_PrettifyLocal = { [K in keyof T]: T[K]; } & {}; //# sourceMappingURL=PlAutocompleteMulti.vue.d.ts.map