/** * @license * Copyright 2024 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveControllerHost } from 'lit'; import { BaseCanvasController } from './base.controller.js'; import { CanvasHost, DragState } from '../interfaces/index.js'; import { WorkflowNode } from '../workflow-canvas.types.js'; import { ViewportController } from './viewport.controller.js'; import type { UndoController } from './undo.controller.js'; import type { FrameController } from './frame.controller.js'; /** * Controller for managing node dragging */ export declare class DragController extends BaseCanvasController { private viewportController; private undoController; private frameController; private dragStartPositions; private frameContainedNodeIds; constructor(host: CanvasHost & ReactiveControllerHost, viewportController: ViewportController); /** * Set the undo controller (called after initialization) */ setUndoController(controller: UndoController): void; /** * Set the frame controller (called after initialization) */ setFrameController(controller: FrameController): void; /** * Start dragging a node */ startDrag(node: WorkflowNode, event: MouseEvent): void; /** * Handle node drag movement */ handleDrag(event: MouseEvent): void; /** * Stop dragging */ stopDrag(): void; /** * Check if currently dragging */ isDragging(): boolean; /** * Get current drag state */ getDragState(): DragState | null; /** * Get the node being dragged */ getDraggedNodeId(): string | null; } //# sourceMappingURL=drag.controller.d.ts.map