import type { GraphInstance, RouteEndpoint, RouteLine, RoutePoint } from "../types";
export interface OffGraphEntry {
    readonly segment: RouteLine;
    readonly projection: RoutePoint;
}
/** A* candidates plus an optional `offGraphEntry` — set when the route's entry needs perpendicular
 *  trim to land on a point inside a segment instead of at a graph node. */
export interface ResolvedCandidates {
    readonly candidates: RoutePoint[];
    readonly offGraphEntry: OffGraphEntry | null;
}
/** Turns a route endpoint into A* candidates.
 *  - Booth (has `bounds`) → graph nodes inside the polygon.
 *  - Off-graph point → nearest segment on its layer; both ends are candidates and `offGraphEntry`
 *    holds the perpendicular foot to trim to. If the foot falls off the segment, attach at its node.
 * */
export declare function resolveWaypointCandidates(graph: GraphInstance, endpoint: RouteEndpoint): ResolvedCandidates;
//# sourceMappingURL=resolveWaypointCandidates.d.ts.map