/**
 * Java AST Analyzer
 * Implements AST analysis for Java files using java-parser
 */
import { BaseAnalyzer } from './BaseAnalyzer';
import { AnalysisContext, ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, ComplexityMetrics, ParserConfig } from './types';
export declare class JavaAnalyzer extends BaseAnalyzer {
    constructor();
    protected parseAST(content: string, _context: AnalysisContext): Promise<any>;
    protected extractNodes(ast: any, context: AnalysisContext): Promise<ASTNode[]>;
    protected extractFunctions(ast: any, context: AnalysisContext): Promise<CodeFunction[]>;
    protected extractClasses(ast: any, context: AnalysisContext): Promise<CodeClass[]>;
    protected extractImports(ast: any, context: AnalysisContext): Promise<ImportDeclaration[]>;
    protected extractExports(ast: any, context: AnalysisContext): Promise<ExportDeclaration[]>;
    protected extractDependencies(ast: any, _context: AnalysisContext): Promise<string[]>;
    protected calculateComplexity(ast: any, _context: AnalysisContext): Promise<ComplexityMetrics>;
    protected getParserConfig(): ParserConfig;
    private convertCSTToAST;
    private extractPackageDeclaration;
    private extractImportDeclaration;
    private extractClassDeclaration;
    private extractInterfaceDeclaration;
    private extractEnumDeclaration;
    private extractMethods;
    private extractInterfaceMethods;
    private extractFields;
    private extractMethodDeclaration;
    private extractConstructorDeclaration;
    private extractInterfaceMethodDeclaration;
    private extractFieldDeclaration;
    private extractMethodParameters;
    private extractMethodBodyFromCST;
    private extractBlockStatements;
    private extractStatementType;
    private extractModifiers;
    private extractQualifiedName;
    private extractIdentifier;
    private extractType;
    private extractSuperClass;
    private extractInterfaces;
    private extractJavaParameters;
    private calculateJavaMethodComplexity;
    private calculateJavaCognitiveComplexity;
    private isJavaPublic;
    private getJavaVisibility;
    private isJavaAbstract;
    private getJavaImportName;
    private extractJavaClassProperties;
    private extractJavaMethodDependencies;
    private extractJavaMethodCalls;
}
//# sourceMappingURL=JavaAnalyzer.d.ts.map