import type { HookCallback } from '../../../core/hooks/bucket'; import type { HotInstance } from '../../../core/types'; import { BaseAction } from './_base'; /** * Action that tracks data changes. * * @class DataChangeAction * @private */ export declare class DataChangeAction extends BaseAction { /** * @param {Array} changes 2D array containing information about each of the edited cells. */ changes: unknown[][]; /** * @param {number[]} selected The cell selection. */ selected: unknown[]; /** * @param {number} countCols The number of columns before data change. */ countCols: number; /** * @param {number} countRows The number of rows before data change. */ countRows: number; /** * Initializes the data change action with the recorded cell changes, selection state, and grid dimensions at the time of the change. */ constructor({ changes, selected, countCols, countRows }: { changes: unknown[][]; selected: unknown[]; countCols: number; countRows: number; }); /** * Registers the `beforeChange` hook listener that captures effective cell value changes and records them as DataChangeActions. */ static startRegisteringEvents(hot: HotInstance, undoRedoPlugin: unknown): void; /** * @param {Core} hot The Handsontable instance. * @param {function(): void} undoneCallback The callback to be called after the action is undone. */ undo(hot: HotInstance, undoneCallback: HookCallback): void; /** * @param {Core} hot The Handsontable instance. * @param {function(): void} redoneCallback The callback to be called after the action is redone. */ redo(hot: HotInstance, redoneCallback: HookCallback): void; }