import { type DiscoveredContext } from './discovery.js'; export interface HubProfile { hubUrl?: string; token?: string; schedulerUrl?: string; site?: string; } /** Persist a hub profile to ~/.robopark/hub-profile.json. */ export declare function saveHubProfile(profile: HubProfile): void; /** Load the saved hub profile, or null if none has been saved. */ export declare function loadHubProfile(): HubProfile | null; /** Delete the saved hub profile, if any. */ export declare function clearHubProfile(): void; /** Flags a caller may pass explicitly on the command line. */ export interface ExplicitContextOpts { hubUrl?: string; token?: string; schedulerUrl?: string; site?: string; } /** Resolved context: explicit opts > saved hub profile > auto-discovery. */ export interface ResolvedContext { hubUrl?: string; token?: string; schedulerUrl?: string; site?: string; /** The full auto-discovery result, for callers (like setup.ts) that need * more than the four flattened fields above (e.g. ctx.gateway, ctx.robots). */ discovered: DiscoveredContext; } /** * Resolve hub/scheduler/token/site context with the standard precedence: * explicit CLI flags win, then the saved hub profile, then discoverContext() * auto-discovery as the final fallback. * * Kept as a separate wrapper (rather than changing discoverContext()'s * signature/behavior) so every existing discoverContext() caller keeps * working unchanged when no profile has been saved. */ export declare function resolveContext(opts?: ExplicitContextOpts): Promise;