/** * Canary Testing — deploy tests to production with gradual rollout. */ export interface CanaryMetric { name: string; min?: number; max?: number; } export interface CanaryConfig { percentage: number; metrics: CanaryMetric[]; promote_after: number; rollback_on?: string; } export interface CanaryRunResult { iteration: number; passed: boolean; metrics: Record; } export interface CanaryState { config: CanaryConfig; runs: CanaryRunResult[]; status: 'canary' | 'promoted' | 'rolled_back'; totalRuns: number; passedRuns: number; } export declare function parseCanaryConfig(raw: Record): CanaryConfig; export declare function loadCanaryConfig(filePath: string): CanaryConfig; export declare function shouldRunCanary(percentage: number): boolean; export declare function evaluateCanaryMetrics(config: CanaryConfig, actual: Record): { passed: boolean; violations: string[]; }; export declare function evaluateRollback(condition: string | undefined, metrics: Record): boolean; export declare function createCanaryState(config: CanaryConfig): CanaryState; export declare function recordCanaryRun(state: CanaryState, metrics: Record): CanaryState; export declare function formatCanaryState(state: CanaryState): string; //# sourceMappingURL=canary.d.ts.map