import { type ReactElement } from "react";
import { xy } from "@synnaxlabs/x";
import { type EdgeProps as RFEdgeProps, type ConnectionLineComponentProps } from "reactflow";
import { Color } from '../../../color';
import { connector } from './connector';
export interface EdgeProps extends RFEdgeProps {
    segments: connector.Segment[];
    onSegmentsChange: (segments: connector.Segment[]) => void;
    color?: Color.Crude;
}
export declare const CustomConnectionLine: ({ fromX, fromY, toX, toY, fromPosition, toPosition, fromNode, connectionLineStyle, connectionStatus, }: ConnectionLineComponentProps) => ReactElement;
export declare const Edge: ({ id, source, target, sourcePosition: sourceOrientation, targetHandleId, targetPosition: targetOrientation, style, segments: propsSegments, onSegmentsChange, color, selected, ...props }: EdgeProps) => ReactElement;
export declare const calcPath: (coords: xy.XY[]) => string;
export declare const calcMidPoints: (points: xy.XY[]) => xy.XY[];
