import { OneOrMany, SourceRecord } from "../source.js";

//#region src/lib/sources/dependency-updates.d.ts
type DependencyUpdatesPackage = {
  /** Human-readable age of the update (e.g. "3 months"). */age?: string; /** Additional info about the update (e.g. deprecation notice). */
  info?: string; /** Package name. */
  name: string; /** Latest available version. */
  new: string; /** Currently installed version. */
  old: string;
};
type DependencyUpdatesFields = {
  /** Packages with available major version updates. */major?: DependencyUpdatesPackage[]; /** Packages with available minor version updates. */
  minor?: DependencyUpdatesPackage[]; /** Packages with available patch version updates. */
  patch?: DependencyUpdatesPackage[];
};
type DependencyUpdatesExtra = {
  /** Total dependency staleness in libyears. */libyears?: number; /** Total number of outdated packages. */
  total?: number;
};
type DependencyUpdatesData = OneOrMany<SourceRecord<DependencyUpdatesFields, DependencyUpdatesExtra>> | undefined;
//#endregion
export { DependencyUpdatesData };