import { RuleType, SolvedNumber, SudokuNumber } from ".";
import { RemovedNumbers } from "./RemovedNumbers";
declare class Changes {
    changes: Change[];
    constructor(changes: Change[]);
    concat(other: Changes): Changes;
    solvedNumbers(): SolvedNumber[];
    removedNumbers(): RemovedNumbers[];
}
declare class Change {
    isNone: boolean;
    solvedNumber?: SolvedNumber;
    removedNumbers?: RemovedNumbers;
    private constructor();
    static none(): Change;
    static solvedNumber(solvedNumber: SolvedNumber): Change;
    static forRemovedNumbers(number: SudokuNumber, rule: RuleType, before: number[], after: number[]): Change;
    hasSolvedNumber(): boolean;
    hasRemovedNumbers(): boolean;
}
export { Change, Changes };
