1import { Action } from './Action'; 2import { SchedulerAction } from '../types'; 3import { Subscription } from '../Subscription'; 4import { AsyncScheduler } from './AsyncScheduler'; 5/** 6 * We need this JSDoc comment for affecting ESDoc. 7 * @ignore 8 * @extends {Ignored} 9 */ 10export declare class AsyncAction<T> extends Action<T> { 11 protected scheduler: AsyncScheduler; 12 protected work: (this: SchedulerAction<T>, state?: T) => void; 13 id: any; 14 state: T; 15 delay: number; 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; 21 /** 22 * Immediately executes this action and the `work` it contains. 23 * @return {any} 24 */ 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. */ 28 _unsubscribe(): void; 29} 30