import type { QueryClientContract } from '@adonisjs/lucid/types/database';
import RateLimiterBridge from './bridge.ts';
import type { LimiterDatabaseStoreConfig } from '../types.ts';
/**
 * Database-backed limiter store that persists rate limit data in a SQL database.
 * Supports PostgreSQL, MySQL, and SQLite databases.
 *
 * Wraps rate-limiter-flexible database implementations (RateLimiterMySQL,
 * RateLimiterPostgres, RateLimiterSQLite).
 */
export default class LimiterDatabaseStore extends RateLimiterBridge {
    #private;
    get name(): string;
    constructor(client: QueryClientContract, config: LimiterDatabaseStoreConfig);
    /**
     * Truncates the database table, removing all rate limit data.
     *
     * **Warning**: Use a dedicated table for each limiter configuration
     * to avoid accidentally clearing other limiter data.
     */
    clear(): Promise<void>;
}
