import type { Edge, EdgeProps, XYPosition } from '../../../xyflow/react.ts';
export type Point = XYPosition;
export type Waypoint = Point & {
    id: string;
};
export type PathVertex = Point & {
    waypointIndex: number;
};
export type SegmentOrientation = 'horizontal' | 'vertical';
export type Segment = {
    id: string;
    start: Point;
    end: Point;
    orientation: SegmentOrientation;
    waypointIndexBefore: number;
    waypointIndexAfter: number;
};
export type EdgeStrokeStyle = 'solid' | 'dashed';
export type EdgeRouting = 'waypoint' | 'handle';
export type CanvasEdgeData = {
    strokeStyle?: EdgeStrokeStyle;
    hideArrowHead?: boolean;
    label?: string | null;
    isInvalid?: boolean;
    isDiffAdded?: boolean;
    isDiffRemoved?: boolean;
    routing?: EdgeRouting;
    enableEditing?: boolean;
    enableExecution?: boolean;
    enableToolbar?: boolean;
    waypoints?: Waypoint[];
    routedWaypoints?: Waypoint[];
    onWaypointsChange?: (next: Waypoint[]) => void;
};
export type CanvasEdgeProps = EdgeProps<Edge<CanvasEdgeData>>;
//# sourceMappingURL=types.d.ts.map