export declare const readFromGenerator: (gen: AsyncGenerator, isDone: (last?: T) => Promise | boolean, waitFor?: Promise, maxLength?: number) => Promise; export type Deferrable = { resolve: (value: T | PromiseLike) => void; reject: (reason?: unknown) => void; complete: Promise; }; export declare function createDeferrable(): Deferrable; export declare const createDeferrables: (count: number) => Deferrable[]; export declare const allComplete: (deferrables: Deferrable[]) => Promise; export declare class AsyncBuffer { maxSize?: number | undefined; private buffer; private promise; private resolve; private closed; private toThrow; constructor(maxSize?: number | undefined); get curr(): T[]; get size(): number; get isClosed(): boolean; resetPromise(): void; push(item: T): void; pushMany(items: T[]): void; events(): AsyncGenerator; throw(err: unknown): void; close(): void; } export declare class AsyncBufferFullError extends Error { constructor(maxSize: number); } /** * Utility function that behaves like {@link Promise.allSettled} but returns the * same result as {@link Promise.all} in case every promise is fulfilled, and * throws an {@link AggregateError} if there are more than one errors. */ export declare function allFulfilled(promises: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; export declare function allFulfilled(promises: Iterable>): Promise[]>; export declare function handleAllSettledErrors[] | []>(results: T): { -readonly [P in keyof T]: T[P] extends PromiseSettledResult ? U : never; }; export declare function handleAllSettledErrors(results: PromiseSettledResult[]): T[]; export declare function isRejectedResult(result: PromiseSettledResult): result is PromiseRejectedResult; export declare function isFulfilledResult(result: PromiseSettledResult): result is PromiseFulfilledResult; //# sourceMappingURL=async.d.ts.map