import type { Position } from '../../../../xyflow/react.ts';
import type { Waypoint } from '../types';
export type RouteAnchor = {
    nodeId: string;
    handleId?: string | null;
    x: number;
    y: number;
    position: Position;
};
export type RouteEdgeRequest = {
    edgeId: string;
    source: RouteAnchor;
    target: RouteAnchor;
};
export type RouteNodeRequest = {
    id: string;
    x: number;
    y: number;
    width: number;
    height: number;
};
export type RouteRequest = {
    edges: RouteEdgeRequest[];
    nodes: RouteNodeRequest[];
};
export type RoutedEdge = {
    edgeId: string;
    waypoints: Waypoint[];
};
export interface EdgeRouter {
    route(req: RouteRequest): RoutedEdge[] | Promise<RoutedEdge[]>;
}
//# sourceMappingURL=types.d.ts.map