interface PositionLike { x: number; y: number; } interface SizeLike { width: number; height: number; } interface RectLike { top: number; bottom: number; left: number; right: number; } export declare type Sizeable = SizeLike | RectLike | number; export declare type ScaleMode = "contain" | "cover"; export declare class Position { x: number; y: number; constructor(s: PositionLike | number); } export declare class Size { width: number; height: number; constructor(s: Sizeable); scale(ratio: number): this; round(): this; scaleTo(target: Sizeable, mode: ScaleMode): { size: Size; ratio: number; sourceOffset: { x: number; y: number; }; targetOffset: { x: number; y: number; }; }; } export declare class Rect { top: number; bottom: number; left: number; right: number; constructor(o: Sizeable); move(p: Position): this; scaleTo(target: Sizeable, mode: ScaleMode): { size: Size; ratio: number; sourceOffset: { x: number; y: number; }; targetOffset: { x: number; y: number; }; }; } export {};