import type { CstNode } from 'chevrotain'; export interface ImportInfo { /** The simple name (e.g., "List") or "*" for wildcards */ simpleName: string; /** The fully qualified name (e.g., "java.util.List") or package prefix for wildcards */ qualifiedName: string; /** Whether this is a wildcard import (java.util.*) */ isWildcard: boolean; /** Whether this is a static import */ isStatic: boolean; /** The import's line number (0-based) */ line: number; } export interface ImportMap { /** The package name of this file (e.g., "com.example") */ packageName: string; /** Map from simple name to ImportInfo */ imports: Map; /** Wildcard import packages (e.g., ["java.util", "java.io"]) */ wildcardPackages: string[]; /** Static imports (e.g., "PI" -> "java.lang.Math.PI") */ staticImports: Map; /** Static wildcard packages (e.g., ["java.lang.Math"]) */ staticWildcardClasses: string[]; } /** * Java.lang types that are auto-imported. */ export declare const JAVA_LANG_TYPES: ReadonlySet; /** * Parse import declarations from a CST and build an ImportMap. */ export declare function buildImportMap(cst: CstNode): ImportMap; /** * Resolve a simple type name to its qualified name using the import map. * Checks in order: 1) explicit imports, 2) same-package types, 3) java.lang.* types, 4) wildcard imports * Returns undefined if the name cannot be resolved. */ export declare function resolveTypeName(name: string, importMap: ImportMap): string | undefined; //# sourceMappingURL=import-resolver.d.ts.map