import { Resolvable } from '.'; export declare type LockHandler = () => Resolvable; /** * A simple asynchronous lock that helps queueing operations. */ export declare function lock(object: any, handler: LockHandler): Promise; export declare type ParallelHandler = (value: T, index: number, values: T[]) => Resolvable; /** * Run tasks in parallel, similar to `v.map` but not mean to transform. */ export declare function parallel(values: T[], handler: ParallelHandler, concurrency?: number): Promise; export declare type RaceTransformer = (value: T, index: number, values: T[]) => Resolvable; /** * Race tasks and fulfill or reject as soon as one of them fulfills or rejects. */ export declare function race(values: T[], transformer: RaceTransformer): Promise;