import { CanActivate, ExecutionContext } from '@nestjs/common';
import { Observable } from 'rxjs';
import { Reflector } from '@nestjs/core';
export interface ErrorRecoveryConfig {
    maxRetries: number;
    retryDelay: number;
    fallbackEnabled: boolean;
    circuitBreakerEnabled: boolean;
    logErrors: boolean;
}
export declare class ErrorRecoveryGuard implements CanActivate {
    private readonly reflector;
    private readonly logger;
    private readonly defaultConfig;
    constructor(reflector: Reflector);
    canActivate(context: ExecutionContext): boolean | Promise<boolean> | Observable<boolean>;
}
export declare const ErrorRecovery: (config: Partial<ErrorRecoveryConfig>) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
