import { type Config } from './onboarding.js'; export type OnboardingReason = 'no-usable-agent' | 'no-llm' | 'cli-agent-available' | 'ready'; export interface OnboardingStatus { firstRun: boolean; reason: OnboardingReason; hasLlmSecret: boolean; availableCliAgents: string[]; defaultAgent: string; skipped: boolean; } interface LlmBackendRef { name: string; provider?: string; baseUrl?: string; label?: string; } export declare function readLlmBackends(config: Config): LlmBackendRef[]; /** True when at least one llmBackends row has a resolvable secret. */ export declare function hasUsableLlmSecret(config: Config): boolean; /** * Decide whether the install still needs the first-run wizard. * * firstRun is true only when there is no usable LLM secret, no available * agent (CLI or native), and the operator has not skipped setup. */ export declare function getOnboardingStatus(input: { config: Config; availableAgents: string[]; hasLlmSecret: boolean; }): OnboardingStatus; export declare function loadOnboardingStatus(opts?: { availableAgents?: string[]; }): Promise; export declare function markSetupSkipped(): Promise; /** First-run may boot the Web wizard before any agent or LLM is usable. */ export declare function canStartWithoutAgents(status: Pick): boolean; export {}; //# sourceMappingURL=onboarding-status.d.ts.map