import * as geom from 'tiled-geometry'; import { TileFlags } from './tile-flags'; interface Warp { map: FieldOfViewMap; offsetShift: geom.Offset; } /** * The FieldOfViewMap class describes the map over which the field of view will be * computed. It starts empty. */ export declare class FieldOfViewMap { readonly id: string; private readonly _size; private readonly _tileFlags; private readonly _warps; private readonly _tileWarpIds; constructor(id: string, width: number, height: number, addEdgeWalls?: boolean); get width(): number; get height(): number; addBody(x: number, y: number): this; removeBody(x: number, y: number): this; getBody(x: number, y: number): boolean; /** * Adds a wall at a particular edge. This automatically adds the * corresponding wall on the other side. */ addWall(x: number, y: number, dir: geom.CardinalDirection, oneWay?: boolean): this; /** * Removes a wall at a particular edge. This automatically removes the * corresponding wall on the other side. */ removeWall(x: number, y: number, dir: geom.CardinalDirection, oneWay?: boolean): this; getWalls(x: number, y: number): geom.CardinalDirectionFlags; getWall(x: number, y: number, dir: geom.CardinalDirection): boolean; addWarp(sourceX: number, sourceY: number, dir: geom.CardinalDirection, targetMap: FieldOfViewMap, targetX: number, targetY: number, oneWay?: boolean): this; removeWarp(sourceX: number, sourceY: number, dir: geom.CardinalDirection, oneWay?: boolean): this; getWarpFlags(sourceX: number, sourceY: number): geom.CardinalDirectionFlags; getWarpFlag(sourceX: number, sourceY: number, dir: geom.CardinalDirection): boolean; getWarpTargetMap(sourceX: number, sourceY: number, dir: geom.CardinalDirection): FieldOfViewMap | undefined; getWarpTargetOffset(sourceX: number, sourceY: number, dir: geom.CardinalDirection): geom.OffsetLike | undefined; index(x: number, y: number): number; private _addFlag; private _removeFlag; private _makeWarp; private _findOrMakeWarp; private _addWarp; private _removeWarp; private _getWarp; contains(x: number, y: number): boolean; getTileFlagsAtIndex(index: number): TileFlags; getWarpAtIndex(index: number, dir: geom.CardinalDirection): Warp | undefined; } export {};