/**
 * @file 矩形的定义及相关算法
 */
import { Point } from './Point';
export declare class Rect {
    x: number;
    y: number;
    width: number;
    height: number;
    right: number;
    bottom: number;
    constructor(x?: number, y?: number, width?: number, height?: number);
    getCenterPoint(): Point;
    update(x: number, y: number, width?: number, height?: number): void;
    setY(y: number): void;
    setX(x: number): void;
    moveTo(x: number, y: number): void;
    moveBy(dx: number, dy: number): void;
    contains(rect: Rect): boolean;
    hasPoint(point: {
        x: number;
        y: number;
    }, range?: number): boolean;
    overlaps(rect: Rect): boolean;
    xOverlaps(rect: Rect): boolean;
    yOverlaps(rect: Rect): boolean;
    getMaximalFreeRects(rect: Rect): Rect[];
    canFit(rect: Rect): boolean;
    xDistanceOf(target: Rect): number;
    yDistanceOf(target: Rect): number;
}
