import type { MavenDependency } from './maven.js'; import type { GradleDependency } from './gradle.js'; import type { Logger } from '../utils/logger.js'; export interface ResolvedDependency { groupId: string; artifactId: string; version: string; jarPath: string; sourceJarPath?: string; scope: string; } export interface ResolvedClasspath { dependencies: ResolvedDependency[]; jdkPath?: string; jdkVersion?: string; unresolvedCount: number; } export interface JdkInfo { path: string; version?: string; } /** * Compute the expected Maven local repository path for a dependency. */ export declare function computeMavenJarPath(groupId: string, artifactId: string, version: string, m2Root?: string): string; /** * Compute the expected Maven source JAR path for a dependency. */ export declare function computeMavenSourceJarPath(groupId: string, artifactId: string, version: string, m2Root?: string): string; /** * Resolve Maven dependencies to actual JAR file paths on disk. */ export declare function resolveMavenClasspath(dependencies: MavenDependency[], m2Root?: string): Promise<{ resolved: ResolvedDependency[]; unresolvedCount: number; }>; /** * Compute the Gradle modules cache base directory for a dependency. */ export declare function computeGradleCacheDir(group: string, name: string, version: string, gradleHome?: string): string; /** * Resolve Gradle dependencies to actual JAR file paths on disk. */ export declare function resolveGradleClasspath(dependencies: GradleDependency[], gradleHome?: string): Promise<{ resolved: ResolvedDependency[]; unresolvedCount: number; }>; /** * Resolve the JDK installation path and version. */ export declare function resolveJdkPath(javaHome?: string): Promise; /** * Resolve the full project classpath from Maven/Gradle dependencies and JDK. * * Strategy: * 1. Try running `mvn dependency:build-classpath` or `gradle dependencies` * to get the real, fully-resolved transitive classpath (including downloads). * 2. Fall back to scanning local caches (~/.m2, ~/.gradle) if the build tool * is not available or the command fails. */ export declare function resolveProjectClasspath(options: { mavenDeps?: MavenDependency[]; gradleDeps?: GradleDependency[]; javaHome?: string; m2Root?: string; gradleHome?: string; projectRoot?: string; logger?: Logger; }): Promise; /** * Run `mvn dependency:build-classpath` to get the fully-resolved classpath * including all transitive dependencies. Maven will download missing artifacts * automatically. */ export declare function runMavenBuildClasspath(projectRoot: string, logger?: Logger): Promise; /** * Run Gradle to get the compile classpath. Tries the Gradle wrapper first. */ export declare function runGradleDependencyClasspath(projectRoot: string, logger?: Logger): Promise; //# sourceMappingURL=classpath-resolver.d.ts.map