/** * Rate Limiter Presets - SMI-730, SMI-1189 * * Pre-configured rate limit settings for common use cases. */ import type { RateLimitStorage } from './types.js'; import { RateLimiter } from './RateLimiter.js'; /** * Preset rate limit configurations */ export declare const RATE_LIMIT_PRESETS: { /** Very strict: 10 requests per minute, fail-closed for high security */ readonly STRICT: { readonly maxTokens: 10; readonly refillRate: number; readonly windowMs: 60000; readonly failMode: "closed"; }; /** Standard: 30 requests per minute (default for adapters) */ readonly STANDARD: { readonly maxTokens: 30; readonly refillRate: number; readonly windowMs: 60000; readonly failMode: "open"; }; /** Relaxed: 60 requests per minute */ readonly RELAXED: { readonly maxTokens: 60; readonly refillRate: number; readonly windowMs: 60000; readonly failMode: "open"; }; /** Generous: 120 requests per minute */ readonly GENEROUS: { readonly maxTokens: 120; readonly refillRate: number; readonly windowMs: 60000; readonly failMode: "open"; }; /** High throughput: 300 requests per minute */ readonly HIGH_THROUGHPUT: { readonly maxTokens: 300; readonly refillRate: number; readonly windowMs: 60000; readonly failMode: "open"; }; /** * Stripe Webhook: Optimized for Stripe's webhook delivery patterns * SMI-1062: Stripe sends bursts during subscription lifecycle events * - 100 requests per minute (sufficient for webhook retries) * - Fail-closed to prevent replay attacks */ readonly STRIPE_WEBHOOK: { readonly maxTokens: 100; readonly refillRate: number; readonly windowMs: 60000; readonly failMode: "closed"; }; }; /** * Create a rate limiter from a preset */ export declare function createRateLimiterFromPreset(preset: keyof typeof RATE_LIMIT_PRESETS, storage?: RateLimitStorage): RateLimiter; //# sourceMappingURL=presets.d.ts.map