/**
 * Project Analysis Service
 *
 * Core orchestrator for automatic project analysis and TTL generation.
 * This service coordinates between AST analysis, RDF generation, and knowledge management
 * to provide comprehensive project understanding and context generation.
 */
import { EventEmitter } from 'events';
export interface ProjectAnalysisConfig {
    rootPath: string;
    outputDirectory?: string;
    languages?: string[];
    includePatterns?: string[];
    excludePatterns?: string[];
    generateTTL?: boolean;
    enableWatching?: boolean;
    preserveBusinessContext?: boolean;
    analysisDepth?: 'basic' | 'detailed' | 'comprehensive';
}
export interface ProjectAnalysisResult {
    projectPath: string;
    analysisId: string;
    startTime: Date;
    endTime: Date;
    duration: number;
    summary: {
        totalFiles: number;
        analyzedFiles: number;
        skippedFiles: number;
        errorFiles: number;
        ttlFilesGenerated: number;
        languageBreakdown: Record<string, number>;
    };
    files: Array<{
        filePath: string;
        language: string;
        status: 'success' | 'error' | 'skipped';
        ttlGenerated: boolean;
        error?: string;
    }>;
    errors: Array<{
        filePath: string;
        error: string;
        phase: 'discovery' | 'analysis' | 'ttl_generation';
    }>;
    warnings: string[];
    recommendations: string[];
}
export interface ProjectStructure {
    rootPath: string;
    packageFiles: Array<{
        path: string;
        type: 'package.json' | 'requirements.txt' | 'pom.xml' | 'go.mod' | 'Cargo.toml' | 'CMakeLists.txt';
        dependencies: string[];
    }>;
    sourceFiles: Array<{
        path: string;
        language: string;
        size: number;
        lastModified: Date;
    }>;
    directories: Array<{
        path: string;
        type: 'source' | 'test' | 'config' | 'docs' | 'build' | 'other';
        fileCount: number;
    }>;
    projectType: 'web' | 'api' | 'library' | 'cli' | 'desktop' | 'mobile' | 'mixed' | 'unknown';
    frameworks: string[];
    buildTools: string[];
}
/**
 * Project Analysis Service
 *
 * Provides comprehensive project analysis capabilities including:
 * - Project structure detection and analysis
 * - Multi-language code analysis and AST generation
 * - Automatic TTL knowledge file generation
 * - Real-time file watching and incremental updates
 * - Integration with knowledge management system
 */
export declare class ProjectAnalysisService extends EventEmitter {
    private codeIngestionService;
    private moduleKnowledgeManager;
    private analyzers;
    private config;
    private isInitialized;
    constructor(config: ProjectAnalysisConfig);
    /**
     * Initialize the Project Analysis Service
     */
    initialize(): Promise<void>;
    /**
     * Analyze entire project and generate TTL files
     */
    analyzeProject(): Promise<ProjectAnalysisResult>;
    /**
     * Analyze specific files (incremental analysis)
     */
    analyzeFiles(filePaths: string[]): Promise<ProjectAnalysisResult>;
    /**
     * Get project structure information
     */
    getProjectStructure(): Promise<ProjectStructure>;
    /**
     * Get analysis status and metrics
     */
    getAnalysisMetrics(): any;
    /**
     * Shutdown the service
     */
    shutdown(): Promise<void>;
    private setupAnalyzers;
    private setupEventHandlers;
    private discoverProjectStructure;
    private discoverPackageFiles;
    private discoverSourceFiles;
    private discoverDirectories;
    private analyzeSourceFiles;
    private generateTTLFiles;
    private setupProjectWatching;
    private validateFilePaths;
    private compileSummary;
    private generateRecommendations;
    private getLanguageFromFile;
    private extractDependencies;
    private determineProjectType;
    private detectFrameworks;
    private detectBuildTools;
    private classifyDirectory;
    private ensureInitialized;
    private countFilesInDirectory;
}
//# sourceMappingURL=ProjectAnalysisService.d.ts.map