import { spawn } from "node:child_process";
/** Options parsed for `lisa update`. */
export interface UpdateCommandOptions {
    yes?: boolean;
}
/** Runtime collaborators for the update command. */
export interface UpdateCommandDependencies {
    /** Current working directory. */
    cwd: string;
    /** Environment map used for package-manager detection. */
    env: NodeJS.ProcessEnv;
    /** Spawn implementation used when --yes is passed. */
    spawn: typeof spawn;
    /** Write user-facing output. */
    write: (message: string) => void;
}
/**
 * Detect the preferred package manager from the user agent or lockfiles.
 * @param deps - Runtime dependencies
 * @returns Package manager command
 */
export declare function detectPackageManager(deps: Pick<UpdateCommandDependencies, "cwd" | "env">): "npm" | "pnpm" | "yarn" | "bun";
/**
 * Compose the project-local Lisa dependency update command for a package manager.
 * @param packageManager - Detected package manager
 * @returns Command and arguments ready for spawn
 */
export declare function getUpdateCommand(packageManager: string): {
    command: string;
    args: string[];
};
/**
 * Run `lisa update`.
 * @param options - Parsed command options
 * @param dependencies - Optional collaborators for tests
 * @returns Child exit code when --yes runs, otherwise 0
 */
export declare function runUpdate(options: UpdateCommandOptions, dependencies?: Partial<UpdateCommandDependencies>): Promise<number>;
//# sourceMappingURL=update-cmd.d.ts.map