/** * JVM (Java / Kotlin) detection — CONTENT-AWARE pom / gradle classification. * * Kill line: pom / gradle alone ≠ type. * One brand: JVM. Android + KMP are facets, not a second "Kotlin Edition". * * Signal graph: settings → modules → plugins/parents/packaging → * version catalogs (libs.versions.toml) → deps/starters. * * Same composition as go.ts / csharp.ts: knowledge in jvm-detection.json. */ export type JvmAppType = 'mcp' | 'backend' | 'cli' | 'library' | 'mobile'; export interface JvmProject { appType: JvmAppType; /** Primary framework label (Spring Boot / Quarkus / …) or ''. */ framework: string; buildTool: 'maven' | 'gradle'; /** Best-effort language signal for slots. */ mainLanguage: 'Java' | 'Kotlin' | 'Java/Kotlin'; /** Facets: android · multiplatform (not product brands). */ facets: string[]; /** Glass Hood rationale for .faf `# found:`. */ found: string; } interface Catalog { plugins: Map; libraries: Map; } /** True if directory looks like a JVM project root (or multi-module root). */ export declare function isJvmRoot(dir: string): boolean; /** Minimal TOML-ish parse for gradle/libs.versions.toml plugins + libraries. */ export declare function parseVersionCatalog(content: string): Catalog; /** Parse settings.gradle(.kts) include lines → relative module paths. */ export declare function parseSettingsIncludes(content: string): string[]; /** * Classify a JVM project directory (Maven and/or Gradle, multi-module aware). * Returns null if no JVM markers at this directory. */ export declare function detectJvmProject(dir: string): JvmProject | null; export {};