/** * Throttle the given function to only run `size` times in parallel. * Extra calls will be queued until one of the earlier calls completes. */declarefunctionthroat<TResult,TArgsextendsany[]>(size:number,fn:(...args:TArgs)=>Promise<TResult>):(...args:TArgs)=>Promise<TResult>;/** * Throttle the given function to only run `size` times in parallel. * Extra calls will be queued until one of the earlier calls completes. */declarefunctionthroat<TResult,TArgsextendsany[]>(fn:(...args:TArgs)=>Promise<TResult>,size:number):(...args:TArgs)=>Promise<TResult>;/** * Create a throttle that only allows `size` calls in parallel. * Extra calls will be queued until one of the earlier calls completes. * * To create an exclusive lock, just use a `size` of `1`. */declarefunctionthroat(size:number):<TResult,TArgsextendsany[]=[]>(fn:(...args:TArgs)=>Promise<TResult>,...args:TArgs)=>Promise<TResult>;exportdefaultthroat;