1 import { Action } from './Action';
2 import { SchedulerAction } from '../types';
3 import { Subscription } from '../Subscription';
4 import { AsyncScheduler } from './AsyncScheduler';
6 * We need this JSDoc comment for affecting ESDoc.
10 export declare class AsyncAction<T> extends Action<T> {
11 protected scheduler: AsyncScheduler;
12 protected work: (this: SchedulerAction<T>, state?: T) => void;
16 protected pending: boolean;
17 constructor(scheduler: AsyncScheduler, work: (this: SchedulerAction<T>, state?: T) => void);
18 schedule(state?: T, delay?: number): Subscription;
19 protected requestAsyncId(scheduler: AsyncScheduler, id?: any, delay?: number): any;
20 protected recycleAsyncId(scheduler: AsyncScheduler, id: any, delay?: number): any;
22 * Immediately executes this action and the `work` it contains.
25 execute(state: T, delay: number): any;
26 protected _execute(state: T, delay: number): any;
27 /** @deprecated This is an internal implementation detail, do not use. */