/** * This file is part of the NocoBase (R) project. * Copyright (c) 2020-2024 NocoBase Co., Ltd. * Authors: NocoBase Team. * * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. * For more information, please refer to: https://www.nocobase.com/agreement. */ import { DndContextProps } from '@dnd-kit/core'; import type { Transform } from '@dnd-kit/utilities'; import React, { FC } from 'react'; import { FlowModel } from '../../models'; import { PersistOptions } from '../../types'; export * from './findModelUidPosition'; export * from './gridDragPlanner'; export declare const EMPTY_COLUMN_UID = "EMPTY_COLUMN"; export declare const TOOLBAR_DRAG_ACTIVITY_EVENT = "nb-toolbar-drag-activity"; type ToolbarDragAnchorPoint = { x: number; y: number; }; export declare const resolveOverlayAnchorTransform: ({ activeId, active, transform, activeNodeRect, dragAnchorPoint, }: { activeId: string | null; active: { id: string | number; } | null | undefined; transform: Transform; activeNodeRect: { top: number; left: number; } | null; dragAnchorPoint: ToolbarDragAnchorPoint | null; }) => Transform; export declare const DragHandler: FC<{ model: FlowModel; children?: React.ReactNode; }>; export declare const Droppable: FC<{ model: FlowModel; children: React.ReactNode; }>; export interface DndProviderProps extends DndContextProps, PersistOptions { /** * Whether to render the built-in `DragOverlay` (the "Dragging" pill that * follows the cursor). Defaults to `true` for backwards compatibility with * existing flow-engine drag interactions. Set to `false` when the * surrounding UI already gives clear visual feedback (e.g. a drag-sort * table that highlights the drop position) and the floating pill would be * redundant. */ showDragOverlay?: boolean; } export declare const DndProvider: FC;