UNPKG

@logic-pad/core

Version:
19 lines (18 loc) 832 B
import GridData from '../grid.js'; import { State } from '../primitives.js'; import Rule from '../rules/rule.js'; import Symbol from '../symbols/symbol.js'; export interface SymbolValidationHandler { /** * Overrides the validation of symbols. * * You can return a different validation result, or call the original validation logic with a modified grid. * * @param grid - The grid to validate. * @param _symbol - The symbol to validate. * @param validator - The original validation logic for the symbol. * @returns The state of the symbol after validation. */ onSymbolValidation(grid: GridData, symbol: Symbol, validator: (grid: GridData) => State): State | undefined; } export declare function handlesSymbolValidation<T extends Rule>(val: T): val is T & SymbolValidationHandler;