import type { BeachballOptions } from '../types/BeachballOptions'; import type { BumpInfo, PackageDependents } from '../types/BumpInfo'; import type { ChangeFileInfo } from '../types/ChangeInfo'; /** * This is the core of the `bumpInfo` dependency bumping logic - done once per change info. * * The algorithm is an iterative graph traversal algorithm (breadth first): * - One root entry: `change.packageName` * - For each parent in `dependents`: * - Update its `calculatedChangeTypes` entry to `max(current value, change.dependentChangeType)` * - Enqueue all of its dependents to be seen * - If the package is part of a group, enqueue all packages in the group * * Preconditions: * - `bumpInfo.calculatedChangeTypes` includes: * - For non-grouped packages that have changed, the highest change type from any change file * - For each grouped package where anything in the group has changed, the highest change type * from any change file in the group * - `dependents` is undefined if `BeachballOptions.bumpDeps` was false * * What it mutates: * - `bumpInfo.calculatedChangeTypes`: update change type for package and dependents * - all dependents' change types as part of a group update * * What it does not do: * - `bumpInfo.calculatedChangeTypes`: will not mutate the `change.packageName` change type */ export declare function updateRelatedChangeType(params: { change: ChangeFileInfo; bumpInfo: Pick; dependents: PackageDependents | undefined; options: Pick; }): void; //# sourceMappingURL=updateRelatedChangeType.d.ts.map