/**-----------------------------------------------------------------------------------------
* 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 { SchedulerComponent } from '../scheduler.component';
import { EditingDirectiveBase } from './editing-directive-base';
import { CreateFormGroupArgs } from '../types/create-form-group-args.interface';
import { LocalDataChangesService } from '../editing/local-data-changes.service';
import { DialogsService } from '../editing/dialogs.service';
import { FocusService } from "../navigation";
import * as i0 from "@angular/core";
/**
 * A directive which encapsulates the editing operations when the Scheduler
 * uses the [Reactive Angular Forms](link:site.data.urls.angular['reactiveforms']) ([see example](slug:editing_directives_scheduler)).
 */
export declare class ReactiveEditingDirective extends EditingDirectiveBase {
    protected scheduler: SchedulerComponent;
    protected localDataChangesService: LocalDataChangesService;
    protected dialogsService: DialogsService;
    /**
     * The function that creates the `FormGroup` for the edited model.
     */
    createFormGroup: (args: CreateFormGroupArgs) => FormGroup;
    constructor(scheduler: SchedulerComponent, localDataChangesService: LocalDataChangesService, dialogsService: DialogsService, focusService: FocusService);
    ngOnInit(): void;
    protected editHandler(args: any): void;
    protected saveHandler(args: any): void;
    protected createModel(args: any): any;
    protected isFormValid({ formGroup, isNew }: any): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ReactiveEditingDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ReactiveEditingDirective, "[kendoSchedulerReactiveEditing]", never, { "createFormGroup": { "alias": "kendoSchedulerReactiveEditing"; "required": false; }; }, {}, never, never, true, never>;
}
