/** * Regression Detector * * Detects regressions using statistical methods. * Supports Z-score, T-test, Mann-Whitney U, and percentile-based detection. */ import type { RegressionDetection, RegressionConfig, TimeSeriesPoint, Baseline } from './types.js'; /** * Regression Detector class */ export declare class RegressionDetector { private config; private baselines; constructor(config?: Partial); /** * Detect regressions by comparing current values to baseline */ detectRegressions(currentData: Record, currentRunId: string, gate: string, context?: Record): RegressionDetection[]; /** * Detect regression for a single metric */ private detectMetricRegression; /** * Perform statistical test */ private performStatisticalTest; /** * Z-score test */ private zScoreTest; /** * T-test (simplified for single value vs baseline) */ private tTest; /** * Percentile test */ private percentileTest; /** * Calculate percentile for a value in baseline */ private calculatePercentile; /** * Normal CDF (cumulative distribution function) */ private normalCDF; /** * Student's t CDF approximation */ private studentTCDF; /** * Check if change constitutes a regression */ private isRegression; /** * Get direction of change (worse/better/neutral) */ private getDIRECTION; /** * Calculate regression severity */ private calculateSeverity; /** * Generate suggestions for regression */ private generateSuggestions; /** * Update baseline with new data */ updateBaseline(metricName: string, data: TimeSeriesPoint[]): void; /** * Get baseline for a metric */ getBaseline(metricName: string): Baseline | undefined; /** * Get all baselines */ getAllBaselines(): Baseline[]; /** * Get threshold for a metric */ private getThresholdForMetric; /** * Check if metric matches pattern */ private metricMatchesPattern; /** * Get regression type for metric */ private getTypeForMetric; /** * Extract component name from metric and context */ private extractComponent; /** * Check if metric should be ignored */ private shouldIgnore; /** * Create default configuration */ private createDefaultConfig; } /** * Create a regression detector */ export declare function createRegressionDetector(config?: Partial): RegressionDetector;