/** * @module RateLimiter */ import { type BackoffPolicy } from "../../../../backoff-policies/contracts/_module.js"; import { type AllRateLimiterState, type InternalRateLimiterPolicy } from "../../../../rate-limiter/implementations/adapters/database-rate-limiter-adapter/internal-rate-limiter-policy.js"; /** * @internal */ export declare class RateLimiterStateManager { private readonly rateLimiterPolicy; private readonly backoffPolicy; constructor(rateLimiterPolicy: InternalRateLimiterPolicy, backoffPolicy: BackoffPolicy); updateState: (limit: number, currentDate: Date) => (currentState: AllRateLimiterState) => AllRateLimiterState; track: (currentDate: Date) => (currentState: AllRateLimiterState) => AllRateLimiterState; }