/**
 * V2 Stability Types - Comprehensive type definitions for advanced stability monitoring
 */
export type V2AlertLevel = 'info' | 'warning' | 'critical';
export type V2HealthStatus = 'healthy' | 'degraded' | 'unhealthy' | 'critical';
export type V2RecoveryActionType = 'circuit_reset' | 'memory_cleanup' | 'session_cleanup' | 'restart_component' | 'scale_resources';
export type V2RecoveryPriority = 'low' | 'medium' | 'high' | 'critical';
export type V2ImpactEstimate = 'immediate' | 'short-term' | 'medium-term' | 'long-term';
/**
 * V2 Stability Configuration
 */
export interface V2StabilityConfig {
    monitoringIntervalMs: number;
    healthCheckIntervalMs: number;
    circuitBreaker: {
        failureThreshold: number;
        recoveryTimeoutMs: number;
        halfOpenMaxAttempts: number;
        successThreshold: number;
    };
    alerts: {
        cpuThreshold: number;
        memoryThresholdMB: number;
        errorRateThreshold: number;
        responseTimeThreshold: number;
        diskUsageThreshold: number;
    };
    autoRecovery: {
        enabled: boolean;
        maxAttempts: number;
        cooldownMs: number;
        criticalOnlyMode: boolean;
    };
    performance: {
        trendAnalysisWindow: number;
        performanceThresholds: {
            minThroughput: number;
            maxLatency: number;
            minAvailability: number;
            minReliability: number;
            minScalability: number;
        };
    };
    httpTransport: {
        maxConnectionsPerSession: number;
        requestTimeoutMs: number;
        retryAttempts: number;
        rateLimit: {
            windowMs: number;
            maxRequests: number;
        };
    };
}
/**
 * V2 Stability Metrics - Real-time system health data
 */
export interface V2StabilityMetrics {
    httpTransport: {
        requestsPerSecond: number;
        averageResponseTime: number;
        errorRate: number;
        activeConnections: number;
        totalRequests: number;
        lastRequestTime: number;
    };
    systemResources: {
        cpuUsagePercent: number;
        memoryUsageMB: number;
        availableMemoryMB: number;
        diskUsagePercent: number;
        networkLatency: number;
    };
    sessionHealth: {
        activeSessions: number;
        averageSessionDuration: number;
        sessionCreationRate: number;
        sessionFailureRate: number;
        resourceUtilization: number;
    };
    toolReliability: {
        totalTools: number;
        healthyTools: number;
        degradedTools: number;
        failedTools: number;
        averageSuccessRate: number;
    };
    performanceIndicators: {
        throughput: number;
        latency: number;
        availability: number;
        reliability: number;
        scalability: number;
    };
    alertsSummary: {
        critical: number;
        warning: number;
        info: number;
        lastAlert: number;
    };
    timestamp: number;
}
/**
 * V2 Health Report - Comprehensive system assessment
 */
export interface V2HealthReport {
    timestamp: number;
    overallHealth: V2HealthStatus;
    systemHealth: V2SystemHealth;
    componentHealth: Record<string, {
        status: string;
        score: number;
        details: any;
    }>;
    recommendations: string[];
    alerts: Array<{
        level: V2AlertLevel;
        message: string;
        timestamp: number;
    }>;
    trends: string[];
    recoverySuggestions: V2RecoveryAction[];
}
/**
 * V2 System Health - Low-level system metrics
 */
export interface V2SystemHealth {
    cpuUsage: NodeJS.CpuUsage;
    memoryUsage: NodeJS.MemoryUsage;
    systemLoad: {
        oneMinute: number;
        fiveMinute: number;
        fifteenMinute: number;
    };
    uptime: number;
    platform: string;
    nodeVersion: string;
    pid: number;
}
/**
 * V2 Recovery Action - Automated recovery suggestions
 */
export interface V2RecoveryAction {
    type: V2RecoveryActionType;
    component: string;
    description: string;
    priority: V2RecoveryPriority;
    estimatedImpact: V2ImpactEstimate;
    autoExecutable: boolean;
    parameters?: Record<string, any>;
    dependencies?: string[];
    rollbackProcedure?: string;
}
/**
 * V2 Performance Trend - Historical performance data point
 */
export interface V2PerformanceTrend {
    timestamp: number;
    metrics: V2StabilityMetrics;
    cycleTime: number;
}
/**
 * V2 Stability Event - Event tracking for monitoring
 */
export interface V2StabilityEvent {
    timestamp: number;
    type: string;
    level: V2AlertLevel;
    data: any;
    source: string;
}
/**
 * V2 Circuit Breaker Configuration
 */
export interface V2CircuitBreakerConfig {
    failureThreshold: number;
    recoveryTimeoutMs: number;
    halfOpenMaxAttempts: number;
    successThreshold: number;
    monitoringWindowMs: number;
}
/**
 * V2 Resource Threshold Configuration
 */
export interface V2ResourceThresholds {
    cpu: {
        warning: number;
        critical: number;
    };
    memory: {
        warning: number;
        critical: number;
    };
    disk: {
        warning: number;
        critical: number;
    };
    network: {
        latencyWarning: number;
        latencyCritical: number;
        errorRateWarning: number;
        errorRateCritical: number;
    };
}
/**
 * V2 Monitoring Dashboard Data
 */
export interface V2MonitoringDashboard {
    overallStatus: V2HealthStatus;
    lastUpdated: number;
    metrics: V2StabilityMetrics;
    recentEvents: V2StabilityEvent[];
    activeAlerts: Array<{
        level: V2AlertLevel;
        message: string;
        timestamp: number;
        acknowledged: boolean;
    }>;
    systemInfo: V2SystemHealth;
    performanceTrends: {
        cpu: Array<{
            timestamp: number;
            value: number;
        }>;
        memory: Array<{
            timestamp: number;
            value: number;
        }>;
        throughput: Array<{
            timestamp: number;
            value: number;
        }>;
        latency: Array<{
            timestamp: number;
            value: number;
        }>;
    };
    componentStatus: Record<string, {
        status: V2HealthStatus;
        lastCheck: number;
        errorCount: number;
        details: string;
    }>;
}
/**
 * V2 Default Stability Configuration
 */
export declare const V2_STABILITY_DEFAULTS: V2StabilityConfig;
/**
 * V2 Stability Monitoring Report
 */
export interface V2StabilityReport {
    generatedAt: number;
    reportPeriod: {
        startTime: number;
        endTime: number;
    };
    summary: {
        overallHealthScore: number;
        availability: number;
        totalIncidents: number;
        meanTimeToRecovery: number;
        systemUptime: number;
    };
    incidents: Array<{
        timestamp: number;
        type: string;
        severity: V2AlertLevel;
        component: string;
        description: string;
        resolution: string;
        durationMs: number;
    }>;
    performanceMetrics: {
        averageResponseTime: number;
        throughput: number;
        errorRate: number;
        resourceUtilization: {
            cpu: number;
            memory: number;
            disk: number;
        };
    };
    trends: {
        improving: string[];
        degrading: string[];
        stable: string[];
    };
    recommendations: string[];
}
/**
 * V2 Emergency Recovery Configuration
 */
export interface V2EmergencyRecoveryConfig {
    enabled: boolean;
    triggers: {
        criticalHealthScore: number;
        consecutiveFailures: number;
        resourceExhaustion: boolean;
        cascadingFailures: boolean;
    };
    actions: {
        resetAllCircuitBreakers: boolean;
        forceMemoryCleanup: boolean;
        terminateIdleSessions: boolean;
        restartCriticalComponents: boolean;
        notifyAdministrators: boolean;
    };
    cooldownPeriod: number;
    maxAttemptsPerHour: number;
}
//# sourceMappingURL=v2-stability-types.d.ts.map