UNPKG

@aplus-frontend/ui

Version:

907 lines (906 loc) 33.8 kB
import { DefaultOptionType, SelectValue, LabeledValue } from '@aplus-frontend/antdv/es/select'; import { ApFieldSelectProps } from '../interface'; import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, CSSProperties, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue'; import { VueTypeValidableDef } from '../../../node_modules/vue-types'; import { ButtonSize } from '@aplus-frontend/antdv/es/button'; import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type'; import { SelectHandler, FieldNames, FilterFunc } from '@aplus-frontend/antdv/es/vc-select/Select'; import { RenderDOMFunc, CustomTagProps, DropdownRender } from '@aplus-frontend/antdv/es/vc-select/BaseSelect'; import { AlignType } from '@aplus-frontend/antdv/es/vc-trigger/interface'; import { FieldMode } from '..'; type ApFieldSelectSlots = { notFoundContent: any; suffixIcon: any; itemIcon: any; removeIcon: any; clearIcon: any; dropdownRender: any; option: any; placeholder: any; tagRender: any; maxTagPlaceholder: any; optionLabel: any; default: any; }; declare function __VLS_template(): { attrs: Partial<{}>; slots: Readonly<ApFieldSelectSlots> & ApFieldSelectSlots; refs: { selectRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{ value: { type: PropType<SelectValue>; default: SelectValue; }; defaultValue: { type: PropType<SelectValue>; default: SelectValue; }; notFoundContent: VueTypeValidableDef<any>; suffixIcon: VueTypeValidableDef<any>; itemIcon: VueTypeValidableDef<any>; size: { type: PropType<ButtonSize>; default: ButtonSize; }; mode: { type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">; default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; }; bordered: { type: BooleanConstructor; default: boolean; }; showArrow: { type: BooleanConstructor; default: boolean; }; variant: { type: PropType<"filled" | "outlined" | "borderless" | "underlined">; default: "filled" | "outlined" | "borderless" | "underlined"; }; maxCount: NumberConstructor; transitionName: StringConstructor; choiceTransitionName: { type: PropType<"">; default: ""; }; popupClassName: StringConstructor; dropdownClassName: StringConstructor; placement: { type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">; default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; }; status: { type: PropType<"" | "error" | "warning">; default: "" | "error" | "warning"; }; 'onUpdate:value': { type: PropType<(val: SelectValue) => void>; default: (val: SelectValue) => void; }; children: PropType< VueNode[]>; listHeight: NumberConstructor; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; tabindex: NumberConstructor; onClick: PropType<(e: MouseEvent) => void>; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; open: { type: BooleanConstructor; default: any; }; animation: StringConstructor; direction: { type: PropType<"rtl" | "ltr">; }; disabled: { type: BooleanConstructor; default: any; }; prefixCls: StringConstructor; id: StringConstructor; autofocus: BooleanConstructor; getPopupContainer: { type: PropType<RenderDOMFunc>; }; virtual: { type: BooleanConstructor; default: any; }; dropdownMatchSelectWidth: { type: PropType<number | boolean>; default: any; }; placeholder: VueTypeValidableDef<any>; loading: { type: BooleanConstructor; default: any; }; prefix: VueTypeValidableDef<any>; clearIcon: VueTypeValidableDef<any>; allowClear: { type: BooleanConstructor; default: any; }; fieldNames: PropType<FieldNames>; inputValue: StringConstructor; searchValue: StringConstructor; onSearch: PropType<(value: string) => void>; autoClearSearchValue: { type: BooleanConstructor; default: any; }; onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; filterOption: { type: PropType<boolean | FilterFunc<DefaultOptionType>>; default: any; }; filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>; optionFilterProp: StringConstructor; optionLabelProp: StringConstructor; options: PropType<DefaultOptionType[]>; defaultActiveFirstOption: { type: BooleanConstructor; default: any; }; listItemHeight: NumberConstructor; onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>; menuItemSelectedIcon: VueTypeValidableDef<any>; labelInValue: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; tagRender: { type: PropType<(props: CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record<string, any>) => any>; }; onClear: PropType<() => void>; defaultOpen: { type: BooleanConstructor; default: any; }; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType<number | "responsive">; }; maxTagPlaceholder: VueTypeValidableDef<any>; tokenSeparators: { type: PropType<string[]>; }; removeIcon: VueTypeValidableDef<any>; dropdownStyle: { type: PropType<CSSProperties>; }; dropdownRender: { type: PropType<DropdownRender>; }; dropdownAlign: PropType<AlignType>; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, { size: ButtonSize; value: SelectValue; mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; open: boolean; disabled: boolean; autofocus: boolean; variant: "filled" | "outlined" | "borderless" | "underlined"; virtual: boolean; dropdownMatchSelectWidth: number | boolean; loading: boolean; bordered: boolean; 'onUpdate:value': (val: SelectValue) => void; status: "" | "error" | "warning"; defaultValue: SelectValue; allowClear: boolean; autoClearSearchValue: boolean; filterOption: boolean | FilterFunc<DefaultOptionType>; defaultActiveFirstOption: boolean; labelInValue: boolean; showSearch: boolean; choiceTransitionName: ""; defaultOpen: boolean; placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; showArrow: boolean; }, true, {}, CustomSlotsType<{ notFoundContent: any; suffixIcon: any; itemIcon: any; removeIcon: any; clearIcon: any; dropdownRender: any; option: any; placeholder: any; tagRender: any; maxTagPlaceholder: any; optionLabel: any; default: any; prefix: any; }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly< ExtractPropTypes<{ value: { type: PropType<SelectValue>; default: SelectValue; }; defaultValue: { type: PropType<SelectValue>; default: SelectValue; }; notFoundContent: VueTypeValidableDef<any>; suffixIcon: VueTypeValidableDef<any>; itemIcon: VueTypeValidableDef<any>; size: { type: PropType<ButtonSize>; default: ButtonSize; }; mode: { type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">; default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; }; bordered: { type: BooleanConstructor; default: boolean; }; showArrow: { type: BooleanConstructor; default: boolean; }; variant: { type: PropType<"filled" | "outlined" | "borderless" | "underlined">; default: "filled" | "outlined" | "borderless" | "underlined"; }; maxCount: NumberConstructor; transitionName: StringConstructor; choiceTransitionName: { type: PropType<"">; default: ""; }; popupClassName: StringConstructor; dropdownClassName: StringConstructor; placement: { type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">; default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; }; status: { type: PropType<"" | "error" | "warning">; default: "" | "error" | "warning"; }; 'onUpdate:value': { type: PropType<(val: SelectValue) => void>; default: (val: SelectValue) => void; }; children: PropType< VueNode[]>; listHeight: NumberConstructor; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; tabindex: NumberConstructor; onClick: PropType<(e: MouseEvent) => void>; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; open: { type: BooleanConstructor; default: any; }; animation: StringConstructor; direction: { type: PropType<"rtl" | "ltr">; }; disabled: { type: BooleanConstructor; default: any; }; prefixCls: StringConstructor; id: StringConstructor; autofocus: BooleanConstructor; getPopupContainer: { type: PropType<RenderDOMFunc>; }; virtual: { type: BooleanConstructor; default: any; }; dropdownMatchSelectWidth: { type: PropType<number | boolean>; default: any; }; placeholder: VueTypeValidableDef<any>; loading: { type: BooleanConstructor; default: any; }; prefix: VueTypeValidableDef<any>; clearIcon: VueTypeValidableDef<any>; allowClear: { type: BooleanConstructor; default: any; }; fieldNames: PropType<FieldNames>; inputValue: StringConstructor; searchValue: StringConstructor; onSearch: PropType<(value: string) => void>; autoClearSearchValue: { type: BooleanConstructor; default: any; }; onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; filterOption: { type: PropType<boolean | FilterFunc<DefaultOptionType>>; default: any; }; filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>; optionFilterProp: StringConstructor; optionLabelProp: StringConstructor; options: PropType<DefaultOptionType[]>; defaultActiveFirstOption: { type: BooleanConstructor; default: any; }; listItemHeight: NumberConstructor; onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>; menuItemSelectedIcon: VueTypeValidableDef<any>; labelInValue: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; tagRender: { type: PropType<(props: CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record<string, any>) => any>; }; onClear: PropType<() => void>; defaultOpen: { type: BooleanConstructor; default: any; }; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType<number | "responsive">; }; maxTagPlaceholder: VueTypeValidableDef<any>; tokenSeparators: { type: PropType<string[]>; }; removeIcon: VueTypeValidableDef<any>; dropdownStyle: { type: PropType<CSSProperties>; }; dropdownRender: { type: PropType<DropdownRender>; }; dropdownAlign: PropType<AlignType>; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }>> & Readonly<{}>, () => VueNode, {}, {}, {}, { size: ButtonSize; value: SelectValue; mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; open: boolean; disabled: boolean; autofocus: boolean; variant: "filled" | "outlined" | "borderless" | "underlined"; virtual: boolean; dropdownMatchSelectWidth: number | boolean; loading: boolean; bordered: boolean; 'onUpdate:value': (val: SelectValue) => void; status: "" | "error" | "warning"; defaultValue: SelectValue; allowClear: boolean; autoClearSearchValue: boolean; filterOption: boolean | FilterFunc<DefaultOptionType>; defaultActiveFirstOption: boolean; labelInValue: boolean; showSearch: boolean; choiceTransitionName: ""; defaultOpen: boolean; placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; showArrow: boolean; }> | null; }; rootEl: any; }; type __VLS_TemplateResult = ReturnType<typeof __VLS_template>; declare const __VLS_component: DefineComponent<ApFieldSelectProps, { focus: () => void; blur: () => void; request: (clear?: boolean) => Promise<void>; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "update:value": (...args: any[]) => void; }, string, PublicProps, Readonly<ApFieldSelectProps> & Readonly<{ "onUpdate:value"?: ((...args: any[]) => any) | undefined; }>, { mode: FieldMode; open: boolean; multiple: boolean; disabled: boolean; loading: boolean; autofocus: boolean; bordered: boolean; emptyText: string; virtual: boolean; lazy: boolean; allowClear: boolean; showArrow: boolean; autoClearSearchValue: boolean; defaultActiveFirstOption: boolean; labelInValue: boolean; showSearch: boolean; defaultOpen: boolean; searchMode: "filter" | "request"; refetchOnFocus: boolean; searchDelay: number; }, {}, {}, {}, string, ComponentProvideOptions, false, { selectRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{ value: { type: PropType<SelectValue>; default: SelectValue; }; defaultValue: { type: PropType<SelectValue>; default: SelectValue; }; notFoundContent: VueTypeValidableDef<any>; suffixIcon: VueTypeValidableDef<any>; itemIcon: VueTypeValidableDef<any>; size: { type: PropType<ButtonSize>; default: ButtonSize; }; mode: { type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">; default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; }; bordered: { type: BooleanConstructor; default: boolean; }; showArrow: { type: BooleanConstructor; default: boolean; }; variant: { type: PropType<"filled" | "outlined" | "borderless" | "underlined">; default: "filled" | "outlined" | "borderless" | "underlined"; }; maxCount: NumberConstructor; transitionName: StringConstructor; choiceTransitionName: { type: PropType<"">; default: ""; }; popupClassName: StringConstructor; dropdownClassName: StringConstructor; placement: { type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">; default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; }; status: { type: PropType<"" | "error" | "warning">; default: "" | "error" | "warning"; }; 'onUpdate:value': { type: PropType<(val: SelectValue) => void>; default: (val: SelectValue) => void; }; children: PropType< VueNode[]>; listHeight: NumberConstructor; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; tabindex: NumberConstructor; onClick: PropType<(e: MouseEvent) => void>; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; open: { type: BooleanConstructor; default: any; }; animation: StringConstructor; direction: { type: PropType<"rtl" | "ltr">; }; disabled: { type: BooleanConstructor; default: any; }; prefixCls: StringConstructor; id: StringConstructor; autofocus: BooleanConstructor; getPopupContainer: { type: PropType<RenderDOMFunc>; }; virtual: { type: BooleanConstructor; default: any; }; dropdownMatchSelectWidth: { type: PropType<number | boolean>; default: any; }; placeholder: VueTypeValidableDef<any>; loading: { type: BooleanConstructor; default: any; }; prefix: VueTypeValidableDef<any>; clearIcon: VueTypeValidableDef<any>; allowClear: { type: BooleanConstructor; default: any; }; fieldNames: PropType<FieldNames>; inputValue: StringConstructor; searchValue: StringConstructor; onSearch: PropType<(value: string) => void>; autoClearSearchValue: { type: BooleanConstructor; default: any; }; onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; filterOption: { type: PropType<boolean | FilterFunc<DefaultOptionType>>; default: any; }; filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>; optionFilterProp: StringConstructor; optionLabelProp: StringConstructor; options: PropType<DefaultOptionType[]>; defaultActiveFirstOption: { type: BooleanConstructor; default: any; }; listItemHeight: NumberConstructor; onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>; menuItemSelectedIcon: VueTypeValidableDef<any>; labelInValue: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; tagRender: { type: PropType<(props: CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record<string, any>) => any>; }; onClear: PropType<() => void>; defaultOpen: { type: BooleanConstructor; default: any; }; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType<number | "responsive">; }; maxTagPlaceholder: VueTypeValidableDef<any>; tokenSeparators: { type: PropType<string[]>; }; removeIcon: VueTypeValidableDef<any>; dropdownStyle: { type: PropType<CSSProperties>; }; dropdownRender: { type: PropType<DropdownRender>; }; dropdownAlign: PropType<AlignType>; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, { size: ButtonSize; value: SelectValue; mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; open: boolean; disabled: boolean; autofocus: boolean; variant: "filled" | "outlined" | "borderless" | "underlined"; virtual: boolean; dropdownMatchSelectWidth: number | boolean; loading: boolean; bordered: boolean; 'onUpdate:value': (val: SelectValue) => void; status: "" | "error" | "warning"; defaultValue: SelectValue; allowClear: boolean; autoClearSearchValue: boolean; filterOption: boolean | FilterFunc<DefaultOptionType>; defaultActiveFirstOption: boolean; labelInValue: boolean; showSearch: boolean; choiceTransitionName: ""; defaultOpen: boolean; placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; showArrow: boolean; }, true, {}, CustomSlotsType<{ notFoundContent: any; suffixIcon: any; itemIcon: any; removeIcon: any; clearIcon: any; dropdownRender: any; option: any; placeholder: any; tagRender: any; maxTagPlaceholder: any; optionLabel: any; default: any; prefix: any; }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly< ExtractPropTypes<{ value: { type: PropType<SelectValue>; default: SelectValue; }; defaultValue: { type: PropType<SelectValue>; default: SelectValue; }; notFoundContent: VueTypeValidableDef<any>; suffixIcon: VueTypeValidableDef<any>; itemIcon: VueTypeValidableDef<any>; size: { type: PropType<ButtonSize>; default: ButtonSize; }; mode: { type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">; default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; }; bordered: { type: BooleanConstructor; default: boolean; }; showArrow: { type: BooleanConstructor; default: boolean; }; variant: { type: PropType<"filled" | "outlined" | "borderless" | "underlined">; default: "filled" | "outlined" | "borderless" | "underlined"; }; maxCount: NumberConstructor; transitionName: StringConstructor; choiceTransitionName: { type: PropType<"">; default: ""; }; popupClassName: StringConstructor; dropdownClassName: StringConstructor; placement: { type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">; default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; }; status: { type: PropType<"" | "error" | "warning">; default: "" | "error" | "warning"; }; 'onUpdate:value': { type: PropType<(val: SelectValue) => void>; default: (val: SelectValue) => void; }; children: PropType< VueNode[]>; listHeight: NumberConstructor; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; tabindex: NumberConstructor; onClick: PropType<(e: MouseEvent) => void>; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; open: { type: BooleanConstructor; default: any; }; animation: StringConstructor; direction: { type: PropType<"rtl" | "ltr">; }; disabled: { type: BooleanConstructor; default: any; }; prefixCls: StringConstructor; id: StringConstructor; autofocus: BooleanConstructor; getPopupContainer: { type: PropType<RenderDOMFunc>; }; virtual: { type: BooleanConstructor; default: any; }; dropdownMatchSelectWidth: { type: PropType<number | boolean>; default: any; }; placeholder: VueTypeValidableDef<any>; loading: { type: BooleanConstructor; default: any; }; prefix: VueTypeValidableDef<any>; clearIcon: VueTypeValidableDef<any>; allowClear: { type: BooleanConstructor; default: any; }; fieldNames: PropType<FieldNames>; inputValue: StringConstructor; searchValue: StringConstructor; onSearch: PropType<(value: string) => void>; autoClearSearchValue: { type: BooleanConstructor; default: any; }; onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>; filterOption: { type: PropType<boolean | FilterFunc<DefaultOptionType>>; default: any; }; filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>; optionFilterProp: StringConstructor; optionLabelProp: StringConstructor; options: PropType<DefaultOptionType[]>; defaultActiveFirstOption: { type: BooleanConstructor; default: any; }; listItemHeight: NumberConstructor; onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>; menuItemSelectedIcon: VueTypeValidableDef<any>; labelInValue: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; tagRender: { type: PropType<(props: CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record<string, any>) => any>; }; onClear: PropType<() => void>; defaultOpen: { type: BooleanConstructor; default: any; }; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType<number | "responsive">; }; maxTagPlaceholder: VueTypeValidableDef<any>; tokenSeparators: { type: PropType<string[]>; }; removeIcon: VueTypeValidableDef<any>; dropdownStyle: { type: PropType<CSSProperties>; }; dropdownRender: { type: PropType<DropdownRender>; }; dropdownAlign: PropType<AlignType>; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }>> & Readonly<{}>, () => VueNode, {}, {}, {}, { size: ButtonSize; value: SelectValue; mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE"; open: boolean; disabled: boolean; autofocus: boolean; variant: "filled" | "outlined" | "borderless" | "underlined"; virtual: boolean; dropdownMatchSelectWidth: number | boolean; loading: boolean; bordered: boolean; 'onUpdate:value': (val: SelectValue) => void; status: "" | "error" | "warning"; defaultValue: SelectValue; allowClear: boolean; autoClearSearchValue: boolean; filterOption: boolean | FilterFunc<DefaultOptionType>; defaultActiveFirstOption: boolean; labelInValue: boolean; showSearch: boolean; choiceTransitionName: ""; defaultOpen: boolean; placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight"; showArrow: boolean; }> | null; }, any>; declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };