import { PropType } from 'vue';
import { Data } from '../_utils/types';
import { CascaderOption, CascaderOptionInfo } from './interface';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    pathMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: PropType<string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined>;
    };
    defaultValue: {
        type: PropType<string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined>;
        default: (props: Data) => "" | never[] | undefined;
    };
    options: {
        type: PropType<CascaderOption[]>;
        default: () => never[];
    };
    expandTrigger: {
        type: StringConstructor;
        default: string;
    };
    checkStrictly: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadMore: {
        type: PropType<(option: CascaderOption, done: (children?: CascaderOption[] | undefined) => void) => void>;
    };
    fieldNames: {
        type: PropType<import("../_utils/types").FieldString<CascaderOption>>;
    };
    valueKey: {
        type: StringConstructor;
        default: string;
    };
    expandChild: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    optionInfos: import("vue").Ref<{
        [x: string]: any;
        raw: Record<string, unknown>;
        key: string;
        valueKey: string;
        level: number;
        index: number;
        value: string | number;
        label: string;
        disabled: boolean;
        selectionDisabled: boolean;
        isLeaf: boolean;
        parent?: any | undefined;
        children?: any[] | undefined;
        path: any[];
        pathValue: any[];
        totalLeafOptions?: number | undefined;
        render?: import("vue").RenderFunction | undefined;
        tagProps?: {
            color?: string | undefined;
            size?: "small" | "medium" | "large" | undefined;
            visible?: boolean | undefined;
            defaultVisible?: boolean | undefined;
            loading?: boolean | undefined;
            closable?: boolean | undefined;
            checkable?: boolean | undefined;
            checked?: boolean | undefined;
            defaultChecked?: boolean | undefined;
        } | undefined;
    }[], CascaderOptionInfo[] | {
        [x: string]: any;
        raw: Record<string, unknown>;
        key: string;
        valueKey: string;
        level: number;
        index: number;
        value: string | number;
        label: string;
        disabled: boolean;
        selectionDisabled: boolean;
        isLeaf: boolean;
        parent?: any | undefined;
        children?: any[] | undefined;
        path: any[];
        pathValue: any[];
        totalLeafOptions?: number | undefined;
        render?: import("vue").RenderFunction | undefined;
        tagProps?: {
            color?: string | undefined;
            size?: "small" | "medium" | "large" | undefined;
            visible?: boolean | undefined;
            defaultVisible?: boolean | undefined;
            loading?: boolean | undefined;
            closable?: boolean | undefined;
            checkable?: boolean | undefined;
            checked?: boolean | undefined;
            defaultChecked?: boolean | undefined;
        } | undefined;
    }[]>;
    filteredLeafOptions: import("vue").ComputedRef<{
        [x: string]: any;
        raw: Record<string, unknown>;
        key: string;
        valueKey: string;
        level: number;
        index: number;
        value: string | number;
        label: string;
        disabled: boolean;
        selectionDisabled: boolean;
        isLeaf: boolean;
        parent?: any | undefined;
        children?: any[] | undefined;
        path: any[];
        pathValue: any[];
        totalLeafOptions?: number | undefined;
        render?: import("vue").RenderFunction | undefined;
        tagProps?: {
            color?: string | undefined;
            size?: "small" | "medium" | "large" | undefined;
            visible?: boolean | undefined;
            defaultVisible?: boolean | undefined;
            loading?: boolean | undefined;
            closable?: boolean | undefined;
            checkable?: boolean | undefined;
            checked?: boolean | undefined;
            defaultChecked?: boolean | undefined;
        } | undefined;
    }[]>;
    selectedPath: import("vue").Ref<string[], string[]>;
    activeKey: import("vue").Ref<string | undefined, string | undefined>;
    displayColumns: import("vue").ComputedRef<CascaderOptionInfo[][]>;
    handleKeyDown: (event: KeyboardEvent) => void;
    totalLevel: import("vue").Ref<number, number>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined) => true;
    change: (value: string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    pathMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: PropType<string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined>;
    };
    defaultValue: {
        type: PropType<string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined>;
        default: (props: Data) => "" | never[] | undefined;
    };
    options: {
        type: PropType<CascaderOption[]>;
        default: () => never[];
    };
    expandTrigger: {
        type: StringConstructor;
        default: string;
    };
    checkStrictly: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadMore: {
        type: PropType<(option: CascaderOption, done: (children?: CascaderOption[] | undefined) => void) => void>;
    };
    fieldNames: {
        type: PropType<import("../_utils/types").FieldString<CascaderOption>>;
    };
    valueKey: {
        type: StringConstructor;
        default: string;
    };
    expandChild: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onChange?: ((value: string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined) => any) | undefined;
}>, {
    defaultValue: string | number | Record<string, any> | (string | number | Record<string, any> | (string | number | Record<string, any>)[])[] | undefined;
    multiple: boolean;
    checkStrictly: boolean;
    options: CascaderOption[];
    pathMode: boolean;
    expandTrigger: string;
    valueKey: string;
    expandChild: boolean;
}, {}, {
    BaseCascaderPanel: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        displayColumns: {
            type: PropType<CascaderOptionInfo[][]>;
            required: true;
        };
        selectedPath: {
            type: PropType<string[]>;
            required: true;
        };
        activeKey: StringConstructor;
        totalLevel: {
            type: NumberConstructor;
            required: true;
        };
        multiple: BooleanConstructor;
        checkStrictly: BooleanConstructor;
        loading: BooleanConstructor;
        dropdown: BooleanConstructor;
        virtualListProps: {
            type: PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
        };
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        displayColumns: {
            type: PropType<CascaderOptionInfo[][]>;
            required: true;
        };
        selectedPath: {
            type: PropType<string[]>;
            required: true;
        };
        activeKey: StringConstructor;
        totalLevel: {
            type: NumberConstructor;
            required: true;
        };
        multiple: BooleanConstructor;
        checkStrictly: BooleanConstructor;
        loading: BooleanConstructor;
        dropdown: BooleanConstructor;
        virtualListProps: {
            type: PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
        };
    }>> & Readonly<{}>, {
        loading: boolean;
        multiple: boolean;
        checkStrictly: boolean;
        dropdown: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
