export type LockTool = 'bun' | 'npm' | 'pnpm' | 'yarn'; export declare const LOCKFILES: string[]; export declare const lockOf: (root: string) => { file: string; tool: LockTool; } | undefined; export declare const isYarnOne: (lockfile: string) => boolean; export type YarnLock = 'berry' | 'empty' | 'neither' | 'one'; export declare const yarnLockKind: (lockfile: string) => YarnLock; export declare const pinsIn: (lockfile: string) => Map>; /** A bump pruned another package's entries from fifteen to nine and killed a hoist; `install`, `--force` and deleting `.modules.yaml` all said "Already up to date". The lockfile is the only place that was written down. */ export declare const packagesMovedIn: (before?: string, after?: string) => string[]; export declare const lockfileIn: (root: string) => string | undefined; export type DependencyGraph = { dependencies: Map>; optional: Map>; }; export declare const dependencyGraphIn: (lockfile: string) => DependencyGraph; export type LockMoves = { direct: string[]; kit: { count: number; heads: string[]; }; other: number; total: number; }; export declare const lockMovesOf: ({ after, declared, moved, roots }: { after: string | undefined; declared: ReadonlySet; moved: readonly string[]; roots: readonly string[]; }) => LockMoves; export type SnapshotChange = { after: number; before: number; id: string; name: string; peers: string[]; }; export declare const snapshotChangesIn: (before: string, after: string) => SnapshotChange[];