/**
 * Chaos Engineering
 * Controlled fault injection experiments for worker resilience testing
 * Sealed namespace for immutability
 */
export interface IChaosExperiment {
    name: string;
    description: string;
    target: {
        workers?: string[];
        percentage?: number;
    };
    failure: {
        type: 'crash' | 'latency' | 'error' | 'resource';
        config: unknown;
    };
    duration: number;
    safetyLimits: {
        maxConcurrent: number;
        circuitBreaker: boolean;
        rollbackOn: string[];
    };
}
export type IChaosStatus = {
    id: string;
    name: string;
    state: 'defined' | 'running' | 'completed' | 'stopped' | 'failed';
    startedAt: Date | null;
    endedAt: Date | null;
    targetedWorkers: string[];
    failureType: IChaosExperiment['failure']['type'];
};
export type IChaosReport = {
    experimentId: string;
    summary: string;
    durationMs: number;
    targetedWorkers: string[];
    completedAt: Date | null;
};
export type IChaosComparison = {
    comparedIds: string[];
    running: number;
    completed: number;
    stopped: number;
};
/**
 * Chaos Engineering - Sealed namespace
 */
export declare const ChaosEngineering: Readonly<{
    /**
     * Define a chaos experiment
     */
    defineExperiment(config: IChaosExperiment): string;
    /**
     * Start a chaos experiment
     */
    startExperiment(experimentId: string): Promise<void>;
    /**
     * Stop a chaos experiment
     */
    stopExperiment(experimentId: string): Promise<void>;
    /**
     * Get experiment status
     */
    getExperimentStatus(experimentId: string): IChaosStatus;
    /**
     * Failure injection helpers
     */
    injectCrash(workerName: string): void;
    injectLatency(workerName: string, delayMs: number): void;
    injectError(workerName: string, errorRate: number): void;
    injectResourceExhaustion(workerName: string, type: "cpu" | "memory"): void;
    /**
     * Analysis helpers
     */
    analyzeResilience(experimentId: string): IChaosReport;
    compareExperiments(ids: string[]): IChaosComparison;
}>;
export default ChaosEngineering;
//# sourceMappingURL=ChaosEngineering.d.ts.map