import { TimeoutOptions } from './interfaces/timeout-options.interface';
import { CronJobOptions, IntervalJobOptions, SchedulerRegistry, TimeoutJobOptions } from './scheduler.registry';
import { SchedulerOrchestrator } from './scheduler.orchestrator';
import { IntervalOptions } from './interfaces/interval-options.interface';
import { CronObject, CronObjLiteral, CronOptions } from './interfaces/cron-options.interface';
import { Locker } from './interfaces/locker.interface';
export declare class Schedule {
    private readonly locker;
    private registry;
    private schedulerOrchestrator;
    constructor(locker: Locker, registry: SchedulerRegistry, schedulerOrchestrator: SchedulerOrchestrator);
    private getLocker;
    createTimeoutJob(methodRef: Function, timeout: number, options?: TimeoutOptions, locker?: Locker | false): void;
    createIntervalJob(methodRef: Function, interval: number, options?: IntervalOptions, locker?: Locker | false): void;
    createCronJob(rule: string | number | Date | CronObject | CronObjLiteral, methodRef: any, options?: CronOptions, locker?: Locker | false): void;
    deleteTimeoutJob(name: string): void;
    deleteIntervalJob(name: string): void;
    deleteCronJob(name: string): void;
    getTimeoutJobs(): TimeoutJobOptions[];
    getIntervalJobs(): IntervalJobOptions[];
    getCronJobs(): CronJobOptions[];
}
