import type { CheckedStrategy } from './utils/strategyUtil'; import type { Key } from './interface'; import type { DisplayValueType } from '../vc-select/BaseSelect'; import type { ExtractPropTypes, PropType } from 'vue'; import type { VueNode } from '../_util/type'; export declare type OnInternalSelect = (value: RawValueType, info: { selected: boolean; }) => void; export declare type RawValueType = string | number; export interface LabeledValueType { key?: Key; value?: RawValueType; label?: any; /** Only works on `treeCheckStrictly` */ halfChecked?: boolean; } export declare type SelectSource = 'option' | 'selection' | 'input' | 'clear'; export declare type DraftValueType = RawValueType | LabeledValueType | (RawValueType | LabeledValueType)[]; /** @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: import("vue-types").VueTypeValidableDef; showTreeIcon: { type: BooleanConstructor; default: any; }; switcherIcon: import("vue-types").VueTypeValidableDef; treeMotion: import("vue-types").VueTypeValidableDef; children: 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: import("vue-types").VueTypeValidableDef; maxTagPlaceholder: { type: PropType<(omittedValues: DisplayValueType[]) => any>; }; dropdownPopupAlign: import("vue-types").VueTypeValidableDef; customSlots: ObjectConstructor; 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>; direction: { type: PropType<"ltr" | "rtl">; }; animation: StringConstructor; tabindex: NumberConstructor; getPopupContainer: { type: PropType; }; dropdownMatchSelectWidth: { type: PropType; default: any; }; transitionName: StringConstructor; showAction: { type: PropType<("click" | "focus")[]>; }; placement: { type: PropType; }; autofocus: BooleanConstructor; dropdownStyle: { type: PropType; }; dropdownClassName: StringConstructor; dropdownRender: { type: PropType; }; dropdownAlign: PropType; loading: { type: BooleanConstructor; default: any; }; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; removeIcon: import("vue-types").VueTypeValidableDef; maxTagCount: { type: PropType; }; maxTagTextLength: NumberConstructor; tokenSeparators: { type: PropType; }; tagRender: { type: PropType<(props: import("../vc-select/BaseSelect").CustomTagProps) => any>; }; choiceTransitionName: StringConstructor; optionLabelRender: { type: PropType<(option: Record) => any>; }; notFoundContent: import("vue-types").VueTypeValidableDef; onClear: PropType<() => void>; getInputElement: { type: PropType<() => any>; }; getRawInputElement: { type: PropType<() => any>; }; allowClear: { type: BooleanConstructor; default: any; }; inputIcon: import("vue-types").VueTypeValidableDef; clearIcon: import("vue-types").VueTypeValidableDef; onPopupScroll: PropType<(e: UIEvent) => void>; }; export declare 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: import("vue-types").VueTypeValidableDef; showTreeIcon: { type: BooleanConstructor; default: any; }; switcherIcon: import("vue-types").VueTypeValidableDef; treeMotion: import("vue-types").VueTypeValidableDef; children: 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: import("vue-types").VueTypeValidableDef; maxTagPlaceholder: { type: PropType<(omittedValues: DisplayValueType[]) => any>; }; dropdownPopupAlign: import("vue-types").VueTypeValidableDef; customSlots: ObjectConstructor; 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>; direction: { type: PropType<"ltr" | "rtl">; }; animation: StringConstructor; tabindex: NumberConstructor; getPopupContainer: { type: PropType; }; dropdownMatchSelectWidth: { type: PropType; default: any; }; transitionName: StringConstructor; showAction: { type: PropType<("click" | "focus")[]>; }; placement: { type: PropType; }; autofocus: BooleanConstructor; dropdownStyle: { type: PropType; }; dropdownClassName: StringConstructor; dropdownRender: { type: PropType; }; dropdownAlign: PropType; loading: { type: BooleanConstructor; default: any; }; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; removeIcon: import("vue-types").VueTypeValidableDef; maxTagCount: { type: PropType; }; maxTagTextLength: NumberConstructor; tokenSeparators: { type: PropType; }; tagRender: { type: PropType<(props: import("../vc-select/BaseSelect").CustomTagProps) => any>; }; choiceTransitionName: StringConstructor; optionLabelRender: { type: PropType<(option: Record) => any>; }; notFoundContent: import("vue-types").VueTypeValidableDef; onClear: PropType<() => void>; getInputElement: { type: PropType<() => any>; }; getRawInputElement: { type: PropType<() => any>; }; allowClear: { type: BooleanConstructor; default: any; }; inputIcon: import("vue-types").VueTypeValidableDef; clearIcon: import("vue-types").VueTypeValidableDef; onPopupScroll: PropType<(e: UIEvent) => void>; }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, 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: import("vue-types").VueTypeValidableDef; showTreeIcon: { type: BooleanConstructor; default: any; }; switcherIcon: import("vue-types").VueTypeValidableDef; treeMotion: import("vue-types").VueTypeValidableDef; children: 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: import("vue-types").VueTypeValidableDef; maxTagPlaceholder: { type: PropType<(omittedValues: DisplayValueType[]) => any>; }; dropdownPopupAlign: import("vue-types").VueTypeValidableDef; customSlots: ObjectConstructor; 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>; direction: { type: PropType<"ltr" | "rtl">; }; animation: StringConstructor; tabindex: NumberConstructor; getPopupContainer: { type: PropType; }; dropdownMatchSelectWidth: { type: PropType; default: any; }; transitionName: StringConstructor; showAction: { type: PropType<("click" | "focus")[]>; }; placement: { type: PropType; }; autofocus: BooleanConstructor; dropdownStyle: { type: PropType; }; dropdownClassName: StringConstructor; dropdownRender: { type: PropType; }; dropdownAlign: PropType; loading: { type: BooleanConstructor; default: any; }; onInputKeyDown: PropType<(e: KeyboardEvent) => void>; removeIcon: import("vue-types").VueTypeValidableDef; maxTagCount: { type: PropType; }; maxTagTextLength: NumberConstructor; tokenSeparators: { type: PropType; }; tagRender: { type: PropType<(props: import("../vc-select/BaseSelect").CustomTagProps) => any>; }; choiceTransitionName: StringConstructor; optionLabelRender: { type: PropType<(option: Record) => any>; }; notFoundContent: import("vue-types").VueTypeValidableDef; onClear: PropType<() => void>; getInputElement: { type: PropType<() => any>; }; getRawInputElement: { type: PropType<() => any>; }; allowClear: { type: BooleanConstructor; default: any; }; inputIcon: import("vue-types").VueTypeValidableDef; clearIcon: import("vue-types").VueTypeValidableDef; onPopupScroll: PropType<(e: UIEvent) => void>; }>>, { open: boolean; multiple: boolean; disabled: boolean; virtual: boolean; dropdownMatchSelectWidth: number | boolean; autofocus: boolean; loading: boolean; filterTreeNode: boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean); treeCheckable: boolean; showSearch: boolean; defaultOpen: boolean; allowClear: boolean; showArrow: boolean; autoClearSearchValue: boolean; labelInValue: boolean; treeDefaultExpandAll: boolean; showTreeIcon: boolean; treeLine: boolean | Record; treeCheckStrictly: boolean; treeDataSimpleMode: any; }>; export default _default;