import { OffsetRange } from "../common/core/offsetRange.js";
import { Point } from "./point.js";
export declare class Rect {
    readonly left: number;
    readonly top: number;
    readonly right: number;
    readonly bottom: number;
    static fromPoint(point: Point): Rect;
    static fromPoints(topLeft: Point, bottomRight: Point): Rect;
    static fromPointSize(point: Point, size: Point): Rect;
    static fromLeftTopRightBottom(left: number, top: number, right: number, bottom: number): Rect;
    static fromLeftTopWidthHeight(left: number, top: number, width: number, height: number): Rect;
    static fromRanges(leftRight: OffsetRange, topBottom: OffsetRange): Rect;
    static hull(rects: Rect[]): Rect;
    get width(): number;
    get height(): number;
    constructor(left: number, top: number, right: number, bottom: number);
    withMargin(margin: number): Rect;
    withMargin(marginVertical: number, marginHorizontal: number): Rect;
    withMargin(marginTop: number, marginRight: number, marginBottom: number, marginLeft: number): Rect;
    intersectVertical(range: OffsetRange): Rect;
    intersectHorizontal(range: OffsetRange): Rect;
    toString(): string;
    intersect(parent: Rect): Rect | undefined;
    union(other: Rect): Rect;
    containsRect(other: Rect): boolean;
    containsPoint(point: Point): boolean;
    moveToBeContainedIn(parent: Rect): Rect;
    withWidth(width: number): Rect;
    withHeight(height: number): Rect;
    withTop(top: number): Rect;
    withLeft(left: number): Rect;
    translateX(delta: number): Rect;
    translateY(delta: number): Rect;
    deltaRight(delta: number): Rect;
    deltaTop(delta: number): Rect;
    deltaLeft(delta: number): Rect;
    deltaBottom(delta: number): Rect;
    getLeftBottom(): Point;
    getRightBottom(): Point;
    getLeftTop(): Point;
    getRightTop(): Point;
    toStyles(): {
        position: string;
        left: string;
        top: string;
        width: string;
        height: string;
    };
}
