import type { UiNode } from '@ankhorage/contracts'; import type { CanvasDropZoneResolution, ValidCanvasDropZoneResolution } from './canvasDropZones'; import type { PlacementKind } from './index'; export interface CanvasRect { readonly x: number; readonly y: number; readonly width: number; readonly height: number; } export interface StudioCanvasDragPayload { kind: 'studio-canvas-node'; nodeId: string; } export interface CanvasDropZoneSlots { validDropZones: readonly ValidCanvasDropZoneResolution[]; beforeDropZone: ValidCanvasDropZoneResolution | null; insideDropZone: ValidCanvasDropZoneResolution | null; afterDropZone: ValidCanvasDropZoneResolution | null; } export interface CanvasDragSessionResolution { readonly activeDragNodeId: string | null; readonly shouldReset: boolean; } export declare function resolveCanvasDragSession(args: { readonly activeDragNodeId: string | null; readonly isEditMode: boolean; readonly rootNode: UiNode | null; readonly selectedNodeId: string | null; }): CanvasDragSessionResolution; export declare function createStudioCanvasDragPayload(nodeId: string): StudioCanvasDragPayload; export declare function isStudioCanvasDragPayload(value: unknown): value is StudioCanvasDragPayload; export declare function isValidCanvasDropZone(zone: CanvasDropZoneResolution): zone is ValidCanvasDropZoneResolution; export declare function resolveCanvasDropZoneSlots(zones: readonly CanvasDropZoneResolution[]): CanvasDropZoneSlots; export declare function resolveCanvasDropZoneRect(args: { readonly kind: PlacementKind; readonly targetRect: CanvasRect; readonly draggedRect: CanvasRect; }): CanvasRect; export declare function resolveCanvasDragPreviewText(props: Record | undefined): string | null; //# sourceMappingURL=canvasDragModel.d.ts.map