/**
 * Nexus Prime — Install Wizard
 * Auto-detects installed IDEs and writes MCP configuration for each.
 * Invoked via: nexus-prime setup
 */
import { type IDEId } from '../agents/adapters/ide-compat.js';
import { INSTALL_ARCH_GENERATION } from '../install/manifest.js';
export interface WizardOptions {
    /** Target workspace root (defaults to cwd) */
    workspaceRoot?: string;
    /** If true, print output to stdout */
    verbose?: boolean;
    /** If true, skip writing files (dry-run) */
    dryRun?: boolean;
}
export interface WizardResult {
    configured: IDEId[];
    skipped: IDEId[];
    errors: Array<{
        ide: IDEId;
        reason: string;
    }>;
}
export interface SetupMarker {
    version: string;
    configuredIDEs: IDEId[];
    setupCompletedAt: number;
    /** sha256 of the MCP config file written per IDE, for on-launch drift detection. */
    writtenHash?: Record<string, string>;
}
/** Compute sha256 of a file's content. Returns null if the file cannot be read. */
export declare function computeFileHash(filePath: string): string | null;
export declare const SETUP_MARKER_VERSION = "6.0.1";
export declare function readSetupMarker(markerPath?: string): SetupMarker | null;
export declare function writeSetupMarker(marker: SetupMarker, markerPath?: string): SetupMarker;
export declare function configureIDE(ide: IDEId, opts?: WizardOptions): Promise<{
    configPath: string | null;
    writtenHash: string | null;
}>;
/** Architecture-generation migration step. Idempotent and best-effort: when
 *  the install manifest predates INSTALL_ARCH_GENERATION (or carries an older
 *  one), we drop stale generated artefacts that the current generation no
 *  longer owns. The manifest's path/registration entries are preserved so
 *  uninstall can still reverse them. */
export interface ArchUpgradeResult {
    previousGeneration?: string;
    currentGeneration: typeof INSTALL_ARCH_GENERATION;
    migrated: boolean;
    ngramArchivesPruned: number;
}
export declare function runArchitectureUpgrade(opts?: {
    dryRun?: boolean;
}): ArchUpgradeResult;
/** Run the install wizard: detect IDEs and write MCP configs. */
export declare function runInstallWizard(opts?: WizardOptions): Promise<WizardResult>;
/** Print how to add nexus-prime manually to an MCP client. */
export declare function printManualMcpInstructions(): void;
export interface CliSetupOptions {
    dryRun?: boolean;
    verbose?: boolean;
    /** Pre-validated license key to activate before starting daemon. */
    licenseKey?: string;
    /** Open browser to dashboard after daemon starts (default: true for new users). */
    openDashboard?: boolean;
    /** Whether this is a first-time install — affects banner and browser target. */
    isNewUser?: boolean;
}
/** Entry point for CLI: nexus-prime install / setup auto */
export declare function cliSetup(opts?: CliSetupOptions | string[]): Promise<void>;
