import { LayoutNode } from '../mind-map-types';
/**
 * Dimension info for a single node
 */
export interface NodeDimension {
    width: number;
    height: number;
}
/**
 * Hook for measuring and tracking actual DOM dimensions of mind map nodes.
 *
 * This hook provides a measurement callback that can be passed to individual nodes,
 * allowing them to report their actual rendered dimensions. These real dimensions
 * are then used by the Canvas to calculate precise arrow attachment points.
 *
 * @param nodes - Array of layout nodes to track
 * @returns Object with nodeDimensions map and measureNode callback
 */
export declare function useMindMapNodeDimensions(nodes: LayoutNode[]): {
    nodeDimensions: Map<string, NodeDimension>;
    measureNode: (nodeId: string, element: HTMLElement) => void;
};
//# sourceMappingURL=useMindMapNodeDimensions.d.ts.map