import StatefulPromise from "./stateful-promise"; interface Task { readonly promise: StatefulPromise; readonly abort: (reason?: unknown) => void; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#add) */ export interface TaskRunnerArgs { signal: AbortSignal; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#add) */ export interface TaskOptions { readonly signal?: AbortSignal | undefined; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/) */ export default class TaskQueue { protected readonly _queue: Task[]; protected readonly _idle: (() => void)[]; protected rm(task: Task): void; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#count) */ get count(): number; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#add) */ add(runner: (args: TaskRunnerArgs) => TValue | PromiseLike, options?: TaskOptions | undefined): StatefulPromise; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#idle) */ idle(): StatefulPromise; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#abort) */ abort(reason?: unknown): void; } export {}; //# sourceMappingURL=task-queue.d.ts.map