import type { MaybePromise } from "../types.js"; interface StoreWriteLimiterOptions { enabled?: boolean; maxConcurrency?: number; minTimeMs?: number; redis?: StoreWriteLimiterRedisAdapter | null; } interface StoreWriteLimiterRedisAdapter { isEnabled?(): boolean; setIfNotExists?(key: string, value: string, ttlMs: number): MaybePromise; } interface StoreWriteLimiter { acquireWriteWindow(subsystem: string, key: unknown, ttlMs: number): Promise; scheduleWrite(subsystem: string, key: unknown, handler: () => Promise): Promise; } declare function createStoreWriteLimiter(options?: StoreWriteLimiterOptions): StoreWriteLimiter; export { createStoreWriteLimiter }; export type { StoreWriteLimiter, StoreWriteLimiterOptions, StoreWriteLimiterRedisAdapter, }; //# sourceMappingURL=write-limiter.d.ts.map