import { AsyncAction } from './AsyncAction'; import { Subscription } from '../Subscription'; import { AsyncScheduler } from './AsyncScheduler'; import { SchedulerAction } from '../types'; import { TimerHandle } from './timerHandle'; export declare class VirtualTimeScheduler extends AsyncScheduler { maxFrames: number; /** @deprecated Not used in VirtualTimeScheduler directly. Will be removed in v8. */ static frameTimeFactor: number; /** * The current frame for the state of the virtual scheduler instance. The difference * between two "frames" is synonymous with the passage of "virtual time units". So if * you record `scheduler.frame` to be `1`, then later, observe `scheduler.frame` to be at `11`, * that means `10` virtual time units have passed. */ frame: number; /** * Used internally to examine the current virtual action index being processed. * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */ index: number; /** * This creates an instance of a `VirtualTimeScheduler`. Experts only. The signature of * this constructor is likely to change in the long run. * * @param schedulerActionCtor The type of Action to initialize when initializing actions during scheduling. * @param maxFrames The maximum number of frames to process before stopping. Used to prevent endless flush cycles. */ constructor(schedulerActionCtor?: typeof AsyncAction, maxFrames?: number); /** * Prompt the Scheduler to execute all of its queued actions, therefore * clearing its queue. * @return {void} */ flush(): void; } 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): TimerHandle; protected recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay?: number): TimerHandle | undefined; protected _execute(state: T, delay: number): any; private static sortActions; } //# sourceMappingURL=VirtualTimeScheduler.d.ts.map