secure-kit
Version:
Production-grade security + performance toolkit for backend frameworks with OWASP Top 10 compliance
47 lines • 1.09 kB
TypeScript
interface AdvancedRateLimitOptions {
windowMs?: number;
max?: number;
maxRequests?: number;
adaptive?: {
enabled: boolean;
baseMultiplier: number;
recoveryTime: number;
};
}
export declare class AdvancedRateLimiter {
private store;
private config;
private cleanupInterval;
constructor(config: AdvancedRateLimitOptions);
/**
* Check if a request should be rate limited
*/
isAllowed(identifier: string): {
allowed: boolean;
remaining: number;
resetTime: number;
retryAfter?: number;
};
/**
* Clean up expired entries from store
*/
private cleanup;
/**
* Get current statistics
*/
getStats(): {
totalEntries: number;
activeEntries: number;
totalViolations: number;
};
/**
* Reset rate limit for a specific identifier
*/
reset(identifier: string): void;
/**
* Destroy the rate limiter and cleanup
*/
destroy(): void;
}
export {};
//# sourceMappingURL=advanced-rate-limiter.d.ts.map