import { INonReactiveData, TreeNodeKeyType } from "../types";
import { VerticalPositionType } from "../constants";
import { TreeProps } from "../components/Tree.vue";
type IUseVirtualListProps = Required<Pick<TreeProps, 'renderNodeAmount' | 'nodeMinHeight' | 'bufferNodeAmount' | 'keyField'>>;
export declare const useVirtualList: (nonReactive: INonReactiveData, props: IUseVirtualListProps) => {
    scrollArea: import("vue").Ref<any>;
    renderNodes: 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: import("../store/tree-node").ITreeNodeOptions[]) => void;
    }[]>;
    blockLength: import("vue").Ref<number>;
    blockAreaHeight: import("vue").Ref<number>;
    topSpaceHeight: import("vue").Ref<number>;
    bottomSpaceHeight: import("vue").Ref<number>;
    renderAmount: import("vue").Ref<number>;
    renderAmountCache: import("vue").Ref<number>;
    renderStart: import("vue").Ref<number>;
    renderStartCache: import("vue").Ref<number>;
    resetSpaceHeights: () => void;
    updateRenderAmount: () => void;
    updateRenderNodes: (isScroll?: boolean) => void;
    updateRender: () => void;
    updateBlockNodes: () => void;
    updateBlockData: () => void;
    handleTreeScroll: () => void;
    scrollTo: (key: TreeNodeKeyType, verticalPosition?: VerticalPositionType | number) => void;
};
export {};
