export type DepSource = { kind: "catalog-library"; catalogName: string; tomlPath: string; alias: string; } | { kind: "catalog-plugin"; catalogName: string; tomlPath: string; alias: string; } | { kind: "module-direct"; file: string; module?: string; } | { kind: "plugins-dsl"; file: string; module?: string; settingsBlock?: boolean; } | { kind: "buildscript-classpath"; file: string; }; /** * Compile-time exhaustiveness guard. Call from a `default` branch of a switch on a * discriminated union — if any variant is unhandled, TypeScript infers `value: never` * and the call fails to compile. At runtime throws to surface the gap. */ export declare function assertNever(value: never): never; export interface DepUsage { module?: string; configuration: string; } export interface ScannedDependency { groupId: string; artifactId: string; version: string | null; source: DepSource; usages: DepUsage[]; } export interface ScanResult { buildSystem: "gradle" | "maven" | "unknown"; dependencies: ScannedDependency[]; } export declare function scanProjectWithSubmodules(projectRoot: string): ScanResult;