import type { HotInstance } from '../core/types'; type SourceDataValidatorFn = { (value: unknown, cellMeta: CellMeta, source?: string): boolean; /** * When `true`, the validator's result depends only on the value and column/global-level meta, never * on per-row meta — so a single column-level meta object can validate every row of the column. */ rowIndependent?: boolean; }; type CellMeta = Record & { sourceDataValidator?: SourceDataValidatorFn; sourceDataWarningMessage?: string; allowInvalid?: boolean; row?: number; col?: number; }; /** * Runs source-data validator for a single cell. * * @param {unknown} value The value to validate. * @param {object} cellMeta The cell meta object. * @param {string} [source] The source identifier of the operation. * @returns {boolean} `true` when the value is valid (or no validator is configured). */ export declare function runSourceDataValidator(value: unknown, cellMeta: CellMeta, source?: string): boolean; /** * Runs source-data validators for all cells and emits one aggregated warning per cell type. * * For the common case (no `cells` function, no `cell` array, no `before`/`afterGetCellMeta` hooks, no * imperatively-set cell meta, and only row-independent built-in source validators such as `date`/`time`), * validation reuses one column-level meta per column — avoiding the O(rows*cols) cell-meta * materialization that otherwise retains a meta object for every cell at load. * * @param {HotInstance} hotInstance The Handsontable instance. * @param {string} [source] The source identifier of the operation. * @returns {void} */ export declare function runSourceDataValidators(hotInstance: HotInstance, source?: string): void; export {};