import type { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency'; import { ComponentDependency } from './component-dependency'; export type LifecycleDependenciesManifest = Record; export interface DependenciesManifest { dependencies?: LifecycleDependenciesManifest; optionalDependencies?: LifecycleDependenciesManifest; devDependencies?: LifecycleDependenciesManifest; peerDependencies?: LifecycleDependenciesManifest; peerDependenciesMeta?: PeerDependenciesMeta; } export interface PeerDependenciesMeta { [peerName: string]: PeerDependencyMeta; } export interface PeerDependencyMeta { optional: true; } export type FindDependencyOptions = { ignoreVersion?: boolean; }; export declare class DependencyList { private _dependencies; constructor(_dependencies: Array); get dependencies(): Dependency[]; sort(): DependencyList; /** * @param componentIdStr complete string include the scope and the version */ findDependency(componentIdStr: string, opts?: FindDependencyOptions): Dependency | undefined; findByPkgNameOrCompId(id: string, version?: string, lifecycle?: DependencyLifecycleType): Dependency | undefined; forEach(predicate: (dep: Dependency, index?: number) => void): void; map(predicate: (dep: Dependency, index?: number) => any): any[]; filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList; filterHidden(): DependencyList; toTypeArray(typeName: string): T[]; byTypeName(typeName: string): DependencyList; byLifecycle(lifecycle: DependencyLifecycleType): DependencyList; serialize(): SerializedDependency[]; getComponentDependencies(): ComponentDependency[]; toDependenciesManifest(): Required; static merge(lists: DependencyList[]): DependencyList; static fromArray(dependencies: Array): DependencyList; }