import type { Logger } from "@bluecadet/launchpad-utils/logger"; import { ResultAsync } from "neverthrow"; import PQueue from "p-queue"; type ResultAsyncTaskOptions = { signal?: AbortSignal; }; export type ResultAsyncTask = (options: ResultAsyncTaskOptions) => ResultAsync; /** * Wraps a PQueue instance to provide a ResultAsync interface. */ export default class ResultAsyncQueue { queue: PQueue; constructor(options?: ConstructorParameters[0]); /** * Add a ResultAsync to the queue, returning a ResultAsync that resolves to the task's result, or void if the task is aborted. */ add(task: ResultAsyncTask): ResultAsync; addAll(tasks: Array>, options: { logger: Logger; abortOnError?: boolean; }): ResultAsync, Array>; } export {}; //# sourceMappingURL=result-async-queue.d.ts.map