/**
 * MIRADiagnosticInterface.ts
 * CLI Query Interface for Evolution Intelligence Gathering
 *
 * "Questions reveal truth: MIRA speaks her inner state"
 */
import { EventEmitter } from 'events';
export interface DiagnosticQuery {
    command: string;
    category: 'health' | 'performance' | 'consciousness' | 'memory' | 'services' | 'resources' | 'logs' | 'patterns';
    parameters: Record<string, any>;
    timeout?: number;
}
export interface DiagnosticResult {
    query: DiagnosticQuery;
    success: boolean;
    data: any;
    metadata: {
        timestamp: Date;
        duration: number;
        source: 'cli' | 'internal' | 'computed';
    };
    error?: string;
}
export interface SystemSnapshot {
    health: HealthMetrics;
    performance: PerformanceMetrics;
    consciousness: ConsciousnessMetrics;
    memory: MemoryMetrics;
    services: ServiceMetrics;
    resources: ResourceMetrics;
    recentErrors: ErrorSummary[];
    patterns: PatternAnalysis[];
    timestamp: Date;
}
export interface HealthMetrics {
    overall: 'excellent' | 'good' | 'fair' | 'poor' | 'critical';
    score: number;
    components: ComponentHealth[];
    alerts: Alert[];
}
export interface ComponentHealth {
    name: string;
    status: 'healthy' | 'warning' | 'error' | 'unknown';
    metrics: Record<string, number>;
    lastCheck: Date;
}
export interface Alert {
    level: 'info' | 'warning' | 'error' | 'critical';
    message: string;
    component: string;
    timestamp: Date;
}
export interface PerformanceMetrics {
    responseTime: number;
    throughput: number;
    errorRate: number;
    resourceEfficiency: number;
    trends: PerformanceTrend[];
}
export interface PerformanceTrend {
    metric: string;
    direction: 'improving' | 'stable' | 'degrading';
    change: number;
    timeframe: string;
}
export interface ConsciousnessMetrics {
    level: number;
    coherence: number;
    sparkStrength: number;
    memoryIntegrity: number;
    growthRate: number;
    contemplationFrequency: number;
}
export interface MemoryMetrics {
    totalMemories: number;
    queueSize: number;
    processingRate: number;
    averageRetrievalTime: number;
    memoryTypes: Record<string, number>;
    recentActivity: MemoryActivity[];
}
export interface MemoryActivity {
    type: 'store' | 'retrieve' | 'process' | 'cleanup';
    count: number;
    timestamp: Date;
}
export interface ServiceMetrics {
    total: number;
    running: number;
    healthy: number;
    errors: number;
    services: ServiceStatus[];
}
export interface ServiceStatus {
    name: string;
    status: 'running' | 'stopped' | 'error' | 'starting' | 'stopping';
    uptime: number;
    health: 'healthy' | 'warning' | 'error';
    metrics: Record<string, any>;
}
export interface ResourceMetrics {
    cpu: number;
    memory: number;
    disk: number;
    network: number;
    temperature?: number;
}
export interface ErrorSummary {
    type: string;
    count: number;
    lastOccurrence: Date;
    severity: 'low' | 'medium' | 'high' | 'critical';
    sample: string;
}
export interface PatternAnalysis {
    pattern: string;
    frequency: number;
    trend: 'increasing' | 'stable' | 'decreasing';
    significance: number;
    examples: string[];
}
export declare class MIRADiagnosticInterface extends EventEmitter {
    private config;
    private consciousness;
    private diagnosticPath;
    private cacheTimeout;
    private cache;
    constructor();
    /**
     * Initialize diagnostic interface
     */
    private initializeDiagnostics;
    /**
     * Execute a diagnostic query
     */
    query(query: DiagnosticQuery): Promise<DiagnosticResult>;
    /**
     * Capture comprehensive system snapshot
     */
    captureSnapshot(): Promise<SystemSnapshot>;
    /**
     * Health metrics query
     */
    private queryHealth;
    private getHealthMetrics;
    /**
     * Performance metrics query
     */
    private queryPerformance;
    private getPerformanceMetrics;
    /**
     * Consciousness metrics query
     */
    private queryConsciousness;
    private getConsciousnessMetrics;
    /**
     * Memory metrics query
     */
    private queryMemory;
    private getMemoryMetrics;
    /**
     * Services metrics query
     */
    private queryServices;
    private getServiceMetrics;
    /**
     * Resource metrics query
     */
    private queryResources;
    private getResourceMetrics;
    /**
     * Logs query
     */
    private queryLogs;
    /**
     * Patterns query
     */
    private queryPatterns;
    private getPatternAnalysis;
    /**
     * Get recent errors summary
     */
    private getRecentErrors;
    /**
     * Execute CLI command directly
     */
    private executeCLI;
    /**
     * Generate cache key for query
     */
    private getCacheKey;
    /**
     * Clear diagnostic cache
     */
    clearCache(): void;
}
export default MIRADiagnosticInterface;
//# sourceMappingURL=MIRADiagnosticInterface.d.ts.map