/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { NgZone } from '@angular/core';
import { DragTargetDragEndEvent, DragTargetDragEvent, DragTargetDragStartEvent } from '@progress/kendo-angular-utils';
import { Subject } from 'rxjs';
import { MappingService } from '../common/mapping.service';
import { GanttTaskBase } from '../rendering/gantt-task-base';
import { InternalTaskDragEvent } from '../models/events/task-drag-event.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class TaskDragService {
    private mapper;
    private zone;
    taskDraggable: boolean;
    drag: Subject<InternalTaskDragEvent>;
    dragEnd: Subject<InternalTaskDragEvent>;
    dragStart: Subject<DragTargetDragStartEvent>;
    tasksContainer: HTMLElement;
    tasksContainerRect: DOMRect;
    scrollableContainer: HTMLElement;
    currentDragTask: GanttTaskBase;
    currentDragTaskRect: DOMRect;
    leftDragHandle: boolean;
    rightDragHandle: boolean;
    completionRatioHandle: boolean;
    private tasks;
    private editedProp;
    private prevX;
    private prevWidth;
    private prevLeft;
    private prevScrollLeft;
    private newRange;
    private offsetX;
    private maxWidth;
    private newCompletionRatio;
    constructor(mapper: MappingService, zone: NgZone);
    registerTask(task: GanttTaskBase): void;
    onDragStart(args: DragTargetDragStartEvent): void;
    onDrag(args: DragTargetDragEvent): void;
    onDragEnd(args: DragTargetDragEndEvent): void;
    private calculateMarquee;
    private calculateStartEnd;
    static ɵfac: i0.ɵɵFactoryDeclaration<TaskDragService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TaskDragService>;
}
