import type { HandlePosition, Position } from "../editor";
export type EdgeRouting = "bezier" | "step" | "smoothstep" | "straight";
export interface PathGeometry {
    d: string;
    midX: number;
    midY: number;
    /** Tangent angle (radians) at the midpoint — useful when callers want
     *  to offset the label/delete chrome along or perpendicular to the path. */
    midAngle: number;
}
export declare function buildEdgePath(routing: EdgeRouting, start: Position, startSide: HandlePosition, end: Position, endSide: HandlePosition, options?: {
    borderRadius?: number;
    curvature?: number;
}): PathGeometry;
export declare function bezierPath(start: Position, startSide: HandlePosition, end: Position, endSide: HandlePosition, curvature?: number): PathGeometry;
export declare function stepPath(start: Position, startSide: HandlePosition, end: Position, endSide: HandlePosition): PathGeometry;
export declare function smoothStepPath(start: Position, startSide: HandlePosition, end: Position, endSide: HandlePosition, borderRadius?: number): PathGeometry;
export declare function straightPath(start: Position, end: Position): PathGeometry;
//# sourceMappingURL=paths.d.ts.map