| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| import { TargetVersion } from './target-version'; |
| export declare type VersionChanges<T> = { |
| [target in TargetVersion]?: ReadableChange<T>[]; |
| }; |
| export declare type ReadableChange<T> = { |
| pr: string; |
| changes: T[]; |
| }; |
| /** Conditional type that unwraps the value of a version changes type. */ |
| export declare type ValueOfChanges<T> = T extends VersionChanges<infer X> ? X : null; |
| /** |
| * Gets the changes for a given target version from the specified version changes object. |
| * |
| * For readability and a good overview of breaking changes, the version change data always |
| * includes the related Pull Request link. Since this data is not needed when performing the |
| * upgrade, this unused data can be removed and the changes data can be flattened into an |
| * easy iterable array. |
| */ |
| export declare function getChangesForTarget<T>(target: TargetVersion, data: VersionChanges<T>): T[]; |
| /** |
| * Gets all changes from the specified version changes object. This is helpful in case a migration |
| * rule does not distinguish data based on the target version, but for readability the |
| * upgrade data is separated for each target version. |
| */ |
| export declare function getAllChanges<T>(data: VersionChanges<T>): T[]; |