import { Ref } from "vue";
import { TreeNode } from "../store";
import { TreeProps } from "../components/Tree.vue";
type IUseExpandAnimationProps = Required<Pick<TreeProps, 'keyField' | 'animation'>>;
export declare const useExpandAnimation: (renderNodesRef: Ref<TreeNode[]>, renderStartRef: Ref<number>, props: IUseExpandAnimationProps) => {
    ready: Ref<boolean>;
    currentExpandState: Ref<boolean>;
    topNodes: 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;
    }[]>;
    middleNodes: 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;
    }[]>;
    bottomNodes: 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;
    }[]>;
    updateBeforeExpand: (nodeToExpand: TreeNode) => void;
    updateAfterExpand: () => void;
    onExpandAnimationFinish: () => void;
};
export {};
