import { ExecOptions } from "child_process";
export interface UpdateBunLockfileOptions {
    rootPath: string;
    npmClientArgs: string[];
    runScriptsOnLockfileUpdate?: boolean;
    execOpts: ExecOptions;
}
/**
 * Regenerates the root bun lockfile(s) after package.json versions have been bumped and
 * returns the paths that should be staged.
 *
 * Bun caches workspace package versions from the existing lockfile and does not re-read
 * them from package.json, so the stale lockfile(s) must be moved out of the way before
 * `bun install --lockfile-only` regenerates them. Depending on the bun version this can
 * migrate a legacy binary bun.lockb to the text bun.lock format, so both the removal and
 * the regenerated file are returned for staging.
 *
 * The stale lockfiles are kept as on-disk backups (not just in memory) while bun runs, so
 * an interrupted or killed process never destroys the only copy.
 */
export declare function updateBunLockfile({ rootPath, npmClientArgs, runScriptsOnLockfileUpdate, execOpts, }: UpdateBunLockfileOptions): Promise<string[]>;
