import { type StudioCanvasDragPayload } from '../../canvasDragModel'; import type { CanvasDropZoneResolution } from '../../canvasDropZones'; import type { NodePlacement } from '../../index'; export interface CanvasDragSessionCallbacks { readonly restartDraggable: () => void; readonly setActiveDragNodeId: (nodeId: string | null) => void; readonly setActiveDropZoneId: (zoneId: string | null) => void; } export declare function createCanvasDraggableSessionKey(nodeId: string, revision: number): string; export declare function sortCanvasDropTargetsBySpecificity(targets: readonly T[]): readonly T[]; export declare function resetCanvasDragSession(callbacks: CanvasDragSessionCallbacks): void; export declare function commitCanvasDrop(payload: unknown, zone: CanvasDropZoneResolution, moveNodeToPlacement: (nodeId: string, placement: NodePlacement) => boolean): boolean; export declare function completeCanvasDropAfterAdapter(payload: unknown, zone: CanvasDropZoneResolution, moveNodeToPlacement: (nodeId: string, placement: NodePlacement) => boolean, resetDrag: () => void): Promise; export declare function activateCanvasDrag(payload: StudioCanvasDragPayload, callbacks: Pick): void; //# sourceMappingURL=canvasDndInteraction.d.ts.map