export declare type TileWalkableTest<TileType> = (tile: TileType, x: number, y: number) => boolean;
export declare class GridMap<TileType> {
    readonly width: number;
    readonly height: number;
    readonly tileWidth: number;
    readonly tileHeight: number;
    private map;
    private isWalkableTest;
    constructor(map: TileType[][], isWalkable: TileWalkableTest<TileType>, tileWidth: number, tileHeight: number);
    forEach(fn: (x: number, y: number, tile: TileType) => void): void;
    isInGrid(x: number, y: number): boolean;
    isWalkable(x: number, y: number): boolean;
    isBlocked(x: number, y: number): boolean;
    isBlockedAtWorld(worldX: number, worldY: number): boolean;
    getGridX(worldX: number): number;
    getGridY(worldY: number): number;
    getGridXY(worldX: number, worldY: number): {
        x: number;
        y: number;
    };
    getWorldX(gridX: number): number;
    getWorldY(gridY: number): number;
    getWorldXY(gridX: number, gridY: number): {
        x: number;
        y: number;
    };
}
//# sourceMappingURL=grid-map.d.ts.map