import { IReadinessManager } from '../readiness/types';
import { IStorageSync } from '../storages/types';
import { IPollingManager } from './polling/types';
import { IPushManager } from './streaming/types';
import { ISubmitterManager } from './submitters/types';
export interface ITask {
/**
* Start periodic execution of the task
*/
start(...args: Input): any,
/**
* Stop periodic execution of the task
*/
stop(): any,
/**
* Returns true if the task periodic execution is running
*/
isRunning(): boolean
}
export interface ISyncTask extends ITask {
/**
* Start periodic execution of the task, and returns the promise of the first execution
*/
start(...args: Input): Promise