import { AnyConfig } from '../config.js';
import { SymbolDisplayHandler } from '../events/onSymbolDisplay.js';
import GridData from '../grid.js';
import { State } from '../primitives.js';
import Symbol from './symbol.js';
export default class HiddenSymbol extends Symbol implements SymbolDisplayHandler {
    readonly x: number;
    readonly y: number;
    readonly revealLocation: boolean;
    readonly title = "Hidden Symbol Marker";
    get configExplanation(): string;
    private static readonly CONFIGS;
    private static readonly EXAMPLE_GRID;
    /**
     * **Hidden Symbols: color cells correctly to reveal more clues**
     *
     * @param x - The x-coordinate of the symbol.
     * @param y - The y-coordinate of the symbol.
     * @param revealLocation - Whether to reveal the location of the symbol.
     */
    constructor(x: number, y: number, revealLocation?: boolean);
    get id(): string;
    get explanation(): string;
    get configs(): readonly AnyConfig[] | null;
    createExampleGrid(): GridData;
    get necessaryForCompletion(): boolean;
    get visibleWhenSolving(): boolean;
    get sortOrder(): number;
    validateSymbol(grid: GridData, solution: GridData | null): State;
    onSymbolDisplay(grid: GridData, solution: GridData | null, symbol: Symbol, editing: boolean): boolean;
    copyWith({ x, y, revealLocation, }: {
        x?: number;
        y?: number;
        revealLocation?: boolean;
    }): this;
    withRevealLocation(revealLocation: boolean): this;
}
export declare const instance: HiddenSymbol;
