export declare const defaultRateLimitOptions: RateLimitOptions; /** * @type RateLimitOptions */ export type RateLimitOptions = { /** * How long we should remember the requests. * Defaults to 60000 ms (= 1 minute). */ windowMs: number; /** * The maximum number of connections to allow during the window before rate limiting the client. * Defaults to 100. */ limit: number; }; /** * @type RateLimitItem */ export type RateLimitItem = { /** * timestamp */ t: number; /** * count */ c: number; }; /** * @class RateLimitService */ export declare class RateLimitService { private requestCounts; /** * How long we should remember the requests. * Defaults to 60000 ms (= 1 minute). */ protected windowMs: number; /** * The maximum number of connections to allow during the window before rate limiting the client. * Defaults to 100. */ protected limit: number; /** * purge interval * @protected */ protected purgeInterval: any; constructor(options?: RateLimitOptions); destroy(): void; isAllowed(clientIp: string): boolean; private startPurgeInterval; private clearPurgeInterval; } //# sourceMappingURL=RateLimitService.d.ts.map