export interface RetryOptions {
    maxRetries?: number;
    initialDelay?: number;
    maxDelay?: number;
    backoffFactor?: number;
    retryableStatuses?: number[];
}
/**
 * Execute function with retry logic
 */
export declare function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
/**
 * Circuit breaker pattern for API failures
 */
export declare class CircuitBreaker {
    private readonly threshold;
    private readonly timeout;
    private failures;
    private lastFailureTime;
    private state;
    constructor(threshold?: number, timeout?: number);
    execute<T>(fn: () => Promise<T>): Promise<T>;
    private recordFailure;
    private reset;
}
