/**
 * Interface for ranges between two points
 */
import * as Point from './point';
/** Range between two points. Creates a normalized range between two given points */
export declare class PointRange {
    /** The top-left point */
    start: Point.Point;
    /** The bottom-right point */
    end: Point.Point;
    constructor(source: Point.Point, target: Point.Point);
    /** Iterates through all the existing points in given range */
    [Symbol.iterator](): Iterator<Point.Point>;
    /** Returns the size (rows x columns) of the given range */
    size(): number;
    /** Returns whether given point exists in given range */
    has(point: Point.Point): boolean;
    /** Limits given masked range with given mask */
    mask(mask: PointRange): PointRange;
    /** Returns whether given range is equal to this range */
    equals(range: PointRange): boolean;
}
