import { Dimensions } from '../spatial'; export declare class Grid { data: T[][]; rows: number; columns: number; dimensions: Dimensions; scale: number; constructor(scale: number, width: number, height: number); /** * Populates each cell of the grid with an undefined data value, * determining the size of the grid by the given rows and columns count * as defined by the scale, width, and height given to the constructor * @return {T[]} [description] */ private _populateGrid(); /** * Populates the grid with the given row values * @param {T[]} ...rows [description] */ setRow(...rows: T[][]): void; /** * Iterates over each row and then each column, executing the row callback * once for each row and the column callback once for each column * @param {Function} rowCallback [description] * @param {Function} colCallback [description] */ forEach(rowCallback: Function, colCallback: Function): void; /** * Iterates over each cell in the array, calling a callback * which takes the value for that cell, and it's row and column indices */ forEachCell(cellCallback: Function): void; /** * Returns the value in the cell at the given row and column * @param {number} row [description] * @param {number} column [description] * @return {T} [description] */ getCell(col: number, row: number): T; /** * Sets the cell to the given value * @param {number} col [description] * @param {number} row [description] * @param {T} value [description] */ setCell(col: number, row: number, value: T): void; }