import type { VisualClass } from "../task-type-visual-registry";
/**
 * Inset rectangle defining the safe content area within a node shape.
 * All values are in pixels from the respective edge of the bounding box.
 */
export interface ContentInsets {
    readonly top: number;
    readonly right: number;
    readonly bottom: number;
    readonly left: number;
}
/**
 * Returns an SVG path `d` string for a diamond (rotated square)
 * inscribed within the given bounding box.
 *
 * Vertices at midpoints of each edge: top-center, right-center,
 * bottom-center, left-center.
 */
export declare function diamondPath(width: number, height: number): string;
/**
 * Returns an SVG path `d` string for a regular octagon inscribed
 * within the given bounding box. The cut fraction controls how much
 * of each corner is removed.
 */
export declare function octagonPath(width: number, height: number): string;
/**
 * Returns an SVG path `d` string for a circle (or ellipse when w != h)
 * centered within the bounding box. Uses two arc commands.
 */
export declare function circlePath(width: number, height: number): string;
/**
 * Returns an SVG path `d` string for a parallel bar — a wide,
 * low-height rounded rectangle. Corner radius is half the height
 * to produce fully rounded ends.
 */
export declare function parallelBarPath(width: number, height: number): string;
/**
 * Returns the content insets for a given visual class.
 * Falls back to task-card insets for unknown values.
 */
export declare function getContentInsets(visualClass: VisualClass): ContentInsets;
/**
 * Returns the SVG path `d` string for a non-rectangular visual class.
 * Returns `null` for rectangular visual classes (which use CSS rendering).
 */
export declare function getShapePath(visualClass: VisualClass, width: number, height: number): string | null;
/**
 * Visual classes that use SVG path rendering instead of CSS borders.
 */
export declare const SVG_SHAPE_CLASSES: ReadonlySet<VisualClass>;
//# sourceMappingURL=shape-paths.d.ts.map