import type { GenerateConfig } from '../vc-select/generate';
import type { DefaultValueType, DataNode, LabelValueType, ChangeEventExtra, FlattenDataNode } from './interface';
export default function generate(config: {
    prefixCls: string;
    optionList: GenerateConfig<DataNode>['components']['optionList'];
}): import("vue").DefineComponent<{
    multiple: {
        type: BooleanConstructor;
        default: any;
    };
    showArrow: {
        type: BooleanConstructor;
        default: any;
    };
    showSearch: {
        type: BooleanConstructor;
        default: any;
    };
    open: {
        type: BooleanConstructor;
        default: any;
    };
    defaultOpen: {
        type: BooleanConstructor;
        default: any;
    };
    value: {
        type: import("vue").PropType<DefaultValueType>;
    };
    defaultValue: {
        type: import("vue").PropType<DefaultValueType>;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    placeholder: import("vue-types").VueTypeValidableDef<any>;
    inputValue: StringConstructor;
    searchValue: StringConstructor;
    autoClearSearchValue: {
        type: BooleanConstructor;
        default: any;
    };
    maxTagPlaceholder: {
        type: import("vue").PropType<(omittedValues: LabelValueType[]) => any>;
    };
    fieldNames: {
        type: import("vue").PropType<import("./interface").FieldNames>;
    };
    loadData: {
        type: import("vue").PropType<(dataNode: import("./interface").LegacyDataNode) => Promise<unknown>>;
    };
    treeNodeFilterProp: StringConstructor;
    treeNodeLabelProp: StringConstructor;
    treeDataSimpleMode: {
        type: import("vue").PropType<boolean | import("./interface").SimpleModeConfig>;
        default: any;
    };
    treeExpandedKeys: {
        type: import("vue").PropType<import("../_util/type").Key[]>;
    };
    treeDefaultExpandedKeys: {
        type: import("vue").PropType<import("../_util/type").Key[]>;
    };
    treeLoadedKeys: {
        type: import("vue").PropType<import("../_util/type").Key[]>;
    };
    treeCheckable: {
        type: BooleanConstructor;
        default: any;
    };
    treeCheckStrictly: {
        type: BooleanConstructor;
        default: any;
    };
    showCheckedStrategy: {
        type: import("vue").PropType<import("./utils/strategyUtil").CheckedStrategy>;
    };
    treeDefaultExpandAll: {
        type: BooleanConstructor;
        default: any;
    };
    treeData: {
        type: import("vue").PropType<DataNode[]>;
    };
    treeLine: {
        type: BooleanConstructor;
        default: any;
    };
    treeIcon: import("vue-types").VueTypeValidableDef<any>;
    showTreeIcon: {
        type: BooleanConstructor;
        default: any;
    };
    switcherIcon: import("vue-types").VueTypeValidableDef<any>;
    treeMotion: import("vue-types").VueTypeValidableDef<any>;
    children: ArrayConstructor;
    filterTreeNode: {
        type: import("vue").PropType<boolean | import("../vc-select/interface/generator").FilterFunc<import("./interface").LegacyDataNode>>;
        default: any;
    };
    dropdownPopupAlign: import("vue-types").VueTypeValidableDef<any>;
    onSearch: {
        type: import("vue").PropType<(value: string) => void>;
    };
    onChange: {
        type: import("vue").PropType<(value: DefaultValueType, labelList: any[], extra: ChangeEventExtra) => void>;
    };
    onTreeExpand: {
        type: import("vue").PropType<(expandedKeys: import("../_util/type").Key[]) => void>;
    };
    onTreeLoad: {
        type: import("vue").PropType<(loadedKeys: import("../_util/type").Key[]) => void>;
    };
    onDropdownVisibleChange: {
        type: import("vue").PropType<(open: boolean) => void>;
    };
    searchPlaceholder: import("vue-types").VueTypeValidableDef<any>;
    labelRender: {
        type: import("vue").PropType<(entity: FlattenDataNode) => any>;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    multiple?: unknown;
    showArrow?: unknown;
    showSearch?: unknown;
    open?: unknown;
    defaultOpen?: unknown;
    value?: unknown;
    defaultValue?: unknown;
    disabled?: unknown;
    placeholder?: unknown;
    inputValue?: unknown;
    searchValue?: unknown;
    autoClearSearchValue?: unknown;
    maxTagPlaceholder?: unknown;
    fieldNames?: unknown;
    loadData?: unknown;
    treeNodeFilterProp?: unknown;
    treeNodeLabelProp?: unknown;
    treeDataSimpleMode?: unknown;
    treeExpandedKeys?: unknown;
    treeDefaultExpandedKeys?: unknown;
    treeLoadedKeys?: unknown;
    treeCheckable?: unknown;
    treeCheckStrictly?: unknown;
    showCheckedStrategy?: unknown;
    treeDefaultExpandAll?: unknown;
    treeData?: unknown;
    treeLine?: unknown;
    treeIcon?: unknown;
    showTreeIcon?: unknown;
    switcherIcon?: unknown;
    treeMotion?: unknown;
    children?: unknown;
    filterTreeNode?: unknown;
    dropdownPopupAlign?: unknown;
    onSearch?: unknown;
    onChange?: unknown;
    onTreeExpand?: unknown;
    onTreeLoad?: unknown;
    onDropdownVisibleChange?: unknown;
    searchPlaceholder?: unknown;
    labelRender?: unknown;
} & {} & {
    open?: boolean;
    disabled?: boolean;
    value?: unknown;
    children?: unknown[];
    multiple?: boolean;
    onChange?: (value: DefaultValueType, labelList: any[], extra: ChangeEventExtra) => void;
    placeholder?: any;
    defaultValue?: unknown;
    showSearch?: boolean;
    loadData?: (dataNode: import("./interface").LegacyDataNode) => Promise<unknown>;
    fieldNames?: unknown;
    onSearch?: (value: string) => void;
    inputValue?: string;
    showArrow?: boolean;
    defaultOpen?: boolean;
    searchPlaceholder?: any;
    switcherIcon?: any;
    treeData?: DataNode[];
    filterTreeNode?: boolean | import("../vc-select/interface/generator").FilterFunc<import("./interface").LegacyDataNode>;
    showTreeIcon?: boolean;
    treeMotion?: any;
    treeIcon?: any;
    maxTagPlaceholder?: (omittedValues: LabelValueType[]) => any;
    treeLine?: boolean;
    searchValue?: string;
    autoClearSearchValue?: boolean;
    onDropdownVisibleChange?: (open: boolean) => void;
    treeNodeFilterProp?: string;
    treeNodeLabelProp?: string;
    treeDataSimpleMode?: any;
    treeExpandedKeys?: import("../_util/type").Key[];
    treeDefaultExpandedKeys?: import("../_util/type").Key[];
    treeLoadedKeys?: import("../_util/type").Key[];
    treeCheckable?: boolean;
    treeCheckStrictly?: boolean;
    showCheckedStrategy?: import("./utils/strategyUtil").CheckedStrategy;
    treeDefaultExpandAll?: boolean;
    dropdownPopupAlign?: any;
    onTreeExpand?: (expandedKeys: import("../_util/type").Key[]) => void;
    onTreeLoad?: (loadedKeys: import("../_util/type").Key[]) => void;
    labelRender?: (entity: FlattenDataNode) => any;
}>, {
    open: boolean;
    disabled: boolean;
    multiple: boolean;
    showSearch: boolean;
    showArrow: boolean;
    defaultOpen: boolean;
    filterTreeNode: boolean | import("../vc-select/interface/generator").FilterFunc<import("./interface").LegacyDataNode>;
    showTreeIcon: boolean;
    treeLine: boolean;
    autoClearSearchValue: boolean;
    treeDataSimpleMode: any;
    treeCheckable: boolean;
    treeCheckStrictly: boolean;
    treeDefaultExpandAll: boolean;
}>;
