export type PositionType = "center" | "upper-left"; export declare namespace PositionType { const Center: PositionType; const UpperLeft: PositionType; } export type CenterPosition = { x: number; y: number; type: "center"; }; export type UpperLeftPosition = { x: number; y: number; type: "upper-left"; }; /** * 傾きや切片を計算できる線です。 */ export declare class VLine { x1: number; y1: number; x2: number; y2: number; get smallPoint(): [number, number]; get largePoint(): [number, number]; constructor(x1: number, y1: number, x2: number, y2: number); distance(): number; contains(x: number, y: number): boolean; getY(x: number): number | null; get slope(): number | null; get intercept(): number | null; get inverseSlope(): number | null; inverseIntercept(x: number, y: number): number | null; } export declare class Padding { top: number; left: number; right: number; bottom: number; constructor(top?: number, left?: number, right?: number, bottom?: number); } export declare class Size { width: number; height: number; constructor(width?: number, height?: number); } export type Point = { x: number; y: number; }; export declare function round100(value: number): number; export declare function nearlyEqual(value1: number, value2: number): boolean; export declare function escapeWithRound100(literals: TemplateStringsArray, ...placeholders: (number | string)[]): string; /** * 四角形を表します。 */ export declare class Rectangle { x: number; y: number; width: number; height: number; constructor(x?: number, y?: number, width?: number, height?: number); /** 右端のX座標を返します。 */ get right(): number; /** 底のY座標を返します。 */ get bottom(): number; /** * X座標とY座標に値を加えます。 * @param x * @param y */ addOffset(x: number, y: number): void; /** * 引数の四角形を内包する最小の四角形を返します。 * @param rects */ static merge(rects: Rectangle[]): Rectangle; }