import type { ManifestDependenciesKeysNames } from '../manifest'; import type { DependencyLifecycleType, SemverVersion, PackageName } from '../../dependencies'; import type { ComponentDependenciesMap } from '../workspace-manifest-factory'; import type { WorkspacePolicy } from '../../policy'; export type PackageNameIndexItem = { metadata: PackageNameIndexItemMetadata; componentItems: PackageNameIndexComponentItem[]; }; export type PackageNameIndexItemMetadata = { preservedVersion?: string; preservedLifecycleType?: DependencyLifecycleType; }; export type PackageNameIndexComponentItem = { range: SemverVersion; origin: PackageName; lifecycleType: DependencyLifecycleType; }; export type PackageNameIndex = Map; /** * This will get the map of dependencies for each component and will create a new index with the dependencyId (package name) as key * and all components / ranges as value * It used as a pre processing as part of the deduping process * * @param {ComponentDependenciesMap} componentDependenciesMap * @returns {PackageNameIndex} */ export declare function indexByDepId(rootPolicy: WorkspacePolicy, componentDependenciesMap: ComponentDependenciesMap, hoistedDepFields?: ManifestDependenciesKeysNames[]): PackageNameIndex;