import { Vec2 } from './vec2'; import { BoundArray } from './bound_array'; export declare namespace GridUtil { function getIndex(x: number, y: number, width: number): number; function getX(index: number, width: number): number; function getY(index: number, width: number): number; function getXY(index: number, width: number): number[]; function checkGrid(array: unknown[][]): boolean; function toGrid(items: T[], width: number, height: number): T[][]; } export declare class GridItem extends Vec2 { index: number; constructor(x: number, y: number, index: number); } export declare class Grid extends BoundArray { readonly width: number; readonly height: number; get size(): number; constructor(array: T[][]); private _1d; private _2d; to1d(): T[]; to2d(): T[][]; get(x: number, y: number): T; set(x: number, y: number, item: T): this; swap(item1: T, item2: T): boolean; }