import { Resolver } from '@stoplight/json-ref-resolver'; import { IGraph, NodeInstance } from '../graph'; import { GraphTask, IScheduler, ISchedulerStateSnapshot, ITaskHandler } from '../scheduler'; export declare function createScheduler(props: ISchedulerProps): Scheduler; export interface ISchedulerProps { graph: IGraph; resolver: Resolver; } declare class Scheduler implements IScheduler { private _graph; private _queue; private readonly _resolver; private _queued; private _handlers; private _running; mightBeStuck: boolean; private _mightBeStuckTimeout?; constructor(props: ISchedulerProps); get isBusy(): boolean; get queuedCount(): number; snapshot(): ISchedulerStateSnapshot; queue: (task: GraphTask) => Promise; queueAll: (tasks: GraphTask[]) => Promise[]; queueLength(): number; registerHandler: (op: T["op"], handler: ITaskHandler) => import("@stoplight/lifecycle").IDisposable; drain: () => Promise; run(task: GraphTask): Promise; private _run; private drainQueue; private _runQueueTask; private _handleRunResult; } export {};