import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import { SchedulerRegistry } from './scheduler.registry';
import { CronObject, CronObjLiteral, CronOptions } from './interfaces/cron-options.interface';
import { Locker } from './interfaces/locker.interface';
import { ScheduleWrapper } from './schedule.wrapper';
import { TimeoutOptions } from './interfaces/timeout-options.interface';
import { IntervalOptions } from './interfaces/interval-options.interface';
export declare class SchedulerOrchestrator implements OnApplicationBootstrap, OnApplicationShutdown {
    private readonly registry;
    private readonly wrapper;
    private readonly logger;
    constructor(registry: SchedulerRegistry, wrapper: ScheduleWrapper);
    onApplicationBootstrap(): void;
    onApplicationShutdown(): void;
    mountIntervals(): void;
    mountTimeouts(): void;
    mountCron(): void;
    clearTimeouts(): void;
    clearIntervals(): void;
    closeCronJobs(): void;
    addTimeout(methodRef: Function, timeout: number, name: string, locker: Locker, options?: TimeoutOptions): void;
    addInterval(methodRef: Function, interval: number, name: string, locker: Locker, options?: IntervalOptions): void;
    addCron(methodRef: Function, rule: string | number | Date | CronObject | CronObjLiteral, locker: Locker, options?: CronOptions): void;
}
