///
import { FcModelService } from './model.service';
import { FcNode } from './ngx-flowchart.models';
export declare class FcNodeDraggingService {
nodeDraggingScope: NodeDraggingScope;
private dragOffsets;
private draggedElements;
private destinationHtmlElements;
private oldDisplayStyles;
private readonly modelService;
private readonly automaticResize;
private readonly dragAnimation;
private readonly applyFunction;
constructor(modelService: FcModelService, applyFunction: (fn: (...args: any[]) => T) => T, automaticResize: boolean, dragAnimation: string);
private getCoordinate;
private getXCoordinate;
private getYCoordinate;
private resizeCanvas;
isDraggingNode(node: FcNode): boolean;
dragstart(event: DragEvent, node: FcNode): void;
drop(event: DragEvent): boolean;
dragover(event: DragEvent): boolean;
dragend(event: DragEvent): void;
}
export interface NodeDraggingScope {
draggedNodes: Array;
shadowElements: Array>;
shadowDragStarted: boolean;
dropElement: HTMLElement;
}
export interface NodeDropElement extends HTMLElement {
offsetInfo?: {
offsetX: number;
offsetY: number;
};
}
export interface NodeDropScope {
dropElement: NodeDropElement;
}
export interface DropNodeInfo {
node: FcNode;
dropTargetId: string;
offsetX: number;
offsetY: number;
}