/*!
 * devextreme-angular
 * Version: 24.2.6
 * Build date: Mon Mar 17 2025
 *
 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
 *
 * This software may be modified and distributed under the terms
 * of the MIT license. See the LICENSE file in the root of the project for details.
 *
 * https://github.com/DevExpress/devextreme-angular
 */
import { OnInit, OnDestroy, EventEmitter, QueryList } from '@angular/core';
import dxDataGrid from 'devextreme/ui/data_grid';
import { dxDataGridRowObject } from 'devextreme/ui/data_grid';
import { DataChange, GridsEditMode, NewRowPosition, GridsEditRefreshMode, StartEditAction } from 'devextreme/common/grids';
import { dxFormOptions } from 'devextreme/ui/form';
import { dxPopupOptions } from 'devextreme/ui/popup';
import { NestedOptionHost } from 'devextreme-angular/core';
import { NestedOption } from 'devextreme-angular/core';
import { DxiDataGridChangeComponent } from './change-dxi';
import * as i0 from "@angular/core";
export declare class DxoDataGridEditingComponent extends NestedOption implements OnDestroy, OnInit {
    get allowAdding(): boolean;
    set allowAdding(value: boolean);
    get allowDeleting(): boolean | ((options: {
        component: dxDataGrid;
        row: dxDataGridRowObject;
    }) => boolean);
    set allowDeleting(value: boolean | ((options: {
        component: dxDataGrid;
        row: dxDataGridRowObject;
    }) => boolean));
    get allowUpdating(): boolean | ((options: {
        component: dxDataGrid;
        row: dxDataGridRowObject;
    }) => boolean);
    set allowUpdating(value: boolean | ((options: {
        component: dxDataGrid;
        row: dxDataGridRowObject;
    }) => boolean));
    get changes(): Array<DataChange>;
    set changes(value: Array<DataChange>);
    get confirmDelete(): boolean;
    set confirmDelete(value: boolean);
    get editColumnName(): string;
    set editColumnName(value: string);
    get editRowKey(): any;
    set editRowKey(value: any);
    get form(): dxFormOptions;
    set form(value: dxFormOptions);
    get mode(): GridsEditMode;
    set mode(value: GridsEditMode);
    get newRowPosition(): NewRowPosition;
    set newRowPosition(value: NewRowPosition);
    get popup(): dxPopupOptions<any>;
    set popup(value: dxPopupOptions<any>);
    get refreshMode(): GridsEditRefreshMode;
    set refreshMode(value: GridsEditRefreshMode);
    get selectTextOnEditStart(): boolean;
    set selectTextOnEditStart(value: boolean);
    get startEditAction(): StartEditAction;
    set startEditAction(value: StartEditAction);
    get texts(): any | {
        addRow?: string;
        cancelAllChanges?: string;
        cancelRowChanges?: string;
        confirmDeleteMessage?: string;
        confirmDeleteTitle?: string;
        deleteRow?: string;
        editRow?: string;
        saveAllChanges?: string;
        saveRowChanges?: string;
        undeleteRow?: string;
        validationCancelChanges?: string;
    };
    set texts(value: any | {
        addRow?: string;
        cancelAllChanges?: string;
        cancelRowChanges?: string;
        confirmDeleteMessage?: string;
        confirmDeleteTitle?: string;
        deleteRow?: string;
        editRow?: string;
        saveAllChanges?: string;
        saveRowChanges?: string;
        undeleteRow?: string;
        validationCancelChanges?: string;
    });
    get useIcons(): boolean;
    set useIcons(value: boolean);
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    changesChange: EventEmitter<Array<DataChange>>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    editColumnNameChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    editRowKeyChange: EventEmitter<any>;
    protected get _optionPath(): string;
    get changesChildren(): QueryList<DxiDataGridChangeComponent>;
    set changesChildren(value: QueryList<DxiDataGridChangeComponent>);
    constructor(parentOptionHost: NestedOptionHost, optionHost: NestedOptionHost);
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxoDataGridEditingComponent, [{ host: true; skipSelf: true; }, { host: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxoDataGridEditingComponent, "dxo-data-grid-editing", never, { "allowAdding": { "alias": "allowAdding"; "required": false; }; "allowDeleting": { "alias": "allowDeleting"; "required": false; }; "allowUpdating": { "alias": "allowUpdating"; "required": false; }; "changes": { "alias": "changes"; "required": false; }; "confirmDelete": { "alias": "confirmDelete"; "required": false; }; "editColumnName": { "alias": "editColumnName"; "required": false; }; "editRowKey": { "alias": "editRowKey"; "required": false; }; "form": { "alias": "form"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "newRowPosition": { "alias": "newRowPosition"; "required": false; }; "popup": { "alias": "popup"; "required": false; }; "refreshMode": { "alias": "refreshMode"; "required": false; }; "selectTextOnEditStart": { "alias": "selectTextOnEditStart"; "required": false; }; "startEditAction": { "alias": "startEditAction"; "required": false; }; "texts": { "alias": "texts"; "required": false; }; "useIcons": { "alias": "useIcons"; "required": false; }; }, { "changesChange": "changesChange"; "editColumnNameChange": "editColumnNameChange"; "editRowKeyChange": "editRowKeyChange"; }, ["changesChildren"], never, false, never>;
}
export declare class DxoDataGridEditingModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxoDataGridEditingModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxoDataGridEditingModule, [typeof DxoDataGridEditingComponent], never, [typeof DxoDataGridEditingComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DxoDataGridEditingModule>;
}
