import { SimpleVector2 } from "../../../../math"; import { GridBlockItemFilter } from "../grid-filters"; import { Grid2Block, Grid2Holder } from "./grid2-holder"; export declare class Grid2ArrayHolder implements Grid2Holder { readonly size: SimpleVector2; readonly data: T[]; constructor(size: SimpleVector2, data: T[]); get length(): number; clear(): void; swap(ax: number, ay: number, bx: number, by: number): void; static initEmpty(x: number, y: number, defaultValue?: T): Grid2ArrayHolder; static initWithProvider(x: number, y: number, provider: (x: number, y: number) => T): Grid2ArrayHolder; setData(data: T[]): void; get(x: number, y: number): T; set(x: number, y: number, value: T): void; delete(x: number, y: number): void; private getIndex; private getCoordinates; getAroundData(x: number, y: number, size?: number): Grid2Block[]; getAround(x: number, y: number, size?: number): T[]; getAroundSQ(x: number, y: number, size?: number): T[]; getBetween(pointA: SimpleVector2, pointB: SimpleVector2): T[]; /** * TODO: add limit */ getNearest(x: number, y: number, condition: (item: T) => boolean): Grid2Block[]; expandConditionally(x: number, y: number, condition: (item: T) => boolean): Grid2Block[]; private getAround4; private getAround4Index; getArea(position: SimpleVector2, size: SimpleVector2): T[]; getAreaBlocks(position: SimpleVector2, size: SimpleVector2): Grid2Block[]; private getAreaInternally; forEach(callback: (item: T, x: number, y: number) => void | boolean): boolean; getRandomBlockOfSize(size: SimpleVector2, filter: GridBlockItemFilter): Grid2Block | undefined; getRandomBlock(filter?: GridBlockItemFilter): Grid2Block | undefined; getRandomBlock2(filter?: GridBlockItemFilter): Grid2Block | undefined; } //# sourceMappingURL=grid2-array-holder.d.ts.map