import type { CancellationToken } from "@surface/core"; export default class Scheduler { private readonly errors; private readonly highPriorityQueue; private readonly lowPriorityQueue; private readonly normalPriorityQueue; private readonly timeout; private currentExecution; private running; constructor(timeout: number); private nextFrame; private processQueue; private execute; private start; private stop; enqueue(task: () => T, priority: "high" | "normal" | "low"): Promise; enqueue(task: () => T, priority: "high" | "normal" | "low", cancellationToken: CancellationToken): Promise; execution(): Promise; }