import { type SpawnSyncReturns } from "node:child_process"; import { type MigrationDependency } from "../package-lifecycle/migration-manifest.js"; declare const PINNABLE_SECTIONS: readonly ["dependencies", "devDependencies", "optionalDependencies"]; export type UpgradeCommand = "run" | "check" | "help"; export interface UpgradeCliOptions { command: UpgradeCommand; cwd?: string; dryRun?: boolean; codemods?: boolean; yes?: boolean; skipInstall?: boolean; skipVerify?: boolean; skipSkills?: boolean; json?: boolean; help?: boolean; force?: boolean; } export interface PackageJsonLike { name?: string; version?: string; packageManager?: string; dependencies?: Record; devDependencies?: Record; optionalDependencies?: Record; peerDependencies?: Record; peerDependenciesMeta?: Record; pnpm?: { overrides?: Record; patchedDependencies?: Record; }; overrides?: Record; resolutions?: Record; scripts?: Record; workspaces?: string[] | { packages?: string[]; }; "agent-native"?: { workspaceCore?: string; }; } export interface FrameworkOverrideFinding { file: string; field: string; key: string; value: string; } export interface AgentNativeDepBump { file: string; section: (typeof PINNABLE_SECTIONS)[number]; name: string; from: string; to: string; } export interface AgentNativeDepPin { file: string; section: (typeof PINNABLE_SECTIONS)[number]; name: string; version: string; } export interface UpgradeDependencyAddition { file: string; name: string; version: string; action: "add" | "promote" | "update"; from?: string; } export interface AgentNativePinResult { pins: AgentNativeDepPin[]; unresolved: string[]; unreadable: string[]; } export interface UpgradeProject { root: string; kind: "standalone" | "workspace"; packageFiles: string[]; workspaceDiscoveryError?: string; } export interface UpgradeDoctorReport { project: UpgradeProject; findings: FrameworkOverrideFinding[]; bumps: AgentNativeDepBump[]; unreadable: string[]; workspaceDiscoveryError: string | null; installedCoreVersion: string | null; cliCoreVersion: string | null; scaffoldStaleHint: boolean; } export interface UpgradeRunResult { ok: boolean; dryRun: boolean; doctor: UpgradeDoctorReport; steps: Array<{ id: string; status: "ok" | "skipped" | "failed" | "planned"; detail?: string; }>; message: string; exitCode: number; codemod?: { files: string[]; warnings: string[]; diff: string; }; } export interface UpgradeIo { log: (message: string) => void; err: (message: string) => void; spawn: (command: string, args: string[], options: { cwd: string; stdio?: "inherit" | "pipe"; }) => SpawnSyncReturns; runSkillsUpdate: (cwd: string) => Promise; } export declare function parseUpgradeArgs(argv: string[]): UpgradeCliOptions; export declare function printUpgradeHelp(io?: Pick): void; export declare function isAgentNativePackageName(name: string): boolean; export declare function isPinnedOrLocalVersion(version: string): boolean; export declare function shouldBumpAgentNativeVersion(version: string): boolean; export declare function selectMigrationDependencies(dependencies: MigrationDependency[], environment: NodeJS.ProcessEnv): MigrationDependency[]; export declare function isDirectCoreDependency(pkg: PackageJsonLike): boolean; export declare function readUpgradeEnvironment(projectRoot: string, packageDir: string, shellEnvironment: NodeJS.ProcessEnv): NodeJS.ProcessEnv; export declare function loadActiveMigrationDependencies(projectRoot: string, packageVersion: string | null, manifests?: import("../package-lifecycle/migration-manifest.js").MigrationManifest[]): MigrationDependency[]; export declare function planMigrationDependencyAdditions(project: UpgradeProject, shellEnvironment?: NodeJS.ProcessEnv): UpgradeDependencyAddition[]; export declare function addConfiguredMigrationDependencies(project: UpgradeProject, shellEnvironment?: NodeJS.ProcessEnv): void; export declare function pinResolvedAgentNativeVersions(project: UpgradeProject): AgentNativePinResult; export declare function detectUpgradeProject(cwd: string): UpgradeProject | null; export declare function resolveInstalledPackageVersion(projectRoot: string, packageName: string): string | null; export declare function readCliCoreVersion(): string | null; export declare function buildUpgradeDoctorReport(project: UpgradeProject): UpgradeDoctorReport; export declare function runUpgrade(argv: string[], io?: UpgradeIo): Promise; export {};