import type { MindMapData, LayoutNode, LayoutDirection } from '../types'; interface UseDragParams { svgRef: React.RefObject; zoom: number; pan: { x: number; y: number; }; setPan: React.Dispatch>; setZoom: React.Dispatch>; nodeMap: Record; nodes: LayoutNode[]; updateData: (updater: (prev: MindMapData[]) => MindMapData[]) => void; direction: LayoutDirection; splitIndices: Record; setSplitIndices: React.Dispatch>>; mapData: MindMapData[]; contentCenter: { x: number; y: number; }; } export declare function useDrag({ svgRef, zoom, pan, setPan, setZoom, nodeMap, nodes, updateData, direction, splitIndices, setSplitIndices, mapData, contentCenter, }: UseDragParams): { draggingCanvas: boolean; floatingNodeId: string | null; floatingPos: { x: number; y: number; } | null; floatingSubtreeIds: Set; didDragRef: import("react").RefObject; handleCanvasMouseDown: (e: React.MouseEvent) => void; handleMouseMove: (e: React.MouseEvent) => void; handleMouseUp: () => void; handleNodeMouseDown: (e: React.MouseEvent, nodeId: string) => void; }; export {};