import type { IconColor } from '../Icon/types'; import type { MultiSelectValue, Option } from './types'; import type { IconName } from '../Icon'; export type MultiSelectProps = { /** Defines which item is selected */ modelValue?: MultiSelectValue[] | null; /** Defines the debounce time to filter the options */ filterDebounce?: number; /** Defines if the select is disabled */ isDisabled?: boolean; /** Defines if the select should emit the option object */ emitOption?: boolean; /** Defines if the select is loading */ isLoading?: boolean; /** Defines the loading label text */ loadingLabel?: string; /** Defines the placeholder text */ placeholder?: string; /** @deprecated Defines the label of the select */ label?: string; /** Defines the left icon of the select */ leftIcon?: IconName | null; /** Defines the color of the left icon */ leftIconColor?: IconColor | null; /** Defines the options of the select */ options?: Option[] | string[]; /** Defines if the select will use avatars */ useAvatars?: boolean; /** Defines the label key of the options */ itemLabel?: string; /** Defines the value key of the options */ itemValue?: string; /** Defines the text when no data is found */ noDataText?: string; /** Defines the error message */ errorMessage?: string; /** Defines if the select has an error */ error?: boolean; /** Defines if the select has a warning state */ warning?: boolean; /** Defines if the select should show the caption */ showCaption?: boolean; /** Defines the caption key of the options */ itemCaption?: string; /** Defines if the select should use the infinite scroll */ infiniteScroll?: boolean; /** Defines if the select is loading more options */ isLoadingMore?: boolean; /** Defines the text when the select is loading more options */ loadingMoreText?: string; renderOnOpen?: boolean; /** Defines if a select item in the list should be disabled */ isOptionDisabled?: (option: Option) => boolean; /** Make the input readonly disabling the filter */ disableFilter?: boolean; /** Disables the internal filter functionality of the select */ disableInternalFilter?: boolean; /** Defines if the select could be clearable */ clearable?: boolean; /** Defines if the select should be inline */ inline?: boolean; /** Defines the accessible element that labels the select */ labeledBy?: string; /** Defines the ID for the input in SelectInner component */ inputId?: string; /** Text shown below the multiselect to describe the field */ description?: string; selectAllVisible?: boolean; /** Allow the creation of new options */ allowCreate?: boolean; /** Text to show when no data is found */ noDataTextTag?: string; }; export type MultiSelectEmits = { 'update:modelValue': [value: any]; clear: []; hide: []; filter: [value: string | undefined]; 'load-more': []; 'option-created': [value: string | number | undefined]; 'search-input': [value: string | undefined]; show: []; }; declare var __VLS_21: any, __VLS_24: {}, __VLS_26: {}, __VLS_42: any, __VLS_44: {}; type __VLS_Slots = {} & { selection?: (props: typeof __VLS_21) => any; } & { rightIcon?: (props: typeof __VLS_24) => any; } & { innerSelect?: (props: typeof __VLS_26) => any; } & { 'list-item'?: (props: typeof __VLS_42) => any; } & { minibrowser?: (props: typeof __VLS_44) => any; }; declare const __VLS_base: import("vue").DefineComponent any; show: () => any; hide: () => any; "update:modelValue": (value: any) => any; clear: () => any; "option-created": (value: string | number | undefined) => any; "load-more": () => any; "search-input": (value: string | undefined) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onFilter?: ((value: string | undefined) => any) | undefined; onShow?: (() => any) | undefined; onHide?: (() => any) | undefined; "onUpdate:modelValue"?: ((value: any) => any) | undefined; onClear?: (() => any) | undefined; "onOption-created"?: ((value: string | number | undefined) => any) | undefined; "onLoad-more"?: (() => any) | undefined; "onSearch-input"?: ((value: string | undefined) => any) | undefined; }>, { label: string; error: boolean; options: Option[] | string[]; description: string; placeholder: string; inline: boolean; modelValue: MultiSelectValue[] | null; warning: boolean; leftIcon: IconName | null; isDisabled: boolean; isLoading: boolean; itemLabel: string; itemValue: string; clearable: boolean; inputId: string; leftIconColor: IconColor | null; allowCreate: boolean; loadingLabel: string; emitOption: boolean; useAvatars: boolean; showCaption: boolean; itemCaption: string; disableFilter: boolean; noDataText: string; noDataTextTag: string; isLoadingMore: boolean; loadingMoreText: string; selectAllVisible: boolean; isOptionDisabled: (option: Option) => boolean; filterDebounce: number; errorMessage: string; infiniteScroll: boolean; renderOnOpen: boolean; disableInternalFilter: boolean; labeledBy: string; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };