import { dragHoverPartEnum } from './constants';
import { TreeNodeKeyType, TreeProps } from './interface';
import { TreeNode } from './store';
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<TreeProps, {
    setData: (data: import('./interface').AnyPropsArrayType) => void;
    setChecked: (key: TreeNodeKeyType, value: boolean) => void;
    setCheckedKeys: (keys: TreeNodeKeyType[], value: boolean) => void;
    checkAll: () => void;
    clearChecked: () => void;
    setSelected: (key: TreeNodeKeyType, value: boolean) => void;
    clearSelected: () => void;
    setExpand: (key: TreeNodeKeyType, value: boolean, expandParent?: boolean) => void;
    setExpandKeys: (keys: TreeNodeKeyType[], value: boolean) => void;
    setExpandAll: (value: boolean) => void;
    getCheckedNodes: (ignoreMode?: "none" | "children" | "parents" | undefined) => TreeNode[];
    getCheckedKeys: (ignoreMode?: "none" | "children" | "parents" | undefined) => TreeNodeKeyType[];
    getIndeterminateNodes: () => TreeNode[];
    getSelectedNode: () => TreeNode | null;
    getSelectedKey: () => TreeNodeKeyType | null;
    getExpandNodes: () => TreeNode[];
    getExpandKeys: () => TreeNodeKeyType[];
    getCurrentVisibleNodes: () => TreeNode[];
    getNode: (key: TreeNodeKeyType) => TreeNode | null;
    getTreeData: () => TreeNode[];
    getFlatData: () => TreeNode[];
    getNodesCount: () => number;
    insertBefore: (insertedNode: TreeNodeKeyType | import('./interface').ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
    insertAfter: (insertedNode: TreeNodeKeyType | import('./interface').ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
    append: (insertedNode: TreeNodeKeyType | import('./interface').ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
    prepend: (insertedNode: TreeNodeKeyType | import('./interface').ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
    remove: (removedKey: TreeNodeKeyType) => TreeNode | null;
    filter: (keyword: string, filterMethod?: import('./interface').FilterFunctionType | undefined) => void;
    showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
    loadRootNodes: () => Promise<void>;
    updateNode: (key: TreeNodeKeyType, newNode: import('./interface').ITreeNodeOptions) => void;
    updateNodes: (newNodes: import('./interface').ITreeNodeOptions[]) => void;
    scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "bottom" | "top" | "center") => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<TreeProps> & Readonly<{}>, {
    data: import('./interface').AnyPropsArrayType;
    loading: boolean;
    draggable: boolean;
    separator: string;
    cascade: boolean;
    defaultExpandAll: boolean;
    expandedKeys: TreeNodeKeyType[];
    keyField: string;
    defaultExpandedKeys: TreeNodeKeyType[];
    checkable: boolean;
    emptyText: string;
    ignoreMode: "none" | "children" | "parents";
    filteredNodeCheckable: boolean;
    expandOnFilter: boolean;
    showLeftArrow: boolean;
    showRightArrow: boolean;
    selectable: boolean;
    titleField: string;
    showUnloadCheckedNodes: boolean;
    unloadDataList: import('./interface').AnyPropsArrayType;
    enableLeafOnly: boolean;
    disableAll: boolean;
    droppable: boolean;
    beforeDropMethod: (dragKey: TreeNodeKeyType, dropKey: TreeNodeKeyType, hoverPart: dragHoverPartEnum) => boolean;
    autoLoad: boolean;
    unselectOnClick: boolean;
    nodeIndent: number;
    renderNodeAmount: number;
    nodeMinHeight: number;
    bufferNodeAmount: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    scrollArea: HTMLDivElement;
}, any>, {
    node?(_: {
        node: TreeNode;
    }): any;
    node?(_: {
        node: TreeNode;
    }): any;
    node?(_: {
        node: TreeNode;
    }): any;
    empty?(_: {}): any;
    loading?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=Tree.vue.d.ts.map