/**
 * Auto Analysis Workflow
 *
 * Enhanced workflow for automatic project analysis with comprehensive
 * codebase understanding, TTL generation, and knowledge graph population.
 */
import { EventEmitter } from 'events';
import { ProjectAnalysisResult } from './ProjectAnalysisService';
import { PreservationResult } from './BusinessContextPreserver';
export interface AutoAnalysisConfig {
    projectRoot: string;
    outputDirectory: string;
    enableConcreteExtraction: boolean;
    enableBusinessContextPlaceholders: boolean;
    enableKnowledgeGraphPopulation: boolean;
    enableMCPContextLoading: boolean;
    preserveBusinessContext: boolean;
    analysisDepth: 'basic' | 'detailed' | 'comprehensive';
    languages: string[];
    includePatterns: string[];
    excludePatterns: string[];
}
export interface ConcreteInformation {
    actualClassNames: string[];
    actualMethodSignatures: string[];
    actualDependencies: string[];
    actualExports: string[];
    actualImports: string[];
    architecturalPatterns: string[];
    businessDomainIndicators: string[];
    qualityMetrics: {
        complexity: number;
        maintainability: number;
        testCoverage: number;
        documentation: number;
    };
}
export interface EnhancedAnalysisResult extends ProjectAnalysisResult {
    concreteInformation: Map<string, ConcreteInformation>;
    knowledgeGraphNodes: number;
    knowledgeGraphRelationships: number;
    mcpContextSize: number;
    businessContextPreserved?: boolean;
    enhancementsPreserved?: number;
    preservationResult?: PreservationResult;
}
/**
 * Auto Analysis Workflow
 *
 * Provides enhanced automatic analysis with concrete information extraction,
 * comprehensive TTL generation, and knowledge graph population.
 */
export declare class AutoAnalysisWorkflow extends EventEmitter {
    private config;
    private projectAnalysisService;
    private rdfService;
    private businessContextPreserver;
    private moduleKnowledgeManager;
    private analyzers;
    private isInitialized;
    constructor(config?: Partial<AutoAnalysisConfig>);
    /**
     * Initialize the workflow
     */
    initialize(): Promise<void>;
    /**
     * Execute comprehensive automatic analysis
     */
    executeComprehensiveAnalysis(): Promise<EnhancedAnalysisResult>;
    /**
     * Execute incremental analysis for changed files
     */
    executeIncrementalAnalysis(changedFiles: string[]): Promise<EnhancedAnalysisResult>;
    private setupAnalyzers;
    private extractConcreteInformation;
    private buildConcreteInformation;
    private detectArchitecturalPatterns;
    private detectBusinessDomainIndicators;
    private calculateDocumentationScore;
    private generateEnhancedTTLFiles;
    private groupFilesByModule;
    private createModuleAnalysis;
    private populateKnowledgeGraph;
    private loadMCPContext;
    private updateTTLFiles;
    private updateKnowledgeGraph;
    private updateMCPContext;
    /**
     * Check if Neo4j is available for knowledge graph operations
     */
    private checkNeo4jAvailability;
    private createKnowledgeGraphEntities;
    private storeMCPContext;
    private extractBusinessContextFromTTL;
    private extractTechnicalSummaryFromTTL;
    private extractModuleIdFromTTL;
    private updateModuleInKnowledgeGraph;
    private updateMCPContextForModule;
    /**
     * Write TTL content to the specified output directory
     */
    private writeTTLToOutputDirectory;
    private getLanguageFromFile;
    /**
     * Detect architectural patterns from class and method names
     */
    private detectArchitecturalPatternsFromNames;
    /**
     * Detect business domain indicators from class and method names
     */
    private detectBusinessDomainFromNames;
}
//# sourceMappingURL=AutoAnalysisWorkflow.d.ts.map