import { ComponentFactoryResolver } from "@angular/core";
import StiRectangleGeometryLayout from "../computed/StiRectangleGeometryLayout";
import { StiFormElement } from "../elements/base/StiFormElement";
import { StiDragPreviewElement } from "../elements/StiDragPreviewElement";
import { StiModelService } from "./model.service";
import { StiMouseService } from "./mouse.service";
import { StiChangesService } from "./sti-changes-service";
import { StiHelperService } from "./sti-helper.service";
import { StiNameService } from "./sti-name.service";
export declare class StiDraggableService {
    mouseService: StiMouseService;
    resolver: ComponentFactoryResolver;
    model: StiModelService;
    nameService: StiNameService;
    helper: StiHelperService;
    render: StiRectangleGeometryLayout;
    changesService: StiChangesService;
    static MOUSE_DELTA: number;
    top: number;
    left: number;
    newElement: boolean;
    dragPreview: StiDragPreviewElement;
    draggingElementWidthInColumns: number;
    draggingElementWidth: number;
    currentUsableElement: any;
    private startX;
    private startY;
    constructor(mouseService: StiMouseService, resolver: ComponentFactoryResolver, model: StiModelService, nameService: StiNameService, helper: StiHelperService, render: StiRectangleGeometryLayout, changesService: StiChangesService);
    drag(event: MouseEvent): void;
    endDrag(event: MouseEvent): void;
    addingByDoubleClick(element: StiFormElement): void;
    startDrag(event: MouseEvent, element: StiFormElement, newElement?: boolean, isClone?: any, layerX?: any, layerY?: any, page?: any): void;
    private showDragPreview;
    private moveDragPreview;
}
