import { Node } from '../../../../types/core'; import { NodeDefinition } from '../../../../types/NodeDefinition'; /** * Determine which nodes should be dragged */ export declare function getNodesToDrag(nodeId: string, isMultiSelect: boolean, selectedNodeIds: string[], nodes: Record, isInteractive: boolean, isDragAllowed: boolean): string[]; /** * Collect initial positions for dragging nodes */ export declare function collectInitialPositions(nodeIds: string[], nodes: Record, getGroupChildren: (groupId: string) => Node[], nodeDefinitions: NodeDefinition[]): { initialPositions: Record; affectedChildNodes: Record; }; /** * Calculate new positions for nodes after dragging */ export declare function calculateNewPositions(nodeIds: string[], initialPositions: Record, offset: { x: number; y: number; }): Record; /** * Handle group movement with children */ export declare function handleGroupMovement(nodeIds: string[], nodes: Record, snappedPositions: Record, initialPositions: Record, moveGroupWithChildren: (groupId: string, delta: { x: number; y: number; }, affectedNodeIds: string[]) => void, nodeDefinitions: NodeDefinition[]): Record;