/**
 * Foreground update execution path.
 *
 * Runs the updater command in the startup flow. Updaters such as npm can emit
 * huge cleanup dumps on Windows when a global install tree is locked or
 * half-deleted, so stdout/stderr are captured and summarized instead of being
 * streamed directly into the user's terminal.
 */
import { spawn } from 'child_process';
export interface UpdateLaunchRequest {
    command: string;
    cwd?: string;
}
export interface ForegroundUpdateResult {
    kind: 'success' | 'failed';
    exitCode: number | null;
    signal: NodeJS.Signals | null;
    message?: string;
    logPath?: string;
}
interface UpdateActionDeps {
    spawnProcess?: typeof spawn;
    resolveShell?: () => {
        shell: string;
        args: string[];
    };
    resolveEnv?: () => NodeJS.ProcessEnv;
    resolveLogPath?: () => string;
}
export declare function runForegroundUpdate(request: UpdateLaunchRequest, deps?: UpdateActionDeps): Promise<ForegroundUpdateResult>;
export {};
//# sourceMappingURL=update-action.d.ts.map