import type { FullObject } from "@hylimo/core"; import type { Size, Point, Element } from "@hylimo/diagram-common"; import type { LayoutElement, SizeConstraints } from "../layoutElement.js"; import type { Layout } from "../engine/layout.js"; import { ShapeLayoutConfig } from "./shapeLayoutConfig.js"; /** * Different stretch modes */ export declare enum StretchMode { /** * The path is stretched to fill the available space */ FILL = "fill", /** * The path is stretched uniformly */ UNIFORM = "uniform" } /** * Layout config for path */ export declare class PathLayoutConfig extends ShapeLayoutConfig { type: string; constructor(); measure(layout: Layout, element: LayoutElement, constraints: SizeConstraints): Size; layout(layout: Layout, element: LayoutElement, position: Point, size: Size, id: string): Element[]; getChildren(): FullObject[]; /** * Layouts a path iteratively * Also handles caching * * @param path the path to layout * @param stroke the stroke of the path * @param size the size to use * @param stretch the stretch mode to use * @param layout the layout to use * @returns the layouted path */ private layoutPath; /** * Layouts a path iteratively * * @param path the path to layout * @param stroke the stroke of the path * @param size the size to use * @param stretch the stretch mode to use * @returns the layouted path */ private layoutPathInternal; } //# sourceMappingURL=pathLayoutConfig.d.ts.map