/**
 * Module Knowledge Manager
 *
 * Core orchestrator for managing dual-purpose TTL files that serve both
 * Neo4j knowledge graph population and direct LLM context enhancement.
 *
 * This system bridges the gap between automated code analysis and developer
 * business context enhancement, ensuring knowledge files remain accurate
 * and valuable for both graph queries and LLM interactions.
 */
import { EventEmitter } from 'events';
import { AnalysisResult } from '../ast-analyzer/types';
import { ModuleKnowledgeFile, ModuleKnowledgeManagerOptions, ValidationStatus, ConflictResolution, LLMContextPreview, DeveloperTooling, ModuleKnowledgeResult, BatchOperationResult } from './types';
/**
 *  Module Knowledge Manager
 *
 * Manages the complete lifecycle of .module-knowledge.ttl files including:
 * - Initial generation from code analysis
 * - Developer business context enhancement
 * - Validation and conflict resolution
 * - Knowledge graph and MCP context synchronization
 * - Developer tooling and preview capabilities
 */
export declare class ModuleKnowledgeManager extends EventEmitter {
    private readonly rdfService;
    private readonly rdfValidator;
    private readonly options;
    private readonly knowledgeFiles;
    private readonly backupDirectory;
    private readonly syncQueue;
    private neo4jDriver;
    private mcpContextCache;
    private mcpClients;
    private notificationQueue;
    constructor(options?: Partial<ModuleKnowledgeManagerOptions>);
    /**
     * Initialize Module Knowledge Management System
     */
    initialize(): Promise<ModuleKnowledgeResult<void>>;
    /**
     * Generate Initial Knowledge Files from Codebase
     */
    generateInitialKnowledgeFiles(rootPath: string, options?: {
        overwriteExisting?: boolean;
        preserveBusinessContext?: boolean;
    }): Promise<ModuleKnowledgeResult<BatchOperationResult>>;
    /**
     * Update Knowledge File from Code Changes
     */
    updateKnowledgeFileFromCode(sourceFilePath: string, astResult: AnalysisResult): Promise<ModuleKnowledgeResult<ModuleKnowledgeFile>>;
    /**
     * Validate Knowledge File
     */
    validateKnowledgeFile(filePath: string): Promise<ValidationStatus>;
    /**
     * Generate LLM Context Preview
     */
    generateLLMContextPreview(currentFilePath: string, queryContext?: string): Promise<ModuleKnowledgeResult<LLMContextPreview>>;
    /**
     * Generate Developer Tooling Information
     */
    generateDeveloperTooling(filePath: string): Promise<ModuleKnowledgeResult<DeveloperTooling>>;
    /**
     * Detect and Resolve Conflicts
     */
    detectAndResolveConflicts(filePath: string): Promise<ModuleKnowledgeResult<ConflictResolution | null>>;
    private setupEventHandlers;
    private handleFileUpdate;
    private handleFileValidation;
    private handleConflictDetection;
    private discoverExistingKnowledgeFiles;
    private setupFileWatchers;
    private cleanupOldBackups;
    private generateKnowledgeFileForModule;
    private getKnowledgeFilePath;
    private fileExists;
    private calculateChecksum;
    private createBackup;
    private extractBusinessContext;
    private mergeBusinessContext;
    private analyzeBusinessContextCompleteness;
    private findRelevantKnowledgeFiles;
    private analyzeContentComposition;
    private calculateRelevanceScore;
    private generateEnhancementSuggestions;
    private calculateCompletionStatus;
    private performImpactAnalysis;
    private attemptAutoResolution;
    private generateRemoteChangesSimulation;
    private queueForSync;
    private getSourceFilePathFromKnowledge;
    private extractVersionFromContent;
    private hasBusinessContext;
    private generateBasicRDFContent;
    private processSyncQueue;
    private syncToKnowledgeGraph;
    private syncToMCPContext;
    private parseTTLContent;
    private extractModuleId;
    /**
     * Check if Neo4j is available for knowledge graph operations
     */
    private checkNeo4jAvailability;
    private getNeo4jDriver;
    private createGraphTriple;
    private formatForMCP;
    private extractTechnicalContent;
    private extractRelationships;
    private generateContentSummary;
    private updateContextCache;
    private notifyMCPClients;
    private sendWebSocketNotification;
    private sendWebhookNotification;
    private sendQueueNotification;
    private notifyDirectClient;
    private processNotificationQueue;
    private persistNotificationToDatabase;
    private persistNotificationToFileSystem;
    private analyzeAndUpdateFromSourceChange;
    private performLightweightAST;
    private getLanguageFromExtension;
    private extractFunctions;
    private extractClasses;
    private extractImports;
    private extractExports;
    private calculateComplexity;
    private extractDependencies;
    private extractParameters;
    private extractClassMethods;
}
//# sourceMappingURL=ModuleKnowledgeManager.d.ts.map