@logic-pad/core
Version:
35 lines (34 loc) • 1.27 kB
TypeScript
import { AnyConfig } from '../config.js';
import GridData from '../grid.js';
import { RuleState, Position, Mode } from '../primitives.js';
import Rule, { SearchVariant } from './rule.js';
export default class ForesightRule extends Rule {
readonly count: number;
readonly regenInterval: number;
readonly startFull: boolean;
readonly solvePath: Position[];
private static readonly EXAMPLE_GRID;
private static readonly CONFIGS;
private static readonly SEARCH_VARIANTS;
/**
* **Foresight: Show hints**
*/
constructor(count: number, regenInterval: number, startFull: boolean, solvePath?: Position[]);
get id(): string;
get explanation(): string;
get visibleWhenSolving(): boolean;
get configs(): readonly AnyConfig[] | null;
createExampleGrid(): GridData;
get searchVariants(): SearchVariant[];
validateGrid(_grid: GridData): RuleState;
get necessaryForCompletion(): boolean;
get isSingleton(): boolean;
modeVariant(mode: Mode): Rule | null;
copyWith({ count, regenInterval, startFull, solvePath, }: {
count?: number;
regenInterval?: number;
startFull?: boolean;
solvePath?: Position[];
}): this;
}
export declare const instance: ForesightRule;