| import { Action } from './scheduler/Action'; | 
| import { Subscription } from './Subscription'; | 
| import { SchedulerLike, SchedulerAction } from './types'; | 
| /** | 
|  * An execution context and a data structure to order tasks and schedule their | 
|  * execution. Provides a notion of (potentially virtual) time, through the | 
|  * `now()` getter method. | 
|  * | 
|  * Each unit of work in a Scheduler is called an `Action`. | 
|  * | 
|  * ```ts | 
|  * class Scheduler { | 
|  *   now(): number; | 
|  *   schedule(work, delay?, state?): Subscription; | 
|  * } | 
|  * ``` | 
|  * | 
|  * @class Scheduler | 
|  * @deprecated Scheduler is an internal implementation detail of RxJS, and | 
|  * should not be used directly. Rather, create your own class and implement | 
|  * {@link SchedulerLike} | 
|  */ | 
| export declare class Scheduler implements SchedulerLike { | 
|     private SchedulerAction; | 
|     /** | 
|      * Note: the extra arrow function wrapper is to make testing by overriding | 
|      * Date.now easier. | 
|      * @nocollapse | 
|      */ | 
|     static now: () => number; | 
|     constructor(SchedulerAction: typeof Action, now?: () => number); | 
|     /** | 
|      * A getter method that returns a number representing the current time | 
|      * (at the time this function was called) according to the scheduler's own | 
|      * internal clock. | 
|      * @return {number} A number that represents the current time. May or may not | 
|      * have a relation to wall-clock time. May or may not refer to a time unit | 
|      * (e.g. milliseconds). | 
|      */ | 
|     now: () => number; | 
|     /** | 
|      * Schedules a function, `work`, for execution. May happen at some point in | 
|      * the future, according to the `delay` parameter, if specified. May be passed | 
|      * some context object, `state`, which will be passed to the `work` function. | 
|      * | 
|      * The given arguments will be processed an stored as an Action object in a | 
|      * queue of actions. | 
|      * | 
|      * @param {function(state: ?T): ?Subscription} work A function representing a | 
|      * task, or some unit of work to be executed by the Scheduler. | 
|      * @param {number} [delay] Time to wait before executing the work, where the | 
|      * time unit is implicit and defined by the Scheduler itself. | 
|      * @param {T} [state] Some contextual data that the `work` function uses when | 
|      * called by the Scheduler. | 
|      * @return {Subscription} A subscription in order to be able to unsubscribe | 
|      * the scheduled work. | 
|      */ | 
|     schedule<T>(work: (this: SchedulerAction<T>, state?: T) => void, delay?: number, state?: T): Subscription; | 
| } |