export default GridObstacle;
declare class GridObstacle {
    static fromJSON(j: any): GridObstacle;
    data: number[];
    /**
     * @readonly
     * @type {Vector2}
     */
    readonly size: Vector2;
    /**
     *
     * @param {number} w
     * @param {number} h
     */
    resize(w: number, h: number): void;
    /**
     *
     * @param {number} offsetX
     * @param {number} offsetY
     * @param {function(x:number, y:number, value:number, index:number)} visitor
     * @param {*} [thisArg]
     */
    traverseMask(offsetX: number, offsetY: number, visitor: any, thisArg?: any): void;
    /**
     *
     * @param {number} x
     * @param {number} y
     * @returns {number}
     */
    readPoint(x: number, y: number): number;
    /**
     *
     * @param {number} x
     * @param {number} y
     * @param {number} value
     */
    writePoint(x: number, y: number, value: number): void;
    /**
     *
     * @param {number} x
     * @param {number} y
     * @returns {boolean}
     */
    isPointWithin(x: number, y: number): boolean;
    /**
     * Is a given point adjacent to a blocking cell?
     * @param {number} x Obstacle-Local X position
     * @param {number} y Obstacle-Local Y position
     * @param {number[]} adjacencyMask Mask that defines adjacency, contains pairs of number for each X,Y coordinate offset from obstacle point
     * @returns {boolean}
     */
    isPointAdjacent(x: number, y: number, adjacencyMask: number[]): boolean;
    toJSON(): {
        size: {
            x: number;
            y: number;
        };
        data: number[];
    };
    fromJSON({ size, data }: {
        size: any;
        data: any;
    }): void;
    /**
     *
     * @returns {number}
     */
    hash(): number;
    /**
     *
     * @param {GridObstacle} other
     * @returns {boolean}
     */
    equals(other: GridObstacle): boolean;
}
declare namespace GridObstacle {
    let typeName: string;
}
import Vector2 from '../../../core/geom/Vector2.js';
//# sourceMappingURL=GridObstacle.d.ts.map