/**
 * Resilient Serper API Client
 *
 * Enhanced version of SerperClient with resilience patterns:
 * - Circuit breaker for fault tolerance
 * - Retry logic with exponential backoff
 * - Response caching with fallback
 * - Health monitoring
 */
import type { ISerperSearchResult } from '../types/quotes.js';
import { SerperClient } from './serperClient.js';
import type { ISerperConfig, ISerperSearchParams } from './serperClient.js';
/**
 * Resilient client configuration
 */
export interface ResilientSerperConfig extends ISerperConfig {
    enableCache?: boolean;
    enableCircuitBreaker?: boolean;
    enableRetry?: boolean;
    cacheTTL?: number;
    maxRetries?: number;
}
/**
 * Resilient Serper API Client
 */
export declare class ResilientSerperClient extends SerperClient {
    private apiCircuitBreaker;
    private cache;
    private retryWrapper;
    private resilientConfig;
    constructor(config?: ResilientSerperConfig);
    /**
     * Enhanced search with resilience patterns
     */
    searchQuotes(params: ISerperSearchParams): Promise<ISerperSearchResult[]>;
    /**
     * Build enhanced quote search with caching awareness
     */
    buildQuoteSearchQuery(person: string, topic?: string): string;
    /**
     * Get system health status
     */
    getHealthStatus(): Promise<{
        circuitBreaker: import("../utils/circuitBreaker.js").ICircuitBreakerStats;
        cache: Readonly<import("../utils/cache.js").ICacheStats>;
        config: {
            cacheEnabled: boolean | undefined;
            circuitBreakerEnabled: boolean | undefined;
            retryEnabled: boolean | undefined;
        };
    }>;
    /**
     * Reset all resilience components
     */
    reset(): void;
    /**
     * Generate cache key for search params
     */
    private generateCacheKey;
    /**
     * Convert search results to quotes for caching
     */
    private searchResultsToQuotes;
    /**
     * Convert cached quotes back to search results
     */
    private quotesToSearchResults;
    /**
     * Get cached fallback data
     */
    private getCachedFallback;
    /**
     * Pre-warm cache with related searches
     */
    private prewarmCache;
    /**
     * Register health checks
     */
    private registerHealthChecks;
}
export declare const resilientSerperClient: ResilientSerperClient;
//# sourceMappingURL=resilientSerperClient.d.ts.map