import * as T from "fp-ts/Task"; export type BucketDetails = { key: "global" | string; resetAfter: number; limit: number; }; export interface Store { hasBucket: (bucketKey: string) => Promise; putBucket: (bucket: BucketDetails) => Promise; getBucketForRoute: (route: string) => Promise; putBucketRoute: (route: string, bucketKey: string) => Promise; incrementCounter: (key: string, window: number, limit: number) => Promise; } export declare const maybeWait: (store: Store) => (key: string, window: number, limit: number) => T.Task;