import { type Ref } from 'vue';
import { type CascaderValue, type CascaderOption, type CascaderProps, type CascaderStateNode } from './common';
import { type UseOptionKeysReturn } from '../../use';
export declare function useCascaderTree(props: CascaderProps, config: {
    useOptionKeysReturn: UseOptionKeysReturn;
    innerValue: Ref<CascaderValue | undefined>;
}): {
    treeData: Ref<{
        label: string;
        value: string | number;
        key: string | number;
        disabled: boolean;
        children?: any[] | undefined;
        parent: any | null;
        isLeaf: boolean;
        loadStatus: "idle" | "loading" | "loaded";
        depth: number;
        indeterminate: boolean;
        checked: boolean;
        selected: boolean;
        option: {
            [x: string]: any;
            [x: number]: any;
            [x: symbol]: any;
            label?: string | undefined;
            value?: (string | number) | undefined;
            disabled?: boolean | undefined;
            children?: any[] | undefined;
            isLeaf?: boolean | undefined;
        };
    }[], CascaderStateNode[] | {
        label: string;
        value: string | number;
        key: string | number;
        disabled: boolean;
        children?: any[] | undefined;
        parent: any | null;
        isLeaf: boolean;
        loadStatus: "idle" | "loading" | "loaded";
        depth: number;
        indeterminate: boolean;
        checked: boolean;
        selected: boolean;
        option: {
            [x: string]: any;
            [x: number]: any;
            [x: symbol]: any;
            label?: string | undefined;
            value?: (string | number) | undefined;
            disabled?: boolean | undefined;
            children?: any[] | undefined;
            isLeaf?: boolean | undefined;
        };
    }[]>;
    originalTreeData: import("vue").ShallowRef<CascaderOption[], CascaderOption[]>;
    loadStatus: Ref<"loading" | "error" | "idle" | "loaded", "loading" | "error" | "idle" | "loaded">;
    legacyLoadChildren: Ref<boolean, boolean>;
    toStateNodes: (options: CascaderOption[], parent: CascaderStateNode | null) => CascaderStateNode[];
    setSelectedByNode: (node: CascaderStateNode) => void;
    updateChecked: (value?: CascaderValue) => void;
    setCheckedByNode: (node: CascaderStateNode, checked: boolean) => void;
    isLeaf: (node: CascaderStateNode) => boolean;
    getCheckedLeaves: () => CascaderStateNode[];
    getCheckedNodes: () => CascaderStateNode[];
    getAncestors: (node: CascaderStateNode) => CascaderStateNode[];
    initialize: () => Promise<void>;
};
