import { EnqueueOptions, Task } from './y-queue'; export interface YBatchOptions { concurrency?: number; maxQueueLength?: number; } export declare class YBatchErrors extends Error { readonly errors: unknown[]; constructor(errors: unknown[]); toString(): string; } export declare class YBatch { readonly options: YBatchOptions; static isYBatchError(e: unknown): e is YBatchErrors; readonly maxQueueLength: number; private readonly queue; private readonly errors; private failFastWaits; private allSettledWaits; private running; constructor(options: YBatchOptions); add(fn: Task, options?: Partial): Promise; failFast(): Promise; allSettled(): Promise; }