import type { IconName, IconColor } from '../Icon'; import type { Option, SelectValue } from './types'; export type SbSelectProps = { /** Defines which item is selected */ modelValue?: SelectValue; /** 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. See the "Emit Option" section for more details */ emitOption?: boolean; /** Defines if the select is loading */ isLoading?: boolean; /** Defines the loading label text */ loadingLabel?: string; /** Defines the placeholder text */ placeholder?: string; /** @ignore @deprecated Defines the label of the select */ label?: string; /** Defines the left icon of the select */ leftIcon?: IconName; /** Defines the color of the left icon */ leftIconColor?: IconColor; /** Defines the options of the select. See the "Options" section for more details */ options?: Option[] | string[]; /** Defines if the select will use avatars */ useAvatars?: boolean; /** Defines the label key of the options. See "Configuring Options" section for more details */ itemLabel?: string; /** Defines the value key of the options. See "Configuring Options" section for more details */ 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. See "Configuring Options" section for more details */ itemCaption?: string; /** Defines if the select should use the infinite scroll. When this is enabled, the load-more event will be emitted when the user scrolls to the end of the list. See the "Infinite Scroll" section for more details */ infiniteScroll?: boolean; /** Defines if the select is loading more options. See the "Infinite Scroll" section for more details */ 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. See the "Configuring Options" section for more details */ isOptionDisabled?: (option: any) => 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. When it is true, a clear icon button will be shown in the select */ clearable?: boolean; /** Defines if the select should be inline */ inline?: boolean; /** Defines if the select should be user-selectable */ isUserSelect?: 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 select to describe the field */ description?: string; /** Defines wheather to wrap the select list in a nav or not. */ navigationalSelect?: boolean; /** Defines a hidden label/aria-label for the select component. Generally we should always have a visible label. This should only be used in rare cases. */ hiddenLabel?: string; id?: string; }; export type SbSelectEmits = { filter: [value: unknown]; hide: [searchValue: string | undefined]; 'update:modelValue': [value: any]; 'load-more': []; 'search-input': [value: unknown]; show: []; search: [value: undefined]; clear: []; }; declare var __VLS_20: {}, __VLS_23: {}, __VLS_26: {}, __VLS_28: {}, __VLS_41: { item: any; }, __VLS_43: {}; type __VLS_Slots = {} & { 'left-icon'?: (props: typeof __VLS_20) => any; } & { selection?: (props: typeof __VLS_23) => any; } & { rightIcon?: (props: typeof __VLS_26) => any; } & { innerSelect?: (props: typeof __VLS_28) => any; } & { 'list-item'?: (props: typeof __VLS_41) => any; } & { minibrowser?: (props: typeof __VLS_43) => any; }; declare const __VLS_base: import("vue").DefineComponent; activeIndex: import("vue").Ref; listItems: import("vue").Ref; showList: (shouldEmit?: boolean) => void; hideList: () => void; focusOnFirstItem: () => void; focusOnLastItem: () => void; focusOnSelectedItem: () => void; focusAtIndex: (index: number) => void; handleDropdownDisplay: () => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { search: (value: undefined) => any; filter: (value: unknown) => any; show: () => any; hide: (searchValue: string | undefined) => any; "update:modelValue": (value: any) => any; clear: () => any; "load-more": () => any; "search-input": (value: unknown) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onSearch?: ((value: undefined) => any) | undefined; onFilter?: ((value: unknown) => any) | undefined; onShow?: (() => any) | undefined; onHide?: ((searchValue: string | undefined) => any) | undefined; "onUpdate:modelValue"?: ((value: any) => any) | undefined; onClear?: (() => any) | undefined; "onLoad-more"?: (() => any) | undefined; "onSearch-input"?: ((value: unknown) => any) | undefined; }>, { label: string; id: string; error: boolean; options: Option[] | string[]; description: string; placeholder: string; inline: boolean; modelValue: SelectValue; warning: boolean; leftIcon: IconName; isDisabled: boolean; isLoading: boolean; itemLabel: string; itemValue: string; clearable: boolean; inputId: string; leftIconColor: IconColor; loadingLabel: string; emitOption: boolean; useAvatars: boolean; showCaption: boolean; itemCaption: string; disableFilter: boolean; noDataText: string; isLoadingMore: boolean; loadingMoreText: string; isOptionDisabled: (option: any) => boolean; filterDebounce: number; errorMessage: string; infiniteScroll: boolean; renderOnOpen: boolean; disableInternalFilter: boolean; labeledBy: string; isUserSelect: boolean; hiddenLabel: string; navigationalSelect: boolean; }, {}, {}, {}, 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; }; };