import type { default as CellRange } from '../../3rdparty/walkontable/src/cell/range'; import type { IndexMapper } from '../../translations'; /** * CellRangeToRenderableMapper is a utility responsible for converting CellRange instances * defined in visual coordinates (which may include hidden rows/columns) into renderable * coordinates (excluding hidden indices). * * This class encapsulates the translation logic, allowing other modules to operate * on renderable coordinates without needing to be aware of the underlying index mapping implementation. * * It promotes separation of concerns by decoupling the transformation logic from data structures * like CellRange or CellCoords, keeping those classes clean and focused on structural concerns. * * Example usage: * import { resolveWithInstance } from './utils/staticRegister'; * * const cellRange = new CellRange(...); * const renderableRange = resolveWithInstance(this.hot, 'cellRangeMapper') * .toRenderable(cellRange); */ export declare class CellRangeToRenderableMapper { #private; /** * Initializes the mapper with the row and column IndexMapper instances used to resolve renderable coordinates. */ constructor({ rowIndexMapper, columnIndexMapper }: { rowIndexMapper: IndexMapper; columnIndexMapper: IndexMapper; }); /** * Converts the visual coordinates of the CellRange instance to the renderable coordinates. * * @param {CellRange} range The CellRange instance with defined visual coordinates. * @returns {CellRange | null} */ toRenderable(range: CellRange): CellRange | null; }