import { UIObject } from "./UIObject";
import { UIPoint } from "./UIPoint";
import { UIView } from "./UIView";
export declare class UIRectangle extends UIObject {
    _isBeingUpdated: boolean;
    rectanglePointDidChange?: (b: any) => void;
    max: UIPoint;
    min: UIPoint;
    constructor(x?: number, y?: number, height?: number, width?: number);
    copy(): UIRectangle;
    isEqualTo(rectangle: UIRectangle | null | undefined): boolean;
    static zero(): UIRectangle;
    containsPoint(point: UIPoint): boolean;
    updateByAddingPoint(point: UIPoint): void;
    scale(scale: number): void;
    get height(): number;
    set height(height: number);
    get width(): number;
    set width(width: number);
    get x(): number;
    set x(x: number);
    get y(): number;
    set y(y: number);
    get topLeft(): UIPoint;
    get topRight(): UIPoint;
    get bottomLeft(): UIPoint;
    get bottomRight(): UIPoint;
    get center(): UIPoint;
    set center(center: UIPoint);
    offsetByPoint(offset: UIPoint): this;
    concatenateWithRectangle(rectangle: UIRectangle): this;
    intersectionRectangleWithRectangle(rectangle: UIRectangle): UIRectangle;
    get area(): number;
    intersectsWithRectangle(rectangle: UIRectangle): boolean;
    rectangleWithInsets(left: number, right: number, bottom: number, top: number): UIRectangle;
    rectangleWithInset(inset: number): UIRectangle;
    rectangleWithHeight(height: number, centeredOnPosition?: number): UIRectangle;
    rectangleWithWidth(width: number, centeredOnPosition?: number): UIRectangle;
    rectangleWithHeightRelativeToWidth(heightRatio?: number, centeredOnPosition?: number): UIRectangle;
    rectangleWithWidthRelativeToHeight(widthRatio?: number, centeredOnPosition?: number): UIRectangle;
    rectangleWithX(x: number, centeredOnPosition?: number): UIRectangle;
    rectangleWithY(y: number, centeredOnPosition?: number): UIRectangle;
    rectangleByAddingX(x: number): UIRectangle;
    rectangleByAddingY(y: number): UIRectangle;
    rectangleWithRelativeValues(relativeXPosition: number, widthMultiplier: number, relativeYPosition: number, heightMultiplier: number): UIRectangle;
    rectanglesBySplittingWidth(weights: number[], paddings?: number | number[], absoluteWidths?: number | number[]): UIRectangle[];
    rectanglesBySplittingHeight(weights: number[], paddings?: number | number[], absoluteHeights?: number | number[]): UIRectangle[];
    rectanglesByEquallySplittingWidth(numberOfFrames: number, padding?: number): UIRectangle[];
    rectanglesByEquallySplittingHeight(numberOfFrames: number, padding?: number): UIRectangle[];
    distributeViewsAlongWidth(views: UIView[], weights?: number | number[], paddings?: number | number[], absoluteWidths?: number | number[]): this;
    distributeViewsAlongHeight(views: UIView[], weights?: number | number[], paddings?: number | number[], absoluteHeights?: number | number[]): this;
    distributeViewsEquallyAlongWidth(views: UIView[], padding: number): this;
    distributeViewsEquallyAlongHeight(views: UIView[], padding: number): this;
    rectangleForNextRow(padding?: number, height?: number | ((constrainingWidth: number) => number)): UIRectangle;
    rectangleForNextColumn(padding?: number, width?: number | ((constrainingHeight: number) => number)): UIRectangle;
    rectangleForPreviousRow(padding?: number): UIRectangle;
    rectangleForPreviousColumn(padding?: number): UIRectangle;
    static boundingBoxForPoints(points: string | any[]): UIRectangle;
    beginUpdates(): void;
    finishUpdates(): void;
    didChange(): void;
    _rectanglePointDidChange(): void;
}
