/**
 * Automatic Analysis Service
 *
 * Main orchestration service for automatic project analysis and TTL generation.
 * Coordinates all automatic analysis components and provides a unified interface.
 */
import { EventEmitter } from 'events';
import { ProjectAnalysisResult } from '../project-analysis/ProjectAnalysisService';
export interface AutomaticAnalysisConfig {
    projectRoot: string;
    enableAutoTriggers: boolean;
    enableNPMHooks: boolean;
    enableInstallationDetection: boolean;
    enableFileWatching: boolean;
    analysisDelay: number;
    preserveBusinessContext: boolean;
    generateTTL: boolean;
    populateKnowledgeGraph: boolean;
    updateMCPContext: boolean;
}
export interface AutomaticAnalysisStatus {
    isActive: boolean;
    isInitialized: boolean;
    config: AutomaticAnalysisConfig;
    triggerOrchestrator: any;
    lastAnalysis?: Date | undefined;
    totalAnalyses: number;
    successfulAnalyses: number;
    failedAnalyses: number;
}
/**
 * Automatic Analysis Service
 *
 * Provides a unified interface for automatic project analysis and TTL generation.
 * Manages the complete lifecycle from trigger detection to knowledge graph population.
 */
export declare class AutomaticAnalysisService extends EventEmitter {
    private config;
    private triggerOrchestrator?;
    private isInitialized;
    private isActive;
    private analysisStats;
    constructor(config?: Partial<AutomaticAnalysisConfig>);
    /**
     * Initialize the automatic analysis system
     */
    initialize(): Promise<void>;
    /**
     * Start automatic analysis
     */
    start(): Promise<void>;
    /**
     * Stop automatic analysis
     */
    stop(): Promise<void>;
    /**
     * Manually trigger analysis
     */
    triggerAnalysis(reason?: string): Promise<string>;
    /**
     * Perform initial project analysis (for setup)
     */
    performInitialAnalysis(): Promise<ProjectAnalysisResult>;
    /**
     * Get service status
     */
    getStatus(): AutomaticAnalysisStatus;
    /**
     * Shutdown the service
     */
    shutdown(): Promise<void>;
    private setupEventListeners;
    /**
     * Static method to create and initialize service
     */
    static create(config?: Partial<AutomaticAnalysisConfig>): Promise<AutomaticAnalysisService>;
    /**
     * Static method for quick setup (used by CLI and postinstall)
     */
    static quickSetup(projectRoot?: string): Promise<{
        service: AutomaticAnalysisService;
        result: ProjectAnalysisResult;
    }>;
}
//# sourceMappingURL=AutomaticAnalysisService.d.ts.map