import type { Position } from '../../../xyflow/react.ts';
import type { PathVertex, Point, Segment, Waypoint } from './types';
export declare function materializePathWaypoints(vertices: PathVertex[], stored: Waypoint[]): Waypoint[];
export declare function generateWaypointId(): string;
export declare function waypointsEqual(a: Waypoint[], b: Waypoint[]): boolean;
export declare function waypointsPositionallyEqual(a: Waypoint[], b: Waypoint[]): boolean;
export declare function insertWaypoint(vertices: PathVertex[], stored: Waypoint[], segmentIndex: number, position: Point): Waypoint[];
export declare function removeWaypoint(waypoints: Waypoint[], index: number): Waypoint[];
export type RebalanceEndpoint = {
    position: Position;
    from: Point;
    to: Point;
};
export declare function rebalanceWaypoints(waypoints: Waypoint[], source: RebalanceEndpoint, target: RebalanceEndpoint): Waypoint[];
export declare function moveWaypoint(waypoints: Waypoint[], index: number, newPosition: Point): Waypoint[];
export declare function moveSegmentByDelta(initialWaypoints: Waypoint[], initialSegment: Segment, delta: Point, initialPathPoints: Point[]): Waypoint[];
//# sourceMappingURL=waypoints.d.ts.map