import { RoutingGrid } from "../contracts/routing_grid.js"; import type { IWaypointPlan, RouteEndpoint, RouteEndpointWithGrid } from "./types.js"; /** * Utility function to convert a RouteEndpoint to RouteEndpointWithGrid. */ export declare function enrichEndpointWithGrid(endpoint: RouteEndpoint, grid: RoutingGrid): RouteEndpointWithGrid; export interface WaypointPlannerConstants { MAX_THROUGH_HOLE_PROXIMITY: number; MIN_WAYPOINT_SEPARATION: number; VERY_CLOSE_THRESHOLD: number; WAYPOINT_ROUTING_OVERHEAD: number; } export interface WaypointPlannerConfig { grid: RoutingGrid; preferredLayer?: string; freeViaLocations?: { x: number; y: number; }[]; constants: WaypointPlannerConstants; viaCost: number; } export declare class WaypointPlanner { private grid; private preferredLayer?; private throughHoles; private constants; private viaCost; constructor(config: WaypointPlannerConfig); estimateEdgeCost(p1: RouteEndpoint, p2: RouteEndpoint): number; planWaypoints(p1: RouteEndpoint, p2: RouteEndpoint, _allPoints: RouteEndpoint[], _routedPoints: Set): IWaypointPlan; private isThroughHole; private isPointThroughHole; private findNearestPair; } //# sourceMappingURL=waypoint_planner.d.ts.map