import { type RateLimitEntry, type RateLimitStore } from "veryfront/extensions/distributed/rate-limit-support"; /** Options accepted by redis rate limit. */ export interface RedisRateLimitOptions { url?: string; keyPrefix?: string; /** Maximum time allowed for loading and connecting the Redis client. */ connectTimeoutMs?: number; /** Maximum time allowed for an individual Redis command. */ operationTimeoutMs?: number; } /** Implement redis rate limit store. */ export declare class RedisRateLimitStore implements RateLimitStore { private client; private connectingClient; private clientPromise; private cancelPendingConnection; private clientGeneration; private readonly disconnectPromises; private readonly disconnectedClients; private readonly pendingDisconnectClients; private readonly reportedClientErrors; private readonly url?; private readonly keyPrefix; private readonly connectTimeoutMs; private readonly operationTimeoutMs; constructor(options?: RedisRateLimitOptions); private ensureClient; private invalidateClient; private attachClientLifecycleHandlers; private loadClientFactory; private disconnectBestEffort; private disconnectClient; private markDisconnected; private withTimeout; private connectClient; private storageKey; increment(key: string, windowMs: number): Promise; reset(key: string): Promise; destroy(): Promise; } //# sourceMappingURL=rate-limit-store.d.ts.map