import { CellCollection } from './CellCollection'; import { CellValueChange } from './Grid'; /** * Implements a class that holds various strategies for solving puzzles. */ export declare class SolverStrategies { /** * Pivots the cell values into an object that provides the frequency and locations * of values in the specified row, column or block. * @param block A reference to a Grid Row, Column or Block. * @returns A reference to a ReducedValues object that shows value frequency. */ private static reduceCells; /** * Searches a given Row, Column or Block for cells where its potentials have collapsed into a * single value. It then returns an array of objects to remove the potential to other * cells in the block. * @param block A reference to a row, column or block that holds 9 unique values. * @returns An array of changes that can be applied back to the grid. */ static findCollapsedValues(block: CellCollection): CellValueChange[]; /** * Searches a given Row, Column or Block for cells where its value doesn't appear * in any of the other cells implying that it should have that value. * @param block A reference to a row, column or block that holds 9 unique values. * @returns An array of changes that can be applied back to the grid. */ static findSingleValues(block: CellCollection): CellValueChange[]; /** * Searches a given row, column or block for hiddden pairs and returns an * array of objects to remove unneeded potentials in those pairs. * @param block A reference to a row, column or block to process. * @returns An array of GridDifference objects to apply back to the Grid. */ static findHiddenPairs(block: CellCollection): CellValueChange[]; /** * Searches a given row, column or block for obvious pairs and returns an * array of objects to remove unneeded potentials from the rest of the cells. * @param block A reference to a row, column or block to process. * @returns An array of GridDifference objects to apply back to the Grid. */ static findObviousPairs(block: CellCollection): CellValueChange[]; }