import type { BeanName } from '../../context/context';
import type { CellFocusedEvent } from '../../events';
import type { EditValue } from '../../interfaces/iEditModelService';
import type { EditPosition, EditRowPosition, StartEditWithPositionParams } from '../../interfaces/iEditService';
import type { CellCtrl } from '../../rendering/cell/cellCtrl';
import type { EditValidationAction, EditValidationResult } from './baseEditStrategy';
import { BaseEditStrategy } from './baseEditStrategy';
export declare class FullRowEditStrategy extends BaseEditStrategy {
    beanName: BeanName | undefined;
    private rowNode?;
    private readonly startedRows;
    shouldStop(position?: EditPosition, event?: KeyboardEvent | MouseEvent | null | undefined, _source?: 'api' | 'ui'): boolean | null;
    midBatchInputsAllowed({ rowNode }: EditPosition): boolean;
    clearEdits(position: EditPosition): void;
    start(params: StartEditWithPositionParams): void;
    protected processValidationResults(results: EditValidationResult<Required<EditPosition> & EditValue>): EditValidationAction;
    stopCancelled(forceCancel: boolean): boolean;
    stopCommitted(event: Event | null, commit: boolean): boolean;
    onCellFocusChanged(event: CellFocusedEvent<any, any>): void;
    cleanupEditors(position?: EditRowPosition, includeEditing?: boolean): void;
    /**
     * Destroys all editors for a row that started full row editing, including editors
     * that are not represented in the edit model (e.g. empty/unedited editors).
     */
    private destroyEditorsForRow;
    moveToNextEditingCell(prevCell: CellCtrl, backwards: boolean, event?: KeyboardEvent, source?: 'api' | 'ui', preventNavigation?: boolean): boolean | null;
    private restoreEditors;
    destroy(): void;
}
