import { DragObject, DragNodeDataObject, DragNodeObject, DropLocation } from '../types';
import type Designer from './designer';
export declare function isDragDataNode(dragObject: DragObject): dragObject is DragNodeDataObject;
export declare function isDragNode(dragObject: DragObject): dragObject is DragNodeObject;
export declare class Dragon {
    dragging: boolean;
    dragObject: DragObject | null;
    dropLocation: DropLocation | undefined;
    readonly designer: Designer;
    constructor(designer: Designer);
    onDragStart: (dragObject: DragObject | null) => void;
    onDragEnd: (event: DragEvent) => void;
    onDragOver: (e: DragEvent) => void;
    private locate;
    private createLocationEvent;
}
