export default Rectangle;
declare class Rectangle {
    /**
     *
     * @param {number} x
     * @param {number} y
     * @param {number} width
     * @param {number} height
     * @constructor
     */
    constructor(x?: number, y?: number, width?: number, height?: number);
    /**
     * @readonly
     * @type {Vector2}
     */
    readonly position: Vector2;
    /**
     * @readonly
     * @type {Vector2}
     */
    readonly size: Vector2;
    /**
     *
     * @return {number}
     */
    get x0(): number;
    /**
     *
     * @return {number}
     */
    get x1(): number;
    /**
     *
     * @return {number}
     */
    get y0(): number;
    /**
     *
     * @return {number}
     */
    get y1(): number;
    /**
     *
     * @param {number} x
     * @param {number} y
     * @param {number} width
     * @param {number} height
     */
    set(x: number, y: number, width: number, height: number): void;
    /**
     *
     * @returns {Rectangle}
     */
    clone(): Rectangle;
    /**
     *
     * @param {Rectangle} other
     */
    copy(other: Rectangle): void;
    /**
     *
     * @param {number} x0
     * @param {number} y0
     * @param {number} x1
     * @param {number} y1
     * @returns {boolean}
     */
    _intersects(x0: number, y0: number, x1: number, y1: number): boolean;
    /**
     *
     * @param {Rectangle} other
     * @returns {boolean}
     */
    intersects(other: Rectangle): boolean;
    /**
     *
     * @param {number}  x0
     * @param {number} y0
     * @param {number} x1
     * @param {number} y1
     * @returns {boolean}
     */
    _overlaps(x0: number, y0: number, x1: number, y1: number): boolean;
    /**
     *
     * @param {Rectangle} other
     * @returns {boolean}
     */
    overlaps(other: Rectangle): boolean;
    /**
     *
     * @param {number} x0
     * @param {number} y0
     * @param {number} x1
     * @param {number} y1
     */
    _resizeToFit(x0: number, y0: number, x1: number, y1: number): void;
    /**
     *
     * @param {Rectangle} other
     */
    resizeToFit(other: Rectangle): void;
    /**
     *
     * @param {number} x0
     * @param {number} y0
     * @param {number} x1
     * @param {number} y1
     * @returns {boolean}
     */
    _contains(x0: number, y0: number, x1: number, y1: number): boolean;
    /**
     *
     * @param {Rectangle} other
     * @returns {boolean}
     */
    contains(other: Rectangle): boolean;
    /**
     *
     * @param {Vector2} result
     */
    computeCenter(result: Vector2): void;
    /**
     *
     * @return {number}
     */
    computeArea(): number;
    /**
     *
     * @param {Array.<number>|Float32Array|Float64Array|Uint8Array} target
     * @param {number} [targetOffset=0]
     */
    toArray(target: Array<number> | Float32Array | Float64Array | Uint8Array, targetOffset?: number): void;
    toJSON(): {
        position: {
            x: number;
            y: number;
        };
        size: {
            x: number;
            y: number;
        };
    };
    fromJSON(json: any): void;
    /**
     * @readonly
     * @type {boolean}
     */
    readonly isRectangle: boolean;
}
import Vector2 from "../Vector2.js";
//# sourceMappingURL=Rectangle.d.ts.map