import type { CellChange } from '../settings'; /** * Generates spreadsheet-like column names: A, B, C, ..., Z, AA, AB, etc. * * @param {number} index Column index. * @returns {string} */ export declare function spreadsheetColumnLabel(index: number): string; /** * Generates spreadsheet-like column index from theirs labels: A, B, C ...., Z, AA, AB, etc. * * @param {string} label Column label. * @returns {number} */ export declare function spreadsheetColumnIndex(label: string): number; /** * Creates 2D array of Excel-like values "A1", "A2", ... * * @param {number} rows Number of rows to generate. * @param {number} columns Number of columns to generate. * @returns {Array} */ export declare function createSpreadsheetData(rows?: number, columns?: number): string[][]; /** * Creates 2D array of Excel-like values "A1", "A2", as an array of objects. * * @param {number} rows Number of rows to generate. * @param {number} colCount Number of columns to generate. * @returns {Array} */ export declare function createSpreadsheetObjectData(rows?: number, colCount?: number): Record[]; /** * Generates an empty data object. * * @param {number} rows Number of rows to generate. * @param {number} columns Number of columns to generate. * @returns {Array} */ export declare function createEmptySpreadsheetData(rows: number, columns: number): string[][]; /** * Transform a data row (either an array or an object) or an array of data rows to array of changes in a form of `[row, * prop/col, value]`. Convenient to use with `setDataAtRowProp` and `setSourceDataAtCell` methods. * * @param {Array|object} dataRow Object of row data, array of row data or an array of either. * @param {number} rowOffset Row offset to be passed to the resulting change list. Defaults to `0`. * @returns {Array} Array of changes (in a form of an array). */ export declare function dataRowToChangesArray(dataRow: unknown[] | object, rowOffset?: number): unknown[][]; /** * Check whether the list of changes contains data for the provided visual row and prop. * * @param {Array} changes List of changes in format `[visualRow, prop, ...]`. * @param {number} visualRow Visual row index to match. * @param {string|number} prop Prop/column identifier to match. * @returns {boolean} `true` if at least one change matches the provided row and prop. */ export declare function hasChangeForCell(changes: CellChange[], visualRow: number, prop: string | number): boolean; /** * Count the number of keys (or, basically, columns when the data is an array or arrays) in the first row of the * provided dataset. * * @param {Array} data The dataset. * @returns {number} Number of keys in the first row of the dataset. */ export declare function countFirstRowKeys(data: unknown[]): number; /** * Check whether the provided dataset is a *non-empty* array of arrays. * * @param {Array} data Dataset to be checked. * @returns {boolean} `true` if data is an array of arrays, `false` otherwise. */ export declare function isArrayOfArrays(data: unknown): data is unknown[][]; /** * Check whether the provided dataset is a *non-empty* array of objects. * * @param {Array} data Dataset to be checked. * @returns {boolean} `true` if data is an array of objects, `false` otherwise. */ export declare function isArrayOfObjects(data: unknown[]): boolean; /** * Build a shallow clone of a single source-data row. Arrays and plain objects * are copied; other shapes pass through unchanged. Used by `DataSource.getData()` * to return mutation-safe snapshots without paying the per-cell cost of the * `getByRange()` walk. * * @param {*} row Row value from the source data. * @returns {*} */ export declare function cloneRow(row: unknown): unknown[] | Record | unknown;