export interface ItemVersionList { [id: string]: string; } export interface LockfileGraphNode { id: string; version: string; dependencies: ItemVersionList; isInManifest?: boolean; } export interface Lockfile { [id: string]: LockfileItemData; } export interface LockfileItemData { version: string; dependencies: ItemVersionList; } export declare function getItemData(id: string, version: string): Promise; export declare class LockfileGraph { nodes: LockfileGraphNode[]; fromLockfile(lockfile: Lockfile): Promise; validate(node: LockfileGraphNode): Promise; validateAll(): Promise; toLockfile(): Lockfile; roots(): Array; getDependants(node: LockfileGraphNode): Array; remove(node: LockfileGraphNode): void; add(node: LockfileGraphNode): Promise; isNodeDangling(node: LockfileGraphNode): boolean; private get _danglingCount(); cleanup(): void; }