///
import { type NodeId } from '@ironclad/rivet-core';
export interface HeightCache {
get: (nodeId: NodeId) => number | undefined;
has: (nodeId: NodeId) => boolean;
set: (nodeId: NodeId, height: number | undefined) => void;
}
/**
* A cache of node heights. This is used when a node is unmounted and moved to the dragging list, since the node's
* body needs to be re-rendered in order to get its height. This cache allows us to avoid flickering when the node
* is first rendered in the dragging list.
*/
export declare const useNodeHeightCache: () => HeightCache;
/**
* This hook persist the last known height of a node's body to the height cache, and can later use that last known
* height temporarily while the node is waiting for the body to be available.
*/
export declare const useNodeBodyHeight: (heightCache: HeightCache, nodeId: NodeId, ready: boolean) => {
ref: import("react").RefObject;
height: string | undefined;
};
//# sourceMappingURL=useNodeBodyHeight.d.ts.map