import { Lazy } from "@tsplus/stdlib/data/Function"; import { AtomicReference } from "@tsplus/stdlib/data/AtomicReference"; import { DoublyLinkedList } from "@tsplus/stdlib/collections/mutable/DoublyLinkedList"; export type Task = Lazy; export interface Scheduler { scheduleTask(task: Task): void; } export declare class DefaultScheduler { readonly running: import("@tsplus/stdlib/data/AtomicReference").AtomicReference; readonly tasks: import("@tsplus/stdlib/data/AtomicReference").AtomicReference>; readonly promise: Promise; starveInternal(depth: number): void; starve(depth?: number): void; scheduleTask(task: Task): void; } export declare const defaultScheduler: Scheduler; export declare class StagedScheduler { readonly tasks: DoublyLinkedList; readonly deferred: import("@tsplus/stdlib/data/AtomicReference").AtomicReference; scheduleTask(task: Task): void; flush(): void; } //# sourceMappingURL=Scheduler.d.ts.map