import { ICronTaskService } from './ICronTaskService';
import { TCronPollingTime } from '../../../../../types/TCronTask';
/**
 * 单例调度服务接口
 *
 * 记得实现 @TaskRegister装饰器修饰的类，否则不会被扫描到
 *
 * @example
 * ```typescript
 * @TaskCronService
 * class TestCronTaskService extends ISCronTaskService {
 *   NAME: string = '单例测试';
 *   DESCRIPTION: string = '测试单例调度服务';
 *   CRON_EXP: string = '*\/10 * * * * *';
 *   async collection(): Promise<void> {
 *     this.addPending(1, '单例调度任务: ' + this.NAME + '(' + this.DESCRIPTION + ')')
 *   }
 *   async execute(task: TThreadChild<any>): Promise<TCronExecuteResult<any>> {
 *     return { task, success: true };
 *   }
 *   override async executeEnd(data: any): Promise<void> {
 *     Logger.info(data.task, data.success);
 *   }
 * }
 * ```
 */
export declare abstract class ISCronTaskService extends ICronTaskService {
    abstract NAME: string;
    abstract DESCRIPTION: string;
    abstract CRON_EXP: string;
    WAIT_TIME: TCronPollingTime;
    collection(): Promise<void>;
}
