import { Position, PortPosition as PortSide } from '../../types/core'; import { ConnectionPathModel, ConnectionPathOptions, ConnectionPathPoint } from '../../types/connectionBehavior'; /** * Calculate control points for a bezier curve connecting two points. * Control points are offset along the dominant axis to create smooth curves. */ export declare const calculateConnectionControlPoints: (from: Position, to: Position, options?: ConnectionPathOptions) => { cp1: Position; cp2: Position; }; /** * Calculates the cubic bezier handle vectors for a connection. * - `outputHandle` is the vector from the output port position to `cp1` * - `inputHandle` is the vector from the input port position to `cp2` */ export declare const calculateConnectionHandles: (from: Position, to: Position, options?: ConnectionPathOptions) => { outputHandle: Position; inputHandle: Position; }; export declare const calculateConnectionControlPointsByPortSide: (from: Position, to: Position, outputSide: PortSide, inputSide: PortSide, options?: Omit) => { cp1: Position; cp2: Position; }; export declare const calculateConnectionHandlesByPortSide: (from: Position, to: Position, outputSide: PortSide, inputSide: PortSide, options?: Omit) => { outputHandle: Position; inputHandle: Position; }; export declare const calculateConnectionPathByPortSide: (from: Position, to: Position, outputSide: PortSide, inputSide: PortSide, options?: Omit) => string; /** * Calculate SVG bezier path string for a connection */ export declare const calculateConnectionPath: (from: Position, to: Position, options?: ConnectionPathOptions) => string; /** * Serialize an SVG cubic bezier path string for a connection. */ export declare const serializeCubicBezierPath: (from: Position, cp1: Position, cp2: Position, to: Position) => string; export declare const createCubicBezierPathModel: (from: Position, cp1: Position, cp2: Position, to: Position) => ConnectionPathModel; export declare const createStraightPathModel: (from: Position, to: Position) => ConnectionPathModel; export declare const createPolylinePathModel: (points: readonly Position[]) => ConnectionPathModel; export declare const createBezierConnectionPathModel: (from: Position, to: Position, options?: ConnectionPathOptions) => ConnectionPathModel; /** * Calculate the midpoint position and tangent angle at t=0.5 along the connection bezier. */ export declare const calculateConnectionMidpointFromControlPoints: (from: Position, cp1: Position, cp2: Position, to: Position) => ConnectionPathPoint; export declare const calculateConnectionMidpoint: (from: Position, to: Position) => ConnectionPathPoint; export type { ConnectionPathOptions } from '../../types/connectionBehavior';