import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common'; import { JobCronNameEnum } from '@novu/shared'; import { MetricsService } from '../metrics'; import { CronJobData, CronJobProcessor, CronMetrics, CronOptions } from './cron.types'; export declare abstract class CronService implements OnApplicationBootstrap, OnApplicationShutdown { private metricsService; private activeJobs; private deploymentName; protected abstract cronServiceName: string; constructor(metricsService: MetricsService, activeJobs: JobCronNameEnum[]); protected abstract addJob(jobName: JobCronNameEnum, processor: CronJobProcessor, interval: string, options: CronOptions): Promise; protected abstract removeJob(jobName: JobCronNameEnum): Promise; protected abstract getMetrics(): Promise; protected abstract initialize(): Promise; protected abstract shutdown(): Promise; onApplicationBootstrap(): Promise; onApplicationShutdown(): Promise; private isActiveJob; add(jobName: JobCronNameEnum, processor: (job: CronJobData) => Promise, interval: string, options: CronOptions): Promise; remove(jobName: JobCronNameEnum): Promise; private createSendCronMetricsJob; private sendCronMetrics; private handleJobOutcome; private kebabToSentenceCase; } //# sourceMappingURL=cron.service.d.ts.map