export interface ThrottleOptions { requestsPerSecond: number promiseImplementation?: PromiseConstructorLike } export interface QueueOptions { weight?: number signal?: AbortSignal } type PromiseCreator = () => Promise export default class PromiseThrottle { constructor(options: ThrottleOptions) add(promiseCreator: PromiseCreator, opts?: QueueOptions): Promise addAll(promisesCreators: PromiseCreator[], opts?: QueueOptions): Promise }