import { NodeId } from '../../../../types/core'; import { NodeTreeDragStateStore } from '../dragStateStore'; /** * @file DnD behavior for NodeTreeItem */ import * as React from "react"; export type DragOverPosition = "before" | "inside" | "after"; export type UseNodeTreeItemDragAndDropParams = { nodeId: NodeId; isGroup: boolean; isDraggingTextRef: React.RefObject; onNodeDrop: (draggedNodeId: NodeId, targetNodeId: NodeId, position: DragOverPosition) => void; dragStateStore: NodeTreeDragStateStore; }; export type UseNodeTreeItemDragAndDropResult = { handleDragStart: (e: React.DragEvent) => void; handleDragEnd: () => void; handleDragOver: (e: React.DragEvent) => void; handleDragLeave: (e: React.DragEvent) => void; handleDrop: (e: React.DragEvent) => void; }; export declare const useNodeTreeItemDragAndDrop: (params: UseNodeTreeItemDragAndDropParams) => UseNodeTreeItemDragAndDropResult;