import Grid from "./Grid";
import { Coordinate, CoordinateConverter, CoordinateConvert } from "./interfaces";
declare class GridBoard<GridPiece = any, GridState = never> {
    readonly width: number;
    readonly height: number;
    readonly grids: Grid<GridPiece, GridState>[];
    constructor(width: number, height: number);
    getGridByAbsoluteCoordinate(x: number, y: number, convert?: CoordinateConvert): Grid<GridPiece, GridState> | null;
    getGridByAbsoluteCoordinate(x: number, y: number, converter?: CoordinateConverter): Grid<GridPiece, GridState> | null;
    getGridByAbsoluteCoordinate(coordinate: Coordinate, convert?: CoordinateConvert): Grid<GridPiece, GridState> | null;
    getGridByAbsoluteCoordinate(coordinate: Coordinate, converter?: CoordinateConverter): Grid<GridPiece, GridState> | null;
}
interface GridBoard<GridPiece, GridState> {
    getGridAt: {
        (x: number, y: number): Grid<GridPiece, GridState> | null;
        (coordinate: Coordinate): Grid<GridPiece, GridState> | null;
    };
}
export default GridBoard;
