import DshNode from './node';
import type { PropType } from 'vue';
import type { DshCascaderNodeValue, DshCascaderOption, DshCascaderValue, DshRenderLabel } from './node';
declare const _default: import("vue").DefineComponent<{
    border: {
        type: BooleanConstructor;
        default: boolean;
    };
    onlyThis: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderLabel: PropType<DshRenderLabel>;
    modelValue: {
        readonly type: PropType<import("code-monkey-ui/es/utils").EpPropMergeType<(new (...args: any[]) => DshCascaderValue & {}) | (() => DshCascaderValue) | ((new (...args: any[]) => DshCascaderValue & {}) | (() => DshCascaderValue))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    options: import("code-monkey-ui/es/utils").EpPropFinalized<(new (...args: any[]) => DshCascaderOption[]) | (() => DshCascaderOption[]) | ((new (...args: any[]) => DshCascaderOption[]) | (() => DshCascaderOption[]))[], unknown, unknown, () => DshCascaderOption[], boolean>;
    props: import("code-monkey-ui/es/utils").EpPropFinalized<(new (...args: any[]) => import("./node").DshCascaderProps) | (() => import("./node").DshCascaderProps) | ((new (...args: any[]) => import("./node").DshCascaderProps) | (() => import("./node").DshCascaderProps))[], unknown, unknown, () => import("./node").DshCascaderProps, boolean>;
}, {
    ns: {
        namespace: import("vue").ComputedRef<string>;
        b: (blockSuffix?: string) => string;
        e: (element?: string | undefined) => string;
        m: (modifier?: string | undefined) => string;
        be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
        em: (element?: string | undefined, modifier?: string | undefined) => string;
        bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
        bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
        is: {
            (name: string, state: boolean | undefined): string;
            (name: string): string;
        };
        cssVar: (object: Record<string, string>) => Record<string, string>;
        cssVarName: (name: string) => string;
        cssVarBlock: (object: Record<string, string>) => Record<string, string>;
        cssVarBlockName: (name: string) => string;
    };
    menuList: import("vue").Ref<any[]>;
    menus: import("vue").Ref<{
        readonly uid: number;
        readonly level: number;
        readonly value: DshCascaderNodeValue;
        readonly label: string;
        readonly pathNodes: any[];
        readonly pathValues: DshCascaderNodeValue[];
        readonly pathLabels: string[];
        childrenData: {
            [x: string]: unknown;
            label?: string | undefined;
            value?: DshCascaderNodeValue | undefined;
            children?: any[] | undefined;
            disabled?: boolean | undefined;
            leaf?: boolean | undefined;
        }[] | undefined;
        children: any[];
        text: string;
        loaded: boolean;
        checked: boolean;
        indeterminate: boolean;
        loading: boolean;
        readonly data: {
            [x: string]: unknown;
            label?: string | undefined;
            value?: DshCascaderNodeValue | undefined;
            children?: any[] | undefined;
            disabled?: boolean | undefined;
            leaf?: boolean | undefined;
        } | null;
        readonly config: {
            expandTrigger: import("./node").DshExpandTrigger;
            multiple: boolean;
            maxCollapseTags: number;
            checkStrictly: boolean;
            emitPath: boolean;
            lazy: boolean;
            lazyLoad: import("./node").DshLazyLoad;
            value: string;
            label: string;
            children: string;
            disabled: string | import("./node").DshIsDisabled;
            leaf: string | import("./node").DshIsLeaf;
            hoverThreshold: number;
        };
        readonly parent?: any | undefined;
        readonly root: boolean;
        readonly DshIsDisabled: boolean;
        readonly DshIsLeaf: boolean;
        readonly valueByOption: DshCascaderNodeValue | DshCascaderNodeValue[];
        appendChild: (childData: DshCascaderOption) => DshNode;
        calcText: (allLevels: boolean, separator: string) => string;
        broadcast: (event: string, ...args: unknown[]) => void;
        emit: (event: string, ...args: unknown[]) => void;
        onParentCheck: (checked: boolean) => void;
        onChildCheck: () => void;
        setCheckState: (checked: boolean) => void;
        doCheck: (checked: boolean) => void;
    }[][]>;
    checkedNodes: import("vue").Ref<{
        readonly uid: number;
        readonly level: number;
        readonly value: DshCascaderNodeValue;
        readonly label: string;
        readonly pathNodes: any[];
        readonly pathValues: DshCascaderNodeValue[];
        readonly pathLabels: string[];
        childrenData: {
            [x: string]: unknown;
            label?: string | undefined;
            value?: DshCascaderNodeValue | undefined;
            children?: any[] | undefined;
            disabled?: boolean | undefined;
            leaf?: boolean | undefined;
        }[] | undefined;
        children: any[];
        text: string;
        loaded: boolean;
        checked: boolean;
        indeterminate: boolean;
        loading: boolean;
        readonly data: {
            [x: string]: unknown;
            label?: string | undefined;
            value?: DshCascaderNodeValue | undefined;
            children?: any[] | undefined;
            disabled?: boolean | undefined;
            leaf?: boolean | undefined;
        } | null;
        readonly config: {
            expandTrigger: import("./node").DshExpandTrigger;
            multiple: boolean;
            maxCollapseTags: number;
            checkStrictly: boolean;
            emitPath: boolean;
            lazy: boolean;
            lazyLoad: import("./node").DshLazyLoad;
            value: string;
            label: string;
            children: string;
            disabled: string | import("./node").DshIsDisabled;
            leaf: string | import("./node").DshIsLeaf;
            hoverThreshold: number;
        };
        readonly parent?: any | undefined;
        readonly root: boolean;
        readonly DshIsDisabled: boolean;
        readonly DshIsLeaf: boolean;
        readonly valueByOption: DshCascaderNodeValue | DshCascaderNodeValue[];
        appendChild: (childData: DshCascaderOption) => DshNode;
        calcText: (allLevels: boolean, separator: string) => string;
        broadcast: (event: string, ...args: unknown[]) => void;
        emit: (event: string, ...args: unknown[]) => void;
        onParentCheck: (checked: boolean) => void;
        onChildCheck: () => void;
        setCheckState: (checked: boolean) => void;
        doCheck: (checked: boolean) => void;
    }[]>;
    handleKeyDown: (e: KeyboardEvent) => void;
    handleCheckChange: (node: DshNode, checked: boolean, emitClose?: boolean | undefined) => void;
    getFlattedNodes: (leafOnly: boolean) => DshNode[] | undefined;
    /**
     * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`
     */
    getCheckedNodes: (leafOnly: boolean) => DshNode[] | undefined;
    /**
     * @description clear checked nodes
     */
    clearCheckedNodes: () => void;
    calculateCheckedValue: () => void;
    scrollToExpandingNode: () => void;
    expandParentNode: (node: any) => void;
    onlyThisConfirm: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "close" | "expand-change" | "confirm")[], "change" | "close" | "update:modelValue" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    border: {
        type: BooleanConstructor;
        default: boolean;
    };
    onlyThis: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderLabel: PropType<DshRenderLabel>;
    modelValue: {
        readonly type: PropType<import("code-monkey-ui/es/utils").EpPropMergeType<(new (...args: any[]) => DshCascaderValue & {}) | (() => DshCascaderValue) | ((new (...args: any[]) => DshCascaderValue & {}) | (() => DshCascaderValue))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    options: import("code-monkey-ui/es/utils").EpPropFinalized<(new (...args: any[]) => DshCascaderOption[]) | (() => DshCascaderOption[]) | ((new (...args: any[]) => DshCascaderOption[]) | (() => DshCascaderOption[]))[], unknown, unknown, () => DshCascaderOption[], boolean>;
    props: import("code-monkey-ui/es/utils").EpPropFinalized<(new (...args: any[]) => import("./node").DshCascaderProps) | (() => import("./node").DshCascaderProps) | ((new (...args: any[]) => import("./node").DshCascaderProps) | (() => import("./node").DshCascaderProps))[], unknown, unknown, () => import("./node").DshCascaderProps, boolean>;
}>> & {
    onChange?: ((...args: any[]) => any) | undefined;
    onClose?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onConfirm?: ((...args: any[]) => any) | undefined;
    "onExpand-change"?: ((...args: any[]) => any) | undefined;
}, {
    props: import("./node").DshCascaderProps;
    border: boolean;
    options: DshCascaderOption[];
    onlyThis: boolean;
}>;
export default _default;
