import type { Store } from 'express-rate-limit'; /** * A cross-replica rate-limit store under `rl::`, or `undefined` when * Redis isn't configured (express-rate-limit then uses its per-process memory * store, which is right for a single replica). * * Without a shared store every limit is really `max × replicas`, and weakest * exactly when an HPA has scaled out under load. Use a namespace unique to the * service AND limiter, so separate limiters never share a counter. Pair it with * `passOnStoreError: true`: a Redis outage then lets requests through instead of * failing them. A store whose scripts can't load at startup (Redis not yet * connected) is tolerated by express-rate-limit and reloads on first use. */ export declare function createSharedRateLimitStore(namespace: string): Store | undefined; /** Test-only: forget the memoized client. */ export declare function __resetSharedRateLimitStoreForTests(): void;