import { type RateLimiterStore } from './stores/index.js'; import type { RequestEvent } from '@sveltejs/kit'; import { RateLimiter, type RateLimiterOptions } from './rateLimiter.js'; export declare class RetryAfterRateLimiter extends RateLimiter { private readonly retryAfter; constructor(options?: RateLimiterOptions, retryAfterStore?: RateLimiterStore); private static toSeconds; /** * Clear all rate limits. */ clear(): Promise; /** * Check if a request event is rate limited. * @param {RequestEvent} event * @returns {Promise} Rate limit status for the event. */ check(event: RequestEvent, extraData?: Extra): Promise<{ limited: false; retryAfter: 0; } | { limited: true; retryAfter: number; reason: 'IP' | 'IPUA' | 'cookie' | number; }>; }