import { RedisClusterConnection, type RedisConnection } from '@adonisjs/redis';
import RateLimiterBridge from './bridge.ts';
import type { LimiterRedisStoreConfig } from '../types.ts';
/**
 * Redis-backed limiter store that persists rate limit data in Redis.
 * Ideal for distributed applications running across multiple instances.
 *
 * Wraps the RateLimiterRedis implementation from rate-limiter-flexible.
 */
export default class LimiterRedisStore extends RateLimiterBridge {
    #private;
    get name(): string;
    constructor(client: RedisConnection | RedisClusterConnection, config: LimiterRedisStoreConfig);
    /**
     * Flushes the Redis database to clear all rate limit data.
     *
     * **Warning**: This flushes the entire database. Use a dedicated Redis database
     * for rate limiting to avoid clearing other data.
     */
    clear(): Promise<void>;
}
