import { CustomGeometry } from '../document-model/index.js'; import { PathSegment, VectorPath } from '../vector.js'; /** * The four closed segments of the `w`×`h` bounding rectangle, in the local y-up * frame (origin bottom-left). The fallback geometry for unknown presets. */ export declare function rectSegments(w: number, h: number): ReadonlyArray; /** The `w`×`h` bounding rectangle as a {@link VectorPath}. */ export declare function rectPath(w: number, h: number): VectorPath; /** * Map a preset shape name (§20.1.10.55) to its vector path(s) in the local y-up * frame, sized `w`×`h` points and shaped by the `adjust` guides. Returns `null` * for an unknown preset so the caller falls back to the bounding rectangle — * graceful degradation that keeps even unimplemented presets visible (with the * right fill/line) and never throws. * * @param preset The preset geometry name (e.g. `'roundRect'`, `'rightArrow'`). * @param w Box width in points. * @param h Box height in points. * @param adjust Raw `a:gd` adjust guides by name (thousandths of a percent). * @returns The path(s), or `null` for an unrecognised preset. */ export declare function presetPaths(preset: string, w: number, h: number, adjust: ReadonlyMap): Array | null; /** * Convert a custom geometry (§20.1.9) to a vector path. Path-space coordinates * (y-down, origin top-left) are scaled to the shape box and flipped to the local * y-up frame; quadratics are elevated to cubics; `arcTo` is decomposed via the * shared arc helper. Angles are 1/60000° clockwise in y-down, which becomes * negative (CCW) once y is flipped. * * @param geom The parsed custom geometry (path size + draw commands). * @param wPt Box width in points. * @param hPt Box height in points. * @returns A single-element array holding the built path. */ export declare function customPaths(geom: CustomGeometry, wPt: number, hPt: number): Array;