/** * Rate Limiter * Prevents abuse by limiting requests per agent */ export interface RateLimitConfig { requestsPerMinute: number; requestsPerHour: number; blockDuration?: number; } export declare class RateLimiter { private limits; private cleanupInterval; constructor(); /** * Check if request is allowed */ checkLimit(identifier: string, config: RateLimitConfig): { allowed: boolean; remaining: { perMinute: number; perHour: number; }; resetAt?: number; }; /** * Reset limits for an identifier */ reset(identifier: string): void; /** * Get current usage for an identifier */ getUsage(identifier: string): { minuteRequests: number; hourRequests: number; blockedUntil?: number; }; /** * Cleanup old entries */ private cleanup; /** * Destroy rate limiter */ destroy(): void; } //# sourceMappingURL=RateLimiter.d.ts.map