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