import type { Key, VueNode } from '@antdv/ui/es/types'; import type { ExtractPropTypes, PropType } from 'vue'; import type { DisplayValueType } from '../../vc-select/src/BaseSelect'; import type { ExpandAction } from '../../vc-tree/src/props'; import type { CheckedStrategy } from './utils/strategyUtil'; export type OnInternalSelect = (value: RawValueType, info: { selected: boolean; }) => void; export type RawValueType = string | number; export interface LabeledValueType { key?: Key; value?: RawValueType; label?: any; /** Only works on `treeCheckStrictly` */ halfChecked?: boolean; } export type SelectSource = 'option' | 'selection' | 'input' | 'clear'; export type DraftValueType = RawValueType | LabeledValueType | Array; /** @deprecated This is only used for legacy compatible. Not works on new code. */ export interface LegacyCheckedNode { pos: string; node: any; children?: LegacyCheckedNode[]; } export interface ChangeEventExtra { /** @deprecated Please save prev value by control logic instead */ preValue: LabeledValueType[]; triggerValue: RawValueType; /** @deprecated Use `onSelect` or `onDeselect` instead. */ selected?: boolean; /** @deprecated Use `onSelect` or `onDeselect` instead. */ checked?: boolean; /** @deprecated This prop not work as react node anymore. */ triggerNode: any; /** @deprecated This prop not work as react node anymore. */ allCheckedNodes: LegacyCheckedNode[]; } export interface FieldNames { value?: string; label?: string; children?: string; } export interface InternalFieldName extends Omit { _title: string[]; } export interface SimpleModeConfig { id?: Key; pId?: Key; rootPId?: Key; } export interface BaseOptionType { disabled?: boolean; checkable?: boolean; disableCheckbox?: boolean; children?: BaseOptionType[]; [name: string]: any; } export interface DefaultOptionType extends BaseOptionType { value?: RawValueType; title?: any; label?: any; key?: Key; children?: DefaultOptionType[]; } export interface LegacyDataNode extends DefaultOptionType { props: any; } export declare function treeSelectProps(): { prefixCls: StringConstructor; id: StringConstructor; value: { type: PropType; }; defaultValue: { type: PropType; }; onChange: { type: PropType<(value: ValueType, labelList: any[], extra: ChangeEventExtra) => void>; }; searchValue: StringConstructor; /** @deprecated Use `searchValue` instead */ inputValue: StringConstructor; onSearch: { type: PropType<(value: string) => void>; }; autoClearSearchValue: { type: BooleanConstructor; default: any; }; filterTreeNode: { type: PropType boolean)>; default: any; }; treeNodeFilterProp: StringConstructor; onSelect: PropType>; onDeselect: PropType>; showCheckedStrategy: { type: PropType; }; treeNodeLabelProp: StringConstructor; fieldNames: { type: PropType; }; multiple: { type: BooleanConstructor; default: any; }; treeCheckable: { type: BooleanConstructor; default: any; }; treeCheckStrictly: { type: BooleanConstructor; default: any; }; labelInValue: { type: BooleanConstructor; default: any; }; treeData: { type: PropType; }; treeDataSimpleMode: { type: PropType; default: any; }; loadData: { type: PropType<(dataNode: LegacyDataNode) => Promise>; }; treeLoadedKeys: { type: PropType; }; onTreeLoad: { type: PropType<(loadedKeys: Key[]) => void>; }; treeDefaultExpandAll: { type: BooleanConstructor; default: any; }; treeExpandedKeys: { type: PropType; }; treeDefaultExpandedKeys: { type: PropType; }; onTreeExpand: { type: PropType<(expandedKeys: Key[]) => void>; }; virtual: { type: BooleanConstructor; default: any; }; listHeight: NumberConstructor; listItemHeight: NumberConstructor; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; treeLine: { type: (ObjectConstructor | BooleanConstructor)[]; default: any; }; treeIcon: any; showTreeIcon: { type: BooleanConstructor; default: any; }; switcherIcon: any; treeMotion: any; children: PropType; treeExpandAction: PropType; showArrow: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; open: { type: BooleanConstructor; default: any; }; defaultOpen: { type: BooleanConstructor; default: any; }; disabled: { type: BooleanConstructor; default: any; }; placeholder: any; maxTagPlaceholder: { type: PropType<(omittedValues: DisplayValueType[]) => any>; }; dropdownPopupAlign: any; customSlots: ObjectConstructor; animation: StringConstructor; direction: { type: PropType<"ltr" | "rtl">; }; notFoundContent: any; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onClick: PropType<(e: MouseEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; getPopupContainer: { type: PropType; }; dropdownMatchSelectWidth: { type: PropType; default: any; }; autofocus: BooleanConstructor; tabindex: NumberConstructor; loading: { type: BooleanConstructor; default: any; }; inputIcon: any; getInputElement: { type: PropType<() => any>; }; getRawInputElement: { type: PropType<() => any>; }; tagRender: { type: PropType<(props: import("../../vc-select/src/BaseSelect").CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record) => any>; }; onClear: PropType<() => void>; choiceTransitionName: StringConstructor; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType; }; tokenSeparators: { type: PropType; }; allowClear: { type: BooleanConstructor; default: any; }; clearIcon: any; removeIcon: any; transitionName: StringConstructor; dropdownStyle: { type: PropType; }; dropdownClassName: StringConstructor; dropdownRender: { type: PropType; }; dropdownAlign: PropType; placement: { type: PropType; }; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }; export type TreeSelectProps = Partial>>; declare const _default: import("vue").DefineComponent<{ prefixCls: StringConstructor; id: StringConstructor; value: { type: PropType; }; defaultValue: { type: PropType; }; onChange: { type: PropType<(value: any, labelList: any[], extra: ChangeEventExtra) => void>; }; searchValue: StringConstructor; /** @deprecated Use `searchValue` instead */ inputValue: StringConstructor; onSearch: { type: PropType<(value: string) => void>; }; autoClearSearchValue: { type: BooleanConstructor; default: any; }; filterTreeNode: { type: PropType boolean)>; default: any; }; treeNodeFilterProp: StringConstructor; onSelect: PropType>; onDeselect: PropType>; showCheckedStrategy: { type: PropType; }; treeNodeLabelProp: StringConstructor; fieldNames: { type: PropType; }; multiple: { type: BooleanConstructor; default: any; }; treeCheckable: { type: BooleanConstructor; default: any; }; treeCheckStrictly: { type: BooleanConstructor; default: any; }; labelInValue: { type: BooleanConstructor; default: any; }; treeData: { type: PropType; }; treeDataSimpleMode: { type: PropType; default: any; }; loadData: { type: PropType<(dataNode: LegacyDataNode) => Promise>; }; treeLoadedKeys: { type: PropType; }; onTreeLoad: { type: PropType<(loadedKeys: Key[]) => void>; }; treeDefaultExpandAll: { type: BooleanConstructor; default: any; }; treeExpandedKeys: { type: PropType; }; treeDefaultExpandedKeys: { type: PropType; }; onTreeExpand: { type: PropType<(expandedKeys: Key[]) => void>; }; virtual: { type: BooleanConstructor; default: any; }; listHeight: NumberConstructor; listItemHeight: NumberConstructor; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; treeLine: { type: (ObjectConstructor | BooleanConstructor)[]; default: any; }; treeIcon: any; showTreeIcon: { type: BooleanConstructor; default: any; }; switcherIcon: any; treeMotion: any; children: PropType; treeExpandAction: PropType; showArrow: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; open: { type: BooleanConstructor; default: any; }; defaultOpen: { type: BooleanConstructor; default: any; }; disabled: { type: BooleanConstructor; default: any; }; placeholder: any; maxTagPlaceholder: { type: PropType<(omittedValues: DisplayValueType[]) => any>; }; dropdownPopupAlign: any; customSlots: ObjectConstructor; animation: StringConstructor; direction: { type: PropType<"ltr" | "rtl">; }; notFoundContent: any; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onClick: PropType<(e: MouseEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; getPopupContainer: { type: PropType; }; dropdownMatchSelectWidth: { type: PropType; default: any; }; autofocus: BooleanConstructor; tabindex: NumberConstructor; loading: { type: BooleanConstructor; default: any; }; inputIcon: any; getInputElement: { type: PropType<() => any>; }; getRawInputElement: { type: PropType<() => any>; }; tagRender: { type: PropType<(props: import("../../vc-select/src/BaseSelect").CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record) => any>; }; onClear: PropType<() => void>; choiceTransitionName: StringConstructor; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType; }; tokenSeparators: { type: PropType; }; allowClear: { type: BooleanConstructor; default: any; }; clearIcon: any; removeIcon: any; transitionName: StringConstructor; dropdownStyle: { type: PropType; }; dropdownClassName: StringConstructor; dropdownRender: { type: PropType; }; dropdownAlign: PropType; placement: { type: PropType; }; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; }; defaultValue: { type: PropType; }; onChange: { type: PropType<(value: any, labelList: any[], extra: ChangeEventExtra) => void>; }; searchValue: StringConstructor; /** @deprecated Use `searchValue` instead */ inputValue: StringConstructor; onSearch: { type: PropType<(value: string) => void>; }; autoClearSearchValue: { type: BooleanConstructor; default: any; }; filterTreeNode: { type: PropType boolean)>; default: any; }; treeNodeFilterProp: StringConstructor; onSelect: PropType>; onDeselect: PropType>; showCheckedStrategy: { type: PropType; }; treeNodeLabelProp: StringConstructor; fieldNames: { type: PropType; }; multiple: { type: BooleanConstructor; default: any; }; treeCheckable: { type: BooleanConstructor; default: any; }; treeCheckStrictly: { type: BooleanConstructor; default: any; }; labelInValue: { type: BooleanConstructor; default: any; }; treeData: { type: PropType; }; treeDataSimpleMode: { type: PropType; default: any; }; loadData: { type: PropType<(dataNode: LegacyDataNode) => Promise>; }; treeLoadedKeys: { type: PropType; }; onTreeLoad: { type: PropType<(loadedKeys: Key[]) => void>; }; treeDefaultExpandAll: { type: BooleanConstructor; default: any; }; treeExpandedKeys: { type: PropType; }; treeDefaultExpandedKeys: { type: PropType; }; onTreeExpand: { type: PropType<(expandedKeys: Key[]) => void>; }; virtual: { type: BooleanConstructor; default: any; }; listHeight: NumberConstructor; listItemHeight: NumberConstructor; onDropdownVisibleChange: { type: PropType<(open: boolean) => void>; }; treeLine: { type: (ObjectConstructor | BooleanConstructor)[]; default: any; }; treeIcon: any; showTreeIcon: { type: BooleanConstructor; default: any; }; switcherIcon: any; treeMotion: any; children: PropType; treeExpandAction: PropType; showArrow: { type: BooleanConstructor; default: any; }; showSearch: { type: BooleanConstructor; default: any; }; open: { type: BooleanConstructor; default: any; }; defaultOpen: { type: BooleanConstructor; default: any; }; disabled: { type: BooleanConstructor; default: any; }; placeholder: any; maxTagPlaceholder: { type: PropType<(omittedValues: DisplayValueType[]) => any>; }; dropdownPopupAlign: any; customSlots: ObjectConstructor; animation: StringConstructor; direction: { type: PropType<"ltr" | "rtl">; }; notFoundContent: any; onFocus: { type: PropType<(e: FocusEvent) => void>; }; onBlur: { type: PropType<(e: FocusEvent) => void>; }; onKeydown: PropType<(e: KeyboardEvent) => void>; onKeyup: PropType<(e: KeyboardEvent) => void>; onClick: PropType<(e: MouseEvent) => void>; onMousedown: PropType<(e: MouseEvent) => void>; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; getPopupContainer: { type: PropType; }; dropdownMatchSelectWidth: { type: PropType; default: any; }; autofocus: BooleanConstructor; tabindex: NumberConstructor; loading: { type: BooleanConstructor; default: any; }; inputIcon: any; getInputElement: { type: PropType<() => any>; }; getRawInputElement: { type: PropType<() => any>; }; tagRender: { type: PropType<(props: import("../../vc-select/src/BaseSelect").CustomTagProps) => any>; }; optionLabelRender: { type: PropType<(option: Record) => any>; }; onClear: PropType<() => void>; choiceTransitionName: StringConstructor; maxTagTextLength: NumberConstructor; maxTagCount: { type: PropType; }; tokenSeparators: { type: PropType; }; allowClear: { type: BooleanConstructor; default: any; }; clearIcon: any; removeIcon: any; transitionName: StringConstructor; dropdownStyle: { type: PropType; }; dropdownClassName: StringConstructor; dropdownRender: { type: PropType; }; dropdownAlign: PropType; placement: { type: PropType; }; showAction: { type: PropType<("click" | "focus")[]>; }; onPopupScroll: PropType<(e: UIEvent) => void>; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; }>>, { open: boolean; disabled: boolean; multiple: boolean; placeholder: any; notFoundContent: any; virtual: boolean; dropdownMatchSelectWidth: number | boolean; autofocus: boolean; loading: boolean; showArrow: boolean; showSearch: boolean; inputIcon: any; autoClearSearchValue: boolean; labelInValue: boolean; defaultOpen: boolean; allowClear: boolean; clearIcon: any; removeIcon: any; switcherIcon: any; filterTreeNode: boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean); treeCheckable: boolean; treeCheckStrictly: boolean; treeDataSimpleMode: any; treeDefaultExpandAll: boolean; treeLine: boolean | Record; treeIcon: any; showTreeIcon: boolean; treeMotion: any; dropdownPopupAlign: any; }, {}>; export default _default;