export type ThreadId = number; export interface Scheduler { numCurrent(): number; currentThreads(): Iterator; numIdle(): number; idleThreads(): Iterator; newThread(): ThreadId; deleteCurrentThread(id: ThreadId): void; runThread(): [ThreadId, number] | null; pauseThread(id: ThreadId): void; } export declare class RoundRobinScheduler implements Scheduler { private _currentThreads; private _idleThreads; private _maxThreadId; private _maxTimeQuanta; numCurrent(): number; currentThreads(): Iterator; numIdle(): number; idleThreads(): Iterator; newThread(): ThreadId; deleteCurrentThread(id: ThreadId): void; runThread(): [ThreadId, number] | null; pauseThread(id: ThreadId): void; }