import { type ProviderId } from "./eval-server/providers.js"; export type OnboardingAction = "skip" | "saved" | "declined"; export interface OnboardingResult { action: OnboardingAction; provider?: ProviderId; } export interface OnboardingIO { stdout: { write: (s: string) => boolean; }; stderr: { write: (s: string) => boolean; }; isTTY: () => boolean; promptConfirm: (question: string) => Promise; readMaskedKey: () => Promise; env: NodeJS.ProcessEnv; /** 0772 US-001: detect whether the `claude` CLI binary is on PATH. When * true, the prompt is skipped silently because Claude Code provides a * no-key path. Defaults to a real `which`/`where` call when omitted. */ detectClaudeBinary?: () => boolean; } /** * 0772 US-001 — Detect whether the `claude` CLI binary is on PATH. * POSIX uses `which claude`; win32 uses `where claude`. Bounded 250 ms timeout. * Never throws — any failure is reported as "not detected". */ export declare function detectClaudeBinaryDefault(): boolean; export declare function firstRunOnboarding(io?: OnboardingIO): Promise;