import { PDMQTask } from "../../interfaces/task.interface";
import { RedisService } from "../common/redis.service";
export declare class TaskService {
    constructor();
    /**
     * Calculate Next Run Time
     *
     * @param task
     * @returns {string} YYYY:MM:DD:HH:mm:ss
     */
    getNextRunTime(task: PDMQTask): string;
    /**
     * Verify Task Is Valid
     *
     * @param task
     */
    verifyTask(task: PDMQTask): boolean | string;
    /**
     *
     * @param storedTaskId
     * @param redisService
     * @returns {PDMQTask} New Instant Task
     */
    runStoredTask(storedTaskId: string, redisService: RedisService): Promise<PDMQTask>;
    /**
     * Add task to queue
     *
     * @param task PDMQ Task
     * @returns {PDMQTask} New Task
     */
    addTask(task: PDMQTask, redisService: RedisService): Promise<PDMQTask>;
}
