import { DesignWidget, MiddlewareParams } from "@/types";
import { FreeLayoutService } from "./index";
export declare abstract class DragService {
    freeService: FreeLayoutService | null;
    registerFreeService(freeService: FreeLayoutService | null): void;
    onMounted(): void;
    widgetMouseDown(_: MiddlewareParams): boolean;
    abstract newWidgetMove(result: DesignWidget | null, params: MiddlewareParams): DesignWidget | null;
    abstract newWidgetMoveEnd(result: DesignWidget | null, params: MiddlewareParams): DesignWidget | null;
    abstract widgetMoveStart(result: DesignWidget | null, params: MiddlewareParams): DesignWidget | null;
    abstract widgetMove(result: DesignWidget | null, params: MiddlewareParams): DesignWidget | null;
    abstract widgetMoveEnd(result: DesignWidget | null, params: MiddlewareParams): DesignWidget | null;
}
