/**
 * AST Analyzer Factory
 * Main entry point for AST analysis functionality
 */
import { BaseAnalyzer } from './BaseAnalyzer';
import { SupportedLanguage, AnalysisResult, AnalysisOptions } from './types';
export declare class ASTAnalyzerFactory {
    private static analyzers;
    /**
     * Get analyzer for specific language
     */
    static getAnalyzer(language: SupportedLanguage): BaseAnalyzer;
    /**
     * Create analyzer instance for language
     */
    private static createAnalyzer;
    /**
     * Detect language from file extension
     */
    static detectLanguage(filePath: string): SupportedLanguage;
    /**
     * Analyze single file with automatic language detection
     */
    static analyzeFile(filePath: string, options?: Partial<AnalysisOptions>): Promise<AnalysisResult>;
    /**
     * Analyze multiple files with automatic language detection
     */
    static analyzeFiles(filePaths: string[], options?: Partial<AnalysisOptions>): Promise<AnalysisResult[]>;
    /**
     * Get supported languages
     */
    static getSupportedLanguages(): SupportedLanguage[];
    /**
     * Check if language is supported
     */
    static isLanguageSupported(language: string): language is SupportedLanguage;
    /**
     * Get file extensions for language
     */
    static getLanguageExtensions(language: SupportedLanguage): string[];
}
export * from './types';
export { BaseAnalyzer } from './BaseAnalyzer';
export { TypeScriptAnalyzer } from './TypeScriptAnalyzer';
export { PythonAnalyzer } from './PythonAnalyzer';
export { JavaAnalyzer } from './JavaAnalyzer';
export { GoAnalyzer } from './GoAnalyzer';
export { RustAnalyzer } from './RustAnalyzer';
export { CppAnalyzer } from './CppAnalyzer';
export default ASTAnalyzerFactory;
//# sourceMappingURL=index.d.ts.map