/** * Flakiness Integration for Smart Retry * * Integrates Smart Retry with the Flakiness Detection Engine * to make intelligent retry decisions based on historical data. */ import type { FlakinessResult, TestResult as FlakinessTestResult } from '../flakiness/index.js'; import type { RetryConfig, RetryRecommendation } from './types.js'; /** * Enhanced retry config with flakiness awareness */ export interface FlakinessAwareRetryConfig extends RetryConfig { /** Use flakiness score to determine retry strategy */ useFlakinessScore?: boolean; /** Minimum historical runs before using flakiness data */ minHistoricalRuns?: number; /** Boost retry attempts for known flaky tests */ boostRetriesForFlaky?: boolean; /** Reduce retries for known stable tests */ reduceRetriesForStable?: boolean; } /** * Flakiness-aware retry engine */ export declare class FlakinessAwareRetryEngine { private flakinessHistory; private testHistory; /** * Load flakiness data */ loadFlakinessData(results: FlakinessResult[]): void; /** * Add test result to history */ addTestResult(testId: string, result: FlakinessTestResult): void; /** * Get retry config for a specific test based on flakiness */ getRetryConfigForTest(testId: string, baseConfig: FlakinessAwareRetryConfig): RetryConfig; /** * Get comprehensive retry recommendation */ getRetryRecommendation(testId: string): RetryRecommendation; /** * Check if test should be skipped (too flaky) */ shouldSkipTest(testId: string): boolean; /** * Get flakiness history */ getFlakinessHistory(): Map; /** * Clear all history */ clearHistory(): void; } /** * Create a flakiness-aware retry engine */ export declare function createFlakinessAwareRetryEngine(): FlakinessAwareRetryEngine;