import { CacheProvider, CacheProviderConfig } from "../interfaces/cache-provider.interface";
import { RateLimitResult, RateLimitInfo } from "../interfaces/rate-limiter.interface";
export declare class RedisCacheProvider implements CacheProvider {
    private config;
    private client;
    private isConnected;
    constructor(config: CacheProviderConfig);
    initialize(): Promise<void>;
    checkLimit(key: string, maxRequests: number, windowMs: number): Promise<RateLimitResult>;
    resetLimit(key: string): Promise<void>;
    getLimitInfo(key: string): Promise<RateLimitInfo | null>;
    private ensureConnection;
    close(): Promise<void>;
}
