import type { Position } from '../../../xyflow/react.ts';
import type { PathVertex, Point, Segment, SegmentOrientation, Waypoint } from './types';
export declare function snapPointToGrid(point: Point): Point;
export declare function isHorizontalPosition(position: Position): boolean;
export declare function calculateAutoWaypoints(sourceX: number, sourceY: number, sourcePosition: Position, targetX: number, targetY: number, targetPosition: Position): Point[];
export declare function routeAnchorToPoint(anchor: Point, anchorPosition: Position, point: Point): Point[];
export declare function buildPathVertices(sourceX: number, sourceY: number, sourcePosition: Position, targetX: number, targetY: number, targetPosition: Position, waypoints?: Waypoint[]): PathVertex[];
export declare function consolidateWaypoints<T extends Point>(points: T[], pathStart: Point, pathEnd: Point, isProtected?: (point: T) => boolean): T[];
export declare function getSegmentOrientation(start: Point, end: Point): SegmentOrientation;
export declare function isSegmentPerpendicular(segment: {
    start: Point;
    end: Point;
}): boolean;
export declare function extractSegments(pathPoints: PathVertex[]): Segment[];
export declare function createRoundedPath(points: Point[], borderRadius?: number): string;
export declare function getSegmentMidpoint(segment: Segment): Point;
export declare function getSegmentLength(segment: Segment): number;
export declare function isSegmentInteractable(segment: Segment): boolean;
export declare function getPathArcMidpoint(points: Point[]): Point;
//# sourceMappingURL=geometry.d.ts.map