/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { GridComponent } from '../grid.component';
import { LocalDataChangesService } from '../editing/local-data-changes.service';
import { CreateFormGroup } from '../common/create-form-group';
import { EditingDirectiveBase } from './editing-directive-base';
import { FormDialogSettings, FormSettings } from '../editing/form';
import { FormGroup } from '@angular/forms';
import { EditEvent } from '../editing/edit-event-args.interface';
import * as i0 from "@angular/core";
/**
 * A directive which encapsulates the editing operations of the Grid when using the
 * External Form ([see example](slug:editing_directives_grid#external-editing)).
 */
export declare class ExternalEditingDirective extends EditingDirectiveBase {
    protected grid: GridComponent;
    protected localDataChangesService: LocalDataChangesService;
    /**
     * The function that creates the `FormGroup` for the edited model.
     */
    createFormGroup: CreateFormGroup;
    /**
     * Allows you to customize form orientation, hints, labels and error messages.
     */
    formSettings: FormSettings;
    /**
     * Allows you to customize the Dialog that contains the edit form.
     */
    dialogSettings: FormDialogSettings;
    constructor(grid: GridComponent, localDataChangesService: LocalDataChangesService);
    ngOnInit(): void;
    /**
     * @hidden
     * Opens a Dialog that contains the edit form.
     */
    openEditFormDialog(editEventArgs: EditEvent, formGroup: FormGroup, formSettings?: FormSettings): void;
    protected createModel(args: any): any;
    protected editHandler(args: any): void;
    protected saveModel({ dataItem, formGroup, isNew }: any): any;
    protected addHandler(args: any): void;
    private normalizeFormSettings;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExternalEditingDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ExternalEditingDirective, "[kendoGridExternalEditing]", never, { "createFormGroup": { "alias": "kendoGridExternalEditing"; "required": false; }; "formSettings": { "alias": "formSettings"; "required": false; }; "dialogSettings": { "alias": "dialogSettings"; "required": false; }; }, {}, never, never, true, never>;
}
