import { Column } from '@syncfusion/ej2-grids';
import { TreeGrid } from '../base/treegrid';
import { RowPosition } from '../enum';
/**
 * TreeGrid Edit Module
 * The `Edit` module is used to handle editing actions.
 */
export declare class Edit {
    private parent;
    private isSelfReference;
    private addedRecords;
    private deletedRecords;
    private addRowIndex;
    private addRowRecord;
    private isOnBatch;
    private keyPress;
    private selectedIndex;
    private doubleClickTarget;
    private internalProperties;
    private previousNewRowPosition;
    private batchEditModule;
    private isTabLastRow;
    private prevAriaRowIndex;
    private isAddedRowByMethod;
    private isAddedRowByContextMenu;
    private editedRowIndex;
    private isScrollByFocus;
    /**
     * Constructor for Edit module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Edit module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    private gridDblClick;
    private getRowPosition;
    private beforeStartEdit;
    private beforeBatchCancel;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the editModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @param {Column[]} cols - Column property Collection
     * @hidden
     * @returns {void}
     */
    applyFormValidation(cols?: Column[]): void;
    private editActionEvents;
    private infiniteAddAction;
    private updateInfiniteCurrentViewData;
    private recordDoubleClick;
    private updateGridEditMode;
    private resetIsOnBatch;
    private keyPressed;
    private deleteUniqueID;
    private cellEdit;
    private enableToolbarItems;
    private batchCancel;
    private customCellSave;
    private cellSave;
    private afterCellSave;
    private lastCellTab;
    private updateCell;
    private crudAction;
    private updateIndex;
    private beginAdd;
    private beginEdit;
    private savePreviousRowPosition;
    private beginAddEdit;
    /**
     * If the data,index and position given, Adds the record to treegrid rows otherwise it will create edit form.
     *
     * @returns {void}
     */
    addRecord(data?: Object, index?: number, position?: RowPosition): void;
    /**
     * Checks the status of validation at the time of editing. If validation is passed, it returns true.
     *
     * @returns {boolean} Returns form validation results
     */
    editFormValidate(): boolean;
    /**
     * @hidden
     * @returns {void}
     */
    destroyForm(): void;
    private contentready;
    /**
     * If the row index and field is given, edits the particular cell in a row.
     *
     * @returns {void}
     */
    editCell(rowIndex?: number, field?: string): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    private closeEdit;
}
