/**
 * Deterministic pre-flight setup for ShortcutXL — platform dispatcher.
 *
 * Runs before the TUI starts on first install (!isInstalled()).
 * Best-effort: installs what it can, the installation agent handles the rest.
 *
 * macOS, Linux, and Windows have independent flows:
 * - macOS: see mac.ts    (uv → Python → packages → sheet engine)
 * - Linux: see linux.ts  (uv → Python → packages → sheet engine)
 * - Windows: see windows.ts  (Git Bash → pip → Chrome → XLL → Excel)
 *
 * Platform modules are lazy-imported so each platform never loads
 * the others' code (PowerShell/registry on Windows, etc.).
 */
import type { PreflightLogEntry } from '../../app/modes/installation/preflight-log.js';
import type { PreflightDiagnostics } from './diagnostics.js';
export type { PreflightLogEntry } from '../../app/modes/installation/preflight-log.js';
/** Result returned by runPreflight(). */
export interface PreflightResult {
    /** Whether the end-to-end smoke test passed. */
    passed: boolean;
    /** Structured log of everything preflight did. */
    log: PreflightLogEntry[];
    /** Diagnostics collected on failure — written to JSONL as a custom entry for GCS traces. */
    diagnostics?: PreflightDiagnostics;
}
/**
 * Run deterministic pre-flight checks and auto-install prerequisites.
 * Best-effort — installs what it can, the installation agent handles the rest.
 *
 * Step routing by platform:
 *
 *   Step               macOS    Linux    Windows
 *   ─────────────────  ─────    ─────    ───────
 *   uv (toolchain)       ✓        ✓        –
 *   Python (via uv)      ✓        ✓        –
 *   Packages (via uv)    ✓        ✓        –
 *   Chrome (detect)      ✓        ✓        –
 *   Sheet Engine         ✓        ✓        –
 *   Engine Smoke Test    ✓        ✓        –
 *   Git Bash             –        –        ✓
 *   Python Packages      –        –        ✓
 *   Chrome (install)     –        –        ✓
 *   XLL Registry         –        –        ✓
 *   Launch Excel         –        –        ✓
 *   Connection Test      –        –        ✓
 */
export declare function runPreflight(): Promise<PreflightResult>;
//# sourceMappingURL=index.d.ts.map