import type { HookCallback } from '../../../core/hooks/bucket'; import type { HotInstance } from '../../../core/types'; import { BaseAction } from './_base'; /** * Action that tracks changes in row removal. * * @class RemoveRowAction * @private */ export declare class RemoveRowAction extends BaseAction { /** * @param {number} index The physical row index. */ index: number; /** * @param {Array} data The removed data. */ data: unknown[][]; /** * @param {number} fixedRowsBottom Number of fixed rows on the bottom. Remove row action change it sometimes. */ fixedRowsBottom: number; /** * @param {number} fixedRowsTop Number of fixed rows on the top. Remove row action change it sometimes. */ fixedRowsTop: number; /** * @param {Array} rowIndexesSequence Row index sequence taken from the row index mapper. */ rowIndexesSequence: number[]; /** * @param {Array} removedCellMetas List of removed cell metas. */ removedCellMetas: unknown[]; /** * @param {Array} removedMergedCells List of merged cell ranges fully contained within * the removed rows. Stored as plain `{ row, col, rowspan, colspan }` objects in visual coords. */ removedMergedCells: { row: number; col: number; rowspan: number; colspan: number; }[]; /** * Initializes the remove row action with the removed data, row index sequence, fixed-row counts, cell meta backup, and affected merged cells. */ constructor({ index, data, fixedRowsBottom, fixedRowsTop, rowIndexesSequence, removedCellMetas, removedMergedCells, }: { index: number; indexes?: number[]; data: unknown[][]; fixedRowsBottom: number; fixedRowsTop: number; rowIndexesSequence: number[]; removedCellMetas: unknown[]; removedMergedCells: Array<{ row: number; col: number; rowspan: number; colspan: number; }>; }); /** * Registers the `beforeRemoveRow` hook listener that captures removed row data and records a RemoveRowAction. */ 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; }