@logic-pad/core
Version:
31 lines (30 loc) • 1.15 kB
TypeScript
import { AnyConfig } from '../config.js';
import { FinalValidationHandler } from '../events/onFinalValidation.js';
import GridData from '../grid.js';
import { GridState, RuleState } from '../primitives.js';
import Rule, { SearchVariant } from './rule.js';
export default class LyingSymbolRule extends Rule implements FinalValidationHandler {
readonly count: number;
private static readonly EXAMPLE_GRID;
private static readonly CONFIGS;
private static readonly SEARCH_VARIANTS;
/**
* **<count> symbols are lying and are incorrect**
*
* @param count Number of lying symbols
*/
constructor(count: number);
get id(): string;
get explanation(): string;
get configs(): readonly AnyConfig[] | null;
createExampleGrid(): GridData;
get searchVariants(): SearchVariant[];
validateGrid(_: GridData): RuleState;
get isSingleton(): boolean;
onFinalValidation(grid: GridData, solution: GridData | null, state: GridState): GridState;
copyWith({ count }: {
count?: number;
}): this;
withCount(count: number): this;
}
export declare const instance: LyingSymbolRule;