import { CellCollection } from '../CellCollection'; import { Grid } from '../Grid'; import { CellValueChange } from '../ValueTypes'; /** * Implements an intersection removal solver strategy. * @see Sudoku.org.uk */ export declare class IntersectionRemovalSolver { /** * The name of the solver to insert into change information. */ static source: string; /** * Searches the grid provided for intersecting blocks, rows and columns * where potential removals can take place. Returns an array of CellValueChange * objects to make the required changes. * array of changes to apply to the target grid. * @param targetGrid The grid to solve. * @returns An array of changes to apply to the grid to solve it. */ static solve(targetGrid: Grid): CellValueChange[]; /** * Implements the Intersection Removal solver for a given block and row / column. * @param blockCells The block of cells we're checking for intersections. * @param rowOrColumnCells The row or column we're checking for intersections. * @returns An array of CellValueChange objects describing the changes to apply to targetGrid. */ static solveForBlockAndRow(blockCells: CellCollection, rowOrColumnCells: CellCollection): CellValueChange[]; }