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;
    readonly title = "Lying Symbols";
    private static readonly EXAMPLE_GRID;
    private static readonly CONFIGS;
    private static readonly SEARCH_VARIANTS;
    /**
     * **&lt;count&gt; 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;
