import { AnyPropsArrayType, INonReactiveData, IgnoreType, TreeNodeKeyType } from "../types";
import { TreeNode } from "..";
import { ITreeNodeOptions } from "../store/tree-node";
import { FilterFunctionType } from "../store/tree-store";
import { TreeProps } from "../components/Tree.vue";
type IUsePublicTreeAPIProps = Required<Pick<TreeProps, 'selectable' | 'checkable' | 'separator' | 'ignoreMode' | 'titleField' | 'keyField' | 'showUnloadCheckedNodes' | 'unloadDataList'>> & Pick<TreeProps, 'modelValue' | 'filterMethod' | 'load'>;
export declare const usePublicTreeAPI: (nonReactive: INonReactiveData, props: IUsePublicTreeAPIProps, options: {
    resetSpaceHeights: () => void;
    updateExpandedKeys: () => void;
    updateBlockData: () => void;
    updateRender: () => void;
}) => {
    unloadCheckedNodes: import("vue").Ref<{
        [x: string]: any;
        _level: number;
        checked: boolean;
        selected: boolean;
        indeterminate: boolean;
        disabled: boolean;
        expand: boolean;
        visible: boolean;
        _filterVisible: boolean;
        _parent: any | null;
        children: any[];
        isLeaf: boolean;
        _loading: boolean;
        _loaded: boolean;
        readonly _keyField: string;
        readonly _remote: boolean;
        setChildren: (children: ITreeNodeOptions[]) => void;
    }[]>;
    isRootLoading: import("vue").Ref<boolean>;
    setData: (data: 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?: IgnoreType) => TreeNode[];
    getCheckedKeys: (ignoreMode?: IgnoreType) => 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 | ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
    insertAfter: (insertedNode: TreeNodeKeyType | ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
    append: (insertedNode: TreeNodeKeyType | ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
    prepend: (insertedNode: TreeNodeKeyType | ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
    remove: (removedKey: TreeNodeKeyType) => TreeNode | null;
    filter: (keyword: string, filterMethod?: FilterFunctionType) => void;
    showCheckedNodes: (showUnloadCheckedNodes?: boolean) => void;
    loadRootNodes: () => Promise<void>;
    updateNode: (key: TreeNodeKeyType, newNode: ITreeNodeOptions) => void;
    updateNodes: (newNodes: ITreeNodeOptions[]) => void;
};
export {};
