UNPKG

@logic-pad/core

Version:
33 lines (32 loc) 1.18 kB
import { AnyConfig } from '../config.js'; import GridData from '../grid.js'; import { RuleState } from '../primitives.js'; import Rule, { SearchVariant } from './rule.js'; export default class CustomRule extends Rule { readonly description: string; readonly grid: GridData; private static readonly EXAMPLE_GRID; static readonly configs: readonly AnyConfig[]; private static readonly SEARCH_VARIANTS; /** * A custom rule with a description and thumbnail grid. * * This rule validates answers based on the provided solution. * * @param description - The description of the rule. * @param grid - The thumbnail grid of the rule, preferably 5x4 in size. */ constructor(description: string, grid: GridData); get id(): string; get explanation(): string; get configs(): readonly AnyConfig[] | null; createExampleGrid(): GridData; get searchVariants(): SearchVariant[]; validateGrid(_grid: GridData): RuleState; copyWith({ description, grid, }: { description?: string; grid?: GridData; }): this; get validateWithSolution(): boolean; } export declare const instance: CustomRule;