export interface ThrottleOptions { /** * Enforced milliseconds between calls. For `when='trailing'` this is the debounce delay. */ delay?: number; /** * When to call the throttled function. Defaults to `both`. */ when?: 'both' | 'leading' | 'trailing'; } /** * Throttles calls to a callback that returns a void promise. * Immediately invokes the callback on the first call unless `leading=false`. * If the throttled function is called while the promise is already pending, * the call is queued to run after the pending promise completes plus `delay`, * and only the last call is invoked. * In other words, all calls and their args are discarded * during the pending window except for the most recent. * Unlike debouncing, this calls the throttled callback * both on the leading and trailing edges of the delay window by default, * and this can be customized by setting `when` to `'leading'` or `'trailing'`. * It also differs from a queue where every call to the throttled callback eventually runs. * @returns same as `cb` */ export declare const throttle: ) => Promise>(cb: T, { delay, when }?: ThrottleOptions) => T; //# sourceMappingURL=throttle.d.ts.map