/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter } from '@angular/core';
import { TaskDragService } from './task-drag.service';
import { DragTargetContainerDirective } from '@progress/kendo-angular-utils';
import { GanttComponent } from '../gantt.component';
import { TaskDragEvent } from '../models/events';
import { MappingService } from '../common/mapping.service';
import * as i0 from "@angular/core";
import * as i1 from "@progress/kendo-angular-utils";
/**
 * Represents the Gantt task drag directive.
 *
 * Use this directive to enable dragging of tasks in the Gantt. The directive listens and emits events with information about the dragged task.
 *
 * @example
 * ```html
 * <kendo-gantt [data]="tasks" kendoGanttTaskDrag (taskDrag)="onTaskDrag($event)" (taskDragEnd)="onTaskDragEnd($event)">
 * </kendo-gantt>
 * ```
 *
 * @remarks
 * Applied to: {@link GanttComponent}
 */
export declare class TaskDragDirective {
    /**
     * Emits while the user resizes or moves a task by dragging.
     */
    taskDrag: EventEmitter<TaskDragEvent>;
    /**
     * Fires when the user finishes dragging to resize or move a task.
     * The event data gives you all information needed to update the task and related tasks.
     */
    taskDragEnd: EventEmitter<TaskDragEvent>;
    private subs;
    constructor(gantt: GanttComponent, mapper: MappingService, dragTargetContainer: DragTargetContainerDirective, taskDragService: TaskDragService);
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TaskDragDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TaskDragDirective, "[kendoGanttTaskDrag]", never, {}, { "taskDrag": "taskDrag"; "taskDragEnd": "taskDragEnd"; }, never, never, true, [{ directive: typeof i1.DragTargetContainerDirective; inputs: {}; outputs: {}; }]>;
}
