@logic-pad/core
Version:
33 lines (32 loc) • 1.15 kB
TypeScript
import { AnyConfig } from '../config.js';
import GridData from '../grid.js';
import { Color, RuleState } from '../primitives.js';
import Rule, { SearchVariant } from './rule.js';
export default class CellCountRule extends Rule {
readonly color: Color;
readonly count: number;
private static readonly CONFIGS;
private static readonly EXAMPLE_GRID_LIGHT;
private static readonly EXAMPLE_GRID_DARK;
private static readonly SEARCH_VARIANTS;
/**
* **There are <count> <color> cells in total**
*
* @param color - The color of the cells to count.
* @param count - The total number of cells of the given color.
*/
constructor(color: Color, count: number);
get id(): string;
get explanation(): string;
get configs(): readonly AnyConfig[] | null;
createExampleGrid(): GridData;
get searchVariants(): SearchVariant[];
validateGrid(grid: GridData): RuleState;
copyWith({ color, count }: {
color?: Color;
count?: number;
}): this;
withColor(color: Color): this;
withCount(count: number): this;
}
export declare const instance: CellCountRule;