import { TreeOptionsEnum } from './virtual-tree';
import type { TreeProps } from './types';
declare var __VLS_19: {};
type __VLS_Slots = {} & {
    empty?: (props: typeof __VLS_19) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<TreeProps>, {
    data: () => never[];
    height: number;
    props: () => import("element-plus/es/utils").Mutable<{
        children: TreeOptionsEnum;
        label: TreeOptionsEnum;
        disabled: TreeOptionsEnum;
        value: TreeOptionsEnum;
        class: TreeOptionsEnum;
    }>;
    defaultCheckedKeys: () => never[];
    defaultExpandedKeys: () => never[];
    indent: number;
    itemSize: number;
    expandOnClickNode: boolean;
    checkOnClickLeaf: boolean;
    perfMode: boolean;
}>, {
    toggleCheckbox: (node: import("./types").TreeNode, isChecked: import("element-plus").CheckboxValueType, nodeClick?: boolean, immediateUpdate?: boolean) => void;
    getCurrentNode: () => import("./types").TreeNodeData | undefined;
    getCurrentKey: () => import("./types").TreeKey | undefined;
    setCurrentKey: (key: import("./types").TreeKey) => void;
    getCheckedKeys: (leafOnly?: boolean) => import("./types").TreeKey[];
    getCheckedNodes: (leafOnly?: boolean) => import("./types").TreeNodeData[];
    getHalfCheckedKeys: () => import("./types").TreeKey[];
    getHalfCheckedNodes: () => import("./types").TreeNodeData[];
    setChecked: (key: import("./types").TreeKey, isChecked: boolean) => void;
    setCheckedKeys: (keys: import("./types").TreeKey[]) => void;
    filter: (query: string) => void;
    setData: (data: import("./types").TreeData) => void;
    getNode: (data: import("./types").TreeKey | import("./types").TreeNodeData) => import("./types").TreeNode | undefined;
    expandNode: (node: import("./types").TreeNode) => void;
    collapseNode: (node: import("./types").TreeNode) => void;
    setExpandedKeys: (keys: import("./types").TreeKey[]) => void;
    scrollToNode: (key: import("./types").TreeKey, strategy?: import("element-plus/es/components/virtual-list").Alignment) => void;
    scrollTo: (offset: number) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "current-change": (data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => void;
    check: (data: import("element-plus").TreeNodeData, checkedInfo: import("./types").CheckedInfo) => void;
    "node-drop": (data: import("element-plus").TreeNodeData, node: import("./types").TreeNode, e: DragEvent) => void;
    "node-expand": (data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => void;
    "check-change": (data: import("element-plus").TreeNodeData, checked: boolean) => void;
    "node-click": (data: import("element-plus").TreeNodeData, node: import("./types").TreeNode, e: MouseEvent) => void;
    "node-contextmenu": (evt: Event, data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => void;
    "node-collapse": (data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<TreeProps>, {
    data: () => never[];
    height: number;
    props: () => import("element-plus/es/utils").Mutable<{
        children: TreeOptionsEnum;
        label: TreeOptionsEnum;
        disabled: TreeOptionsEnum;
        value: TreeOptionsEnum;
        class: TreeOptionsEnum;
    }>;
    defaultCheckedKeys: () => never[];
    defaultExpandedKeys: () => never[];
    indent: number;
    itemSize: number;
    expandOnClickNode: boolean;
    checkOnClickLeaf: boolean;
    perfMode: boolean;
}>>> & {
    "onCurrent-change"?: ((data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => any) | undefined;
    "onNode-expand"?: ((data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => any) | undefined;
    onCheck?: ((data: import("element-plus").TreeNodeData, checkedInfo: import("./types").CheckedInfo) => any) | undefined;
    "onCheck-change"?: ((data: import("element-plus").TreeNodeData, checked: boolean) => any) | undefined;
    "onNode-click"?: ((data: import("element-plus").TreeNodeData, node: import("./types").TreeNode, e: MouseEvent) => any) | undefined;
    "onNode-contextmenu"?: ((evt: Event, data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => any) | undefined;
    "onNode-collapse"?: ((data: import("element-plus").TreeNodeData, node: import("./types").TreeNode) => any) | undefined;
    "onNode-drop"?: ((data: import("element-plus").TreeNodeData, node: import("./types").TreeNode, e: DragEvent) => any) | undefined;
}, {
    data: import("./types").TreeData;
    height: number;
    props: import("./types").TreeOptionProps;
    indent: number;
    perfMode: boolean;
    itemSize: number;
    checkOnClickLeaf: boolean;
    defaultCheckedKeys: import("./types").TreeKey[];
    defaultExpandedKeys: import("./types").TreeKey[];
    expandOnClickNode: boolean;
}, {}>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_TypePropsToOption<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<Required<T>[K]>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaultsLocal<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_PrettifyLocal<T> = {
    [K in keyof T as K]: T[K];
} & {};
