import { AsyncAction } from './AsyncAction'; import { Subscription } from '../Subscription'; import { AsyncScheduler } from './AsyncScheduler'; import { SchedulerAction } from '../types'; export declare class VirtualTimeScheduler extends AsyncScheduler { maxFrames: number; protected static frameTimeFactor: number; frame: number; index: number; constructor(SchedulerAction?: typeof AsyncAction, maxFrames?: number); /** * Prompt the Scheduler to execute all of its queued actions, therefore * clearing its queue. * @return {void} */ flush(): void; } /** * We need this JSDoc comment for affecting ESDoc. * @nodoc */ export declare class VirtualAction extends AsyncAction { protected scheduler: VirtualTimeScheduler; protected work: (this: SchedulerAction, state?: T) => void; protected index: number; protected active: boolean; constructor(scheduler: VirtualTimeScheduler, work: (this: SchedulerAction, state?: T) => void, index?: number); schedule(state?: T, delay?: number): Subscription; protected requestAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay?: number): any; protected recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay?: number): any; protected _execute(state: T, delay: number): any; static sortActions(a: VirtualAction, b: VirtualAction): 1 | 0 | -1; }