/**
 * Update Command Handler
 *
 * Handles `ccs update` command - checks for updates and installs latest version.
 * Uses npm/yarn/pnpm/bun package managers exclusively.
 */
/// <reference types="node" />
import { spawn } from 'child_process';
import { initUI } from '../utils/ui';
import { buildPackageManagerEnv, detectCurrentInstall, formatManualUpdateCommand, readInstalledPackageState } from '../utils/package-manager-detector';
import { compareVersionsWithPrerelease, type UpdateResult } from '../utils/update-checker';
import { getVersion } from '../utils/version';
/**
 * Options for the update command
 */
export interface UpdateOptions {
    force?: boolean;
    beta?: boolean;
}
type TargetTag = 'latest' | 'dev';
export interface UpdateCommandDeps {
    initUI: typeof initUI;
    getVersion: typeof getVersion;
    log: typeof console.log;
    exit: typeof process.exit;
    detectCurrentInstall: typeof detectCurrentInstall;
    buildPackageManagerEnv: typeof buildPackageManagerEnv;
    formatManualUpdateCommand: typeof formatManualUpdateCommand;
    readInstalledPackageState: typeof readInstalledPackageState;
    compareVersionsWithPrerelease: typeof compareVersionsWithPrerelease;
    checkForUpdates: (currentVersion: string, interactive: boolean, channel: 'npm' | 'direct', targetTag: TargetTag) => Promise<UpdateResult>;
    spawn: typeof spawn;
}
export declare function handleUpdateCommand(options?: UpdateOptions, injectedDeps?: Partial<UpdateCommandDeps>): Promise<void>;
export {};
//# sourceMappingURL=update-command.d.ts.map