import * as Rx from "rxjs"; import * as Store from "../../rate-limits/store"; import { Request, Response } from "../rate-limits"; export interface LimiterOptions { rateLimitStore: Store.Store; responses$: Rx.Observable; delayMargin?: number; whenDebug: (fn: (d: T) => void) => Rx.MonoTypeOperatorFunction; } export declare const createLimiter: ({ rateLimitStore: store, responses$, delayMargin, whenDebug, }: LimiterOptions) => { effects$: Rx.Observable; bucketLimiter: () => (requests$: Rx.Observable) => Rx.Observable; };