import redis = require("redis");
import { Job } from './Lib/Worker';
export declare type CronEvents = 'start' | 'stop' | 'run' | 'success' | 'fail' | 'finish';
export declare class CronManager {
    protected scope: string;
    protected jobs: {
        [name: string]: Job;
    };
    protected cacheClient: redis.RedisClient;
    protected CronJob: any;
    constructor(name?: string);
    getJob(name: string): Job;
    runJob(job: Job, prevRun: Date | null): Promise<boolean>;
    protected getEvents(type: CronEvents): {
        type: CronEvents;
        scope: string;
        event: (name: string) => void;
    }[];
    genCronJob(job: Job, name: any): any;
    init(callback?: (manager: CronManager) => void): void;
    stop(name: any): Promise<void>;
    stopForce(name: any): Promise<void>;
    start(name: any): void;
    status(name: any): boolean;
    isRunning(name: any): boolean;
    isJob(name: any): boolean;
    getNames(): string[];
    destroy(): void;
}
