import AxisSyncer from './axisSyncer'; import type { IndexMapper } from '../../../translations'; import type { HyperFormulaEngine } from '../engine/types'; /** * @private * @class IndexSyncer * @description * * Indexes synchronizer responsible for providing logic for syncing actions done on indexes for HOT to actions performed * on HF's. * */ declare class IndexSyncer { #private; /** * Initializes the index syncer by creating row and column axis syncers and storing the deferred action callback. */ constructor(rowIndexMapper: IndexMapper, columnIndexMapper: IndexMapper, postponeAction: Function); /** * Gets index synchronizer for a particular axis. * * @param {'row'|'column'} indexType Type of indexes. * @returns {AxisSyncer} */ getForAxis(indexType: string): AxisSyncer; /** * Sets flag informing whether an undo action is already performed (we don't execute synchronization in such case). * * @param {boolean} flagValue Boolean value for the flag. */ setPerformUndo(flagValue: boolean): void; /** * Sets flag informing whether a redo action is already performed (we don't execute synchronization in such case). * * @param {boolean} flagValue Boolean value for the flag. */ setPerformRedo(flagValue: boolean): void; /** * Gets information whether redo or undo action is already performed (we don't execute synchronization in such case). * * @private * @returns {boolean} */ isPerformingUndoRedo(): boolean; /** * Gets HyperFormula's sheet id. * * @returns {number|null} */ getSheetId(): number | null; /** * Gets engine instance that will be used for handled instance of Handsontable. * * @type {HyperFormula|null} */ getEngine(): HyperFormulaEngine | null; /** * Gets method which will postpone execution of some action (needed when synchronization endpoint isn't setup yet). * * @returns {Function} */ getPostponeAction(): Function; /** * Setups a synchronization endpoint. * * @param {HyperFormula|null} engine The HF's engine instance which will be synced. * @param {string|null} sheetId HyperFormula's sheet name. */ setupSyncEndpoint(engine: HyperFormulaEngine | null, sheetId: number | null): void; } export default IndexSyncer;