import type { NavigationConfig, ResolvedConfig, ShotRecord } from "../types.js"; import { type RouteHarvest, type RoutePlan } from "./store.js"; /** The affordance list as the skill sees it: one line per control, by id. */ export declare function inventoryBrief(harvest: RouteHarvest): string; /** * Hold a raw reply to the navigation-plan-v1 contract. Pure, so the tests can * feed it junk without a subprocess. Returns the plan pieces plus one note * per dropped or rerouted entry. */ export declare function parsePlanReply(raw: unknown, harvest: RouteHarvest, opts: { recipeNames: readonly string[]; maxStates: number; maxChecks: number; maxFocus: number; maxHover: number; /** Normalized pathnames of the target's configured routes. */ configuredPaths: readonly string[]; }): { states: RoutePlan["states"]; checks: RoutePlan["checks"]; skipped: RoutePlan["skipped"]; notes: string[]; }; /** Unconfigured same-origin destinations: derived from the harvest, not the model. */ export declare function coverageSuggestions(harvest: RouteHarvest, configuredPaths: readonly string[]): RoutePlan["suggestions"]; export declare function planRoute(args: { resolved: ResolvedConfig; target: string; route: string; harvest: RouteHarvest; /** This route's rest shots, for the planner to look at. */ restShots: ShotRecord[]; recipeNames: readonly string[]; configuredPaths: readonly string[]; navigation: NavigationConfig; model?: string; }): Promise<{ plan: RoutePlan | null; costUsd: number; notes: string[]; }>;