///
import { Binding } from '@loopback/core';
import { CronJob as BaseCronJob, CronJobParameters } from 'cron';
import { EventEmitter } from 'events';
/**
* Options for a cron job. It adds an optional `name` to cron parameters.
*
* {@link https://github.com/kelektiv/node-cron#api | cron configuration}
*/
export type CronJobOptions = CronJobParameters & {
name?: string;
};
/**
* Configuration for a cron job.
*/
export type CronJobConfig = Partial;
/**
* Name of the cron job extension point
*/
export declare const CRON_JOB_SCHEDULER = "cron.jobScheduler";
/**
* A `BindingTemplate` function to configure the binding as a cron job.
*
* @param binding - Binding object
*/
export declare function asCronJob(binding: Binding): Binding;
/**
* Cron job with an optional name
*/
export declare class CronJob extends BaseCronJob {
private static count;
readonly name: string;
readonly emitter: EventEmitter;
constructor(options: CronJobOptions);
onError(listener: (err: unknown) => void): void;
}