import type { AcquireResult, ILimiter, LimiterOptions, RedisProvider } from "./types.js"; export declare abstract class BaseLimiter implements ILimiter { readonly name: string; protected readonly keyPrefix: string; protected readonly getRedis: RedisProvider; constructor(name: string, options?: LimiterOptions, redisProvider?: RedisProvider); protected get redisKey(): string; /** Attempt to acquire the limit. Implemented by subclasses. */ protected abstract tryAcquire(): Promise; /** Release any held resources. Override in ConcurrentLimiter. */ protected release(): Promise; check(): Promise; reset(): Promise; withinLimit(fn: () => Promise | T): Promise; } //# sourceMappingURL=base.d.ts.map