import { PropType } from 'vue';
import { type PopoverPropTypes } from '../popover';
import { INode } from './interface';
import Store from './store';
/**
 * Cascader 组件
 * 用于展示级联选择器，支持多选、单选、搜索、远程加载等功能。
 */
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    modelValue: import("vue-types").VueTypeDef<(string | number | string[])[]>;
    list: import("vue-types").VueTypeValidableDef<unknown[], import("vue-types/dist/shared/vue-types.d8e57a80").b<unknown[]>> & {
        default: () => unknown[];
    } & {
        default: () => unknown[];
    };
    placeholder: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    behavior: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    filterable: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    multiple: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    disabled: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    clearable: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    trigger: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    checkAnyLevel: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    isRemote: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    remoteMethod: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    showCompleteName: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    idKey: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    nameKey: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    childrenKey: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    separator: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    limitOneLine: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    popoverOptions: PropType<Partial<PopoverPropTypes>>;
    extCls: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    filterMethod: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    scrollHeight: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    scrollWidth: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    customTextFillback: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    customTagsFillback: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    changeEmitsNodes: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    collapseTags: {
        type: BooleanConstructor;
        default: boolean;
    };
    floatMode: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    calcuPlaceholder: import("vue").ComputedRef<string>;
    bkCascaderRef: import("vue").Ref<any, any>;
    inputRef: import("vue").Ref<any, any>;
    overflowTagIndex: import("vue").Ref<number, number>;
    isCollapse: import("vue").ComputedRef<boolean>;
    isFocus: import("vue").Ref<boolean, boolean>;
    isAlways: import("vue").Ref<boolean, boolean>;
    store: import("vue").Ref<{
        data: {
            id: string;
            name: string;
            leaf?: boolean;
            disabled?: boolean;
            children?: /*elided*/ any[];
        }[];
        config: {
            checkAnyLevel: boolean;
            childrenKey: string;
            clearable: boolean;
            disabled: boolean;
            idKey: string;
            isRemote: boolean;
            multiple: boolean;
            nameKey: string;
            showCompleteName: boolean;
            trigger: string;
            separator: string;
            remoteMethod: Function;
        };
        nodes: {
            checked: boolean;
            children?: null | null[];
            config: {
                checkAnyLevel: boolean;
                childrenKey: string;
                clearable: boolean;
                disabled: boolean;
                idKey: string;
                isRemote: boolean;
                multiple: boolean;
                nameKey: string;
                showCompleteName: boolean;
                trigger: string;
                separator: string;
                remoteMethod: Function;
            };
            data: {
                id: string;
                name: string;
                leaf?: boolean;
                disabled?: boolean;
                children?: /*elided*/ any[];
            };
            leaf: boolean;
            id: string;
            level: number;
            loading: boolean;
            loaded: boolean;
            name: string;
            parent?: /*elided*/ any;
            isDisabled: boolean;
            isIndeterminate: boolean;
            isLeaf: boolean;
            pathNames: string[];
            path: string[];
            setNodeCheck: (status: boolean) => void;
            broadcast: (event: string, check: boolean) => void;
            emit: (event: string) => void;
        }[];
        getNodes: () => INode[];
        clearChecked: () => void;
        removeTag: (tag: string[]) => void;
        getFlattedNodes: (leafOnly?: boolean) => any;
        setNodesCheck: (nodes: Array<string[]>) => void;
        getCheckedNodes: () => any;
        getCheckedLeafNodes: () => any;
        getNodeByValue: (value: Array<number | string | string[]>) => INode;
        getNodeById: (id: number | string) => INode;
        appendNode: (nodeData: import("./interface").IData, parentNode: import("./interface").IData) => void;
        appendNodes: (nodeDataList: import("./interface").IData[], parentNode: import("./interface").IData) => void;
    }, Store | {
        data: {
            id: string;
            name: string;
            leaf?: boolean;
            disabled?: boolean;
            children?: /*elided*/ any[];
        }[];
        config: {
            checkAnyLevel: boolean;
            childrenKey: string;
            clearable: boolean;
            disabled: boolean;
            idKey: string;
            isRemote: boolean;
            multiple: boolean;
            nameKey: string;
            showCompleteName: boolean;
            trigger: string;
            separator: string;
            remoteMethod: Function;
        };
        nodes: {
            checked: boolean;
            children?: null | null[];
            config: {
                checkAnyLevel: boolean;
                childrenKey: string;
                clearable: boolean;
                disabled: boolean;
                idKey: string;
                isRemote: boolean;
                multiple: boolean;
                nameKey: string;
                showCompleteName: boolean;
                trigger: string;
                separator: string;
                remoteMethod: Function;
            };
            data: {
                id: string;
                name: string;
                leaf?: boolean;
                disabled?: boolean;
                children?: /*elided*/ any[];
            };
            leaf: boolean;
            id: string;
            level: number;
            loading: boolean;
            loaded: boolean;
            name: string;
            parent?: /*elided*/ any;
            isDisabled: boolean;
            isIndeterminate: boolean;
            isLeaf: boolean;
            pathNames: string[];
            path: string[];
            setNodeCheck: (status: boolean) => void;
            broadcast: (event: string, check: boolean) => void;
            emit: (event: string) => void;
        }[];
        getNodes: () => INode[];
        clearChecked: () => void;
        removeTag: (tag: string[]) => void;
        getFlattedNodes: (leafOnly?: boolean) => any;
        setNodesCheck: (nodes: Array<string[]>) => void;
        getCheckedNodes: () => any;
        getCheckedLeafNodes: () => any;
        getNodeByValue: (value: Array<number | string | string[]>) => INode;
        getNodeById: (id: number | string) => INode;
        appendNode: (nodeData: import("./interface").IData, parentNode: import("./interface").IData) => void;
        appendNodes: (nodeDataList: import("./interface").IData[], parentNode: import("./interface").IData) => void;
    }>;
    updateValue: (val: Array<number | string | string[]>) => void;
    selectedText: import("vue").Ref<string, string>;
    checkedValue: import("vue").WritableComputedRef<(string | number | string[])[], (string | number | string[])[]>;
    handleClear: (e: Event) => void;
    isHover: import("vue").Ref<boolean, boolean>;
    setHover: () => void;
    popover: import("vue").Ref<any, any>;
    cancelHover: () => void;
    selectedTags: import("vue").Ref<any[], any[]>;
    removeTag: (value: any, index: any, e: any) => void;
    cascaderPanel: import("vue").Ref<any, any>;
    popoverChangeEmitter: (val: any) => void;
    searchKey: import("vue").Ref<string, string>;
    suggestions: import("vue").Ref<any[], any[]>;
    isFiltering: import("vue").Ref<boolean, boolean>;
    searchInputHandler: {
        (this: any): any;
        cancel(): void;
    };
    focusEmitter: () => void;
    tagList: import("vue").ComputedRef<any>;
    isEdit: import("vue").Ref<boolean, boolean>;
    displayText: import("vue").ComputedRef<any>;
    resolveClassName: (cls: string) => string;
    isShowPanel: import("vue").Ref<boolean, boolean>;
    searchBlueHandler: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "change" | "toggle" | "clear" | "update:modelValue")[], "focus" | "change" | "toggle" | "clear" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: import("vue-types").VueTypeDef<(string | number | string[])[]>;
    list: import("vue-types").VueTypeValidableDef<unknown[], import("vue-types/dist/shared/vue-types.d8e57a80").b<unknown[]>> & {
        default: () => unknown[];
    } & {
        default: () => unknown[];
    };
    placeholder: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    behavior: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    filterable: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    multiple: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    disabled: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    clearable: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    trigger: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    checkAnyLevel: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    isRemote: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    remoteMethod: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    showCompleteName: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    idKey: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    nameKey: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    childrenKey: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    separator: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    limitOneLine: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    popoverOptions: PropType<Partial<PopoverPropTypes>>;
    extCls: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    } & {
        default: string;
    };
    filterMethod: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    scrollHeight: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    scrollWidth: import("vue-types").VueTypeDef<string | number> & {
        default: string | number;
    };
    customTextFillback: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    customTagsFillback: import("vue-types").VueTypeValidableDef<(...args: any[]) => any, import("vue-types/dist/shared/vue-types.d8e57a80").b<(...args: any[]) => any>> & {
        default: (...args: any[]) => any;
    };
    changeEmitsNodes: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>> & {
        default: boolean;
    };
    collapseTags: {
        type: BooleanConstructor;
        default: boolean;
    };
    floatMode: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onFocus?: (...args: any[]) => any;
    onChange?: (...args: any[]) => any;
    onToggle?: (...args: any[]) => any;
    onClear?: (...args: any[]) => any;
    "onUpdate:modelValue"?: (...args: any[]) => any;
}>, {
    separator: string;
    multiple: boolean;
    disabled: boolean;
    trigger: string;
    extCls: string;
    scrollHeight: string | number;
    scrollWidth: string | number;
    placeholder: string;
    list: unknown[];
    behavior: string;
    clearable: boolean;
    checkAnyLevel: boolean;
    filterable: boolean;
    collapseTags: boolean;
    remoteMethod: (...args: any[]) => any;
    idKey: string;
    nameKey: string;
    childrenKey: string;
    filterMethod: (...args: any[]) => any;
    customTextFillback: (...args: any[]) => any;
    customTagsFillback: (...args: any[]) => any;
    isRemote: boolean;
    showCompleteName: boolean;
    limitOneLine: boolean;
    changeEmitsNodes: boolean;
    floatMode: boolean;
}, {}, {}, {
    bkTooltips: import("vue").ObjectDirective<any, any, string, any>;
}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
