import type { ExtractPropTypes } from 'vue';
import type { InputStatus, Key, SizeType } from '@antdv/ui/es/types';
import type { BaseOptionType, DefaultOptionType, FieldNames } from '@antdv/ui/es/vue-components/vc-tree-select/src/TreeSelect';
export declare function treeSelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(): {
    suffixIcon: any;
    size: {
        type: import("vue").PropType<SizeType>;
        default: SizeType;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    treeLine: {
        type: import("vue").PropType<boolean | {
            showLeafIcon: boolean;
        }>;
        default: boolean | {
            showLeafIcon: boolean;
        };
    };
    replaceFields: {
        type: import("vue").PropType<FieldNames>;
        default: FieldNames;
    };
    placement: {
        type: import("vue").PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
        default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
    };
    status: {
        type: import("vue").PropType<InputStatus>;
        default: InputStatus;
    };
    popupClassName: StringConstructor;
    /** @deprecated Please use `popupClassName` instead */
    dropdownClassName: StringConstructor;
    'onUpdate:value': {
        type: import("vue").PropType<(value: any) => void>;
        default: (value: any) => void;
    };
    'onUpdate:treeExpandedKeys': {
        type: import("vue").PropType<(keys: Key[]) => void>;
        default: (keys: Key[]) => void;
    };
    'onUpdate:searchValue': {
        type: import("vue").PropType<(value: string) => void>;
        default: (value: string) => void;
    };
    value: {
        type: import("vue").PropType<ValueType>;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    placeholder: any;
    notFoundContent: any;
    id: StringConstructor;
    open: {
        type: BooleanConstructor;
        default: any;
    };
    direction: {
        type: import("vue").PropType<"ltr" | "rtl">;
    };
    animation: StringConstructor;
    multiple: {
        type: BooleanConstructor;
        default: any;
    };
    defaultValue: {
        type: import("vue").PropType<ValueType>;
    };
    prefixCls: StringConstructor;
    onChange: {
        type: import("vue").PropType<(value: ValueType, labelList: any[], extra: import("@antdv/ui/es/vue-components/vc-tree-select/src/TreeSelect").ChangeEventExtra) => void>;
    };
    onClick: import("vue").PropType<(e: MouseEvent) => void>;
    getRawInputElement: {
        type: import("vue").PropType<() => any>;
    };
    fieldNames: {
        type: import("vue").PropType<FieldNames>;
    };
    inputValue: StringConstructor;
    searchValue: StringConstructor;
    onSearch: {
        type: import("vue").PropType<(value: string) => void>;
    };
    autoClearSearchValue: {
        type: BooleanConstructor;
        default: any;
    };
    onSelect: import("vue").PropType<import("../../../vue-components/vc-select/src/Select").SelectHandler<unknown, import("../..").BaseSelectOption>>;
    onDeselect: import("vue").PropType<import("../../../vue-components/vc-select/src/Select").SelectHandler<unknown, import("../..").BaseSelectOption>>;
    virtual: {
        type: BooleanConstructor;
        default: any;
    };
    listHeight: NumberConstructor;
    listItemHeight: NumberConstructor;
    labelInValue: {
        type: BooleanConstructor;
        default: any;
    };
    children: import("vue").PropType<import("@antdv/ui/es/types").VueNode[]>;
    showSearch: {
        type: BooleanConstructor;
        default: any;
    };
    tagRender: {
        type: import("vue").PropType<(props: import("../../../vue-components/vc-select/src/BaseSelect").CustomTagProps) => any>;
    };
    optionLabelRender: {
        type: import("vue").PropType<(option: Record<string, any>) => any>;
    };
    tabindex: NumberConstructor;
    autofocus: BooleanConstructor;
    onClear: import("vue").PropType<() => void>;
    choiceTransitionName: StringConstructor;
    loading: {
        type: BooleanConstructor;
        default: any;
    };
    defaultOpen: {
        type: BooleanConstructor;
        default: any;
    };
    onDropdownVisibleChange: {
        type: import("vue").PropType<(open: boolean) => void>;
    };
    maxTagTextLength: NumberConstructor;
    maxTagCount: {
        type: import("vue").PropType<number | "responsive">;
    };
    maxTagPlaceholder: {
        type: import("vue").PropType<(omittedValues: import("../../../vue-components/vc-select/src/BaseSelect").DisplayValueType[]) => any>;
    };
    tokenSeparators: {
        type: import("vue").PropType<string[]>;
    };
    allowClear: {
        type: BooleanConstructor;
        default: any;
    };
    showArrow: {
        type: BooleanConstructor;
        default: any;
    };
    clearIcon: any;
    removeIcon: any;
    transitionName: StringConstructor;
    dropdownStyle: {
        type: import("vue").PropType<import("vue").CSSProperties>;
    };
    dropdownMatchSelectWidth: {
        type: import("vue").PropType<number | boolean>;
        default: any;
    };
    dropdownRender: {
        type: import("vue").PropType<import("../../../vue-components/vc-select/src/BaseSelect").DropdownRender>;
    };
    dropdownAlign: import("vue").PropType<import("../../../vue-components/vc-trigger/src/interface").AlignType>;
    getPopupContainer: {
        type: import("vue").PropType<import("../../../vue-components/vc-select/src/BaseSelect").RenderDOMFunc>;
    };
    showAction: {
        type: import("vue").PropType<("focus" | "click")[]>;
    };
    onBlur: {
        type: import("vue").PropType<(e: FocusEvent) => void>;
    };
    onFocus: {
        type: import("vue").PropType<(e: FocusEvent) => void>;
    };
    onKeyup: import("vue").PropType<(e: KeyboardEvent) => void>;
    onKeydown: import("vue").PropType<(e: KeyboardEvent) => void>;
    onMousedown: import("vue").PropType<(e: MouseEvent) => void>;
    onPopupScroll: import("vue").PropType<(e: UIEvent) => void>;
    onInputKeyDown: import("vue").PropType<(e: KeyboardEvent) => void>;
    onMouseenter: import("vue").PropType<(e: MouseEvent) => void>;
    onMouseleave: import("vue").PropType<(e: MouseEvent) => void>;
    showCheckedStrategy: {
        type: import("vue").PropType<import("../../../vue-components/vc-tree-select/src/utils/strategyUtil").CheckedStrategy>;
    };
    loadData: {
        type: import("vue").PropType<(dataNode: import("@antdv/ui/es/vue-components/vc-tree-select/src/TreeSelect").LegacyDataNode) => Promise<unknown>>;
    };
    switcherIcon: any;
    treeData: {
        type: import("vue").PropType<OptionType[]>;
    };
    filterTreeNode: {
        type: import("vue").PropType<boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean)>;
        default: any;
    };
    treeNodeFilterProp: StringConstructor;
    treeNodeLabelProp: StringConstructor;
    treeCheckable: {
        type: BooleanConstructor;
        default: any;
    };
    treeCheckStrictly: {
        type: BooleanConstructor;
        default: any;
    };
    treeDataSimpleMode: {
        type: import("vue").PropType<boolean | import("@antdv/ui/es/vue-components/vc-tree-select/src/TreeSelect").SimpleModeConfig>;
        default: any;
    };
    treeLoadedKeys: {
        type: import("vue").PropType<Key[]>;
    };
    onTreeLoad: {
        type: import("vue").PropType<(loadedKeys: Key[]) => void>;
    };
    treeDefaultExpandAll: {
        type: BooleanConstructor;
        default: any;
    };
    treeExpandedKeys: {
        type: import("vue").PropType<Key[]>;
    };
    treeDefaultExpandedKeys: {
        type: import("vue").PropType<Key[]>;
    };
    onTreeExpand: {
        type: import("vue").PropType<(expandedKeys: Key[]) => void>;
    };
    treeIcon: any;
    treeExpandAction: import("vue").PropType<import("../../../vue-components/vc-tree/src/props").ExpandAction>;
    dropdownPopupAlign: any;
};
export type TreeSelectProps = Partial<ExtractPropTypes<ReturnType<typeof treeSelectProps>>>;
