/** The subset of package.json this module reads — never the whole file. */ export interface PackageJsonDeps { dependencies?: Record; devDependencies?: Record; } export interface RequiredDependencies { dependencies: Record; devDependencies: Record; } export interface DependencyMismatch { name: string; kind: 'dependency' | 'devDependency'; required: string; /** undefined when the package is missing from package.json entirely, not just outdated. */ current?: string; } /** * Compares a project's declared dependencies against what the vendored engine actually needs * (`DEPENDENCIES`/`DEV_DEPENDENCIES` in project-files.ts), and reports every mismatch — missing * entirely, or present at a different version string. * * Pure and filesystem-free by design: `upgradeProject` never writes package.json (a creator's * added dependencies must survive an upgrade untouched), so this is the other half of that * decision — the mismatch it creates has to be *reported*, not silently left for `bitmagic build` * to fail on later with an opaque module-resolution error. Kept separate from the command layer * that reads package.json off disk so the comparison itself is testable without a fixture file. */ export declare function diffDependencies(pkg: PackageJsonDeps, required: RequiredDependencies): DependencyMismatch[];