/**-----------------------------------------------------------------------------------------
* Copyright © 2026 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 that encapsulates editing operations for the Scheduler using [Angular Reactive Forms](link:site.data.urls.angular['reactiveforms']) ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/editing)).
 *
 * Handles event editing, saving, and form validation logic for the Scheduler component.
 * Provides integration with custom form group creation and supports recurring event editing scenarios.
 *
 * @example
 * ```html
 * <kendo-scheduler
 *      [kendoSchedulerBinding]="events"
 *      [kendoSchedulerReactiveEditing]="createFormGroup">
 * </kendo-scheduler>
 * ```
 *
 * @remarks
 * Applied to: {@link SchedulerComponent}
 */
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>;
}
