import { InstantiationService } from "./base/common/instantiation/instantiationService";
import { CodeAnalysisResult } from "./CodeAnalysisResult";
export declare class CodeAnalyzer {
    private serviceProvider;
    private structurerManager;
    private fileScanner;
    private classHierarchyMap;
    constructor(instantiationService: InstantiationService);
    initialize(): Promise<void>;
    analyzeDirectory(dirPath: string): Promise<CodeAnalysisResult>;
    private findInterfaceKey;
    private findClassKey;
    private getImplementationResults;
    private deduplicateImplementations;
    private getExtensionResults;
    private analyzeInheritanceHierarchyData;
    private calculateInheritanceDepthWithInfo;
    private findClassInfoByName;
    private tryFindClassFile;
    /**
     * 根据代码分析结果生成学习资料，包含接口及其实现类的代码
     * @param result 代码分析结果
     * @param outputDir 输出目录路径
     * @returns 生成的文件列表
     */
    generateLearningMaterials(result: CodeAnalysisResult, outputDir: string): Promise<string[]>;
    /**
     * 从文件中读取指定位置的代码段
     */
    private readCodeSection;
    private sanitizeFileName;
}
