import type { Size, Element, Line } from "@hylimo/diagram-common"; import { Point } from "@hylimo/diagram-common"; import type { LayoutElement, SizeConstraints } from "../layoutElement.js"; import type { Layout } from "../engine/layout.js"; import { ContentShapeLayoutConfig } from "./contentShapeLayoutConfig.js"; /** * Layout config for ellipse */ export declare class EllipseLayoutConfig extends ContentShapeLayoutConfig { type: string; constructor(); measure(layout: Layout, element: LayoutElement, constraints: SizeConstraints): Size; layout(layout: Layout, element: LayoutElement, position: Point, size: Size, id: string): Element[]; outline(layout: Layout, element: LayoutElement, position: Point, size: Size, id: string): Line; /** * Calculates a stroke width vector based on the stroke width and the size of the ellipse * This is the stroke width at 45° * * @param strokeWidth the stroke width * @param size the size of the ellipse * @returns the stroke vector at 45° */ private calculate45DegreeStrokeVector; /** * Calculates the inner size without the border * * @param size the total size * @param strokeWidth the stroke width * @returns the inner size */ private calculateInnerSize; private calculateOuterSize; } //# sourceMappingURL=ellipseLayoutConfig.d.ts.map