import { EventEmitter } from '../utils/EventEmitter'; type FaultType = 'error' | 'delay' | 'networkError' | 'timeout' | 'customError'; interface FaultConfig { probability: number; type: FaultType; details?: any; } interface InjectionPoint { name: string; config: FaultConfig; } export declare class FaultInjector extends EventEmitter { private injectionPoints; private logger; constructor(); addFault(name: string, config: FaultConfig): void; removeFault(name: string): void; injectFault(name: string, options?: any): Promise; private injectDelay; private injectTimeout; getAllFaults(): InjectionPoint[]; clearAllFaults(): void; injectRandomFault(): Promise; setGlobalFaultProbability(probability: number): void; } export declare const faultInjector: FaultInjector; export declare function InjectFault(faultName: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export {};