/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { FormGroup } from '@angular/forms';
import { Observable, Subject } from 'rxjs';
import { GanttDependency, TaskAddEvent } from '../models/models';
import { EditEvent, EditResultType } from '../models/events/task-edit-event.interface';
import { MappingService } from '../common/mapping.service';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class EditService {
    private mapper;
    showEditingDialog: Subject<boolean>;
    taskDelete: Subject<object>;
    editEvent: Subject<EditEvent>;
    addEvent: Subject<TaskAddEvent>;
    taskFormGroup: FormGroup;
    dataItem: any;
    getSelectedItem: () => any;
    hasChildren: (node: any) => boolean;
    fetchChildren: (node: any) => Observable<any[]> | any[];
    set dependencies(items: any[]);
    get dependencies(): any[];
    predecessors: GanttDependency[];
    successors: GanttDependency[];
    updatedItems: any[];
    deletedItems: any[];
    constructor(mapper: MappingService);
    createEditDialog(dataItem: any, taskFormGroup: FormGroup, dependencies: any[]): void;
    closeEditDialog(): void;
    triggerEditEvent(editResultType: EditResultType): void;
    updateDependencies(item: GanttDependency): void;
    getCreatedDependencies(): any[];
    deleteDependency(item: GanttDependency): void;
    loadTasks(initialValues: any[], isInitializer?: boolean): Observable<any[]>;
    private getElementById;
    private itemIndex;
    private isNew;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EditService>;
}
