/** * Flake Manager — Track and manage flaky tests across runs */ export interface FlakeEntry { testName: string; results: Array<{ passed: boolean; timestamp: string; duration_ms: number; }>; } export interface FlakeRecord { testName: string; flakeRate: number; totalRuns: number; passes: number; failures: number; lastPass: string | null; lastFail: string | null; trend: 'improving' | 'degrading' | 'stable' | 'new'; avgDuration: number; suggestions: string[]; } export interface FlakeReport { generated: string; totalTests: number; flakyTests: number; records: FlakeRecord[]; } export interface FlakeManagerConfig { /** Threshold above which a test is considered flaky (0-1, default 0.05) */ flakyThreshold?: number; /** Minimum runs before evaluating flakiness (default 3) */ minRuns?: number; /** Path to persist flake data */ dataPath?: string; } /** * In-memory flake database that tracks test results over time. */ export declare class FlakeManager { private entries; private config; constructor(config?: FlakeManagerConfig); /** * Record a test result. */ record(testName: string, passed: boolean, duration_ms?: number): void; /** * Record multiple results from a suite run. */ recordSuite(results: Array<{ name: string; passed: boolean; duration_ms: number; }>): void; /** * Generate a flake report. */ report(): FlakeReport; /** * Get the flake rate of a specific test. */ getFlakeRate(testName: string): number | null; /** * Save flake data to disk. */ save(filePath?: string): void; /** * Load flake data from disk. */ load(filePath?: string): void; /** * Clear all data. */ clear(): void; /** Number of tracked tests */ get size(): number; } /** * Format flake report for console output. */ export declare function formatFlakeReport(report: FlakeReport): string; //# sourceMappingURL=flake-manager.d.ts.map