import { JobStatus, SchedulerJobType, type ICronOptions, type IScheduledJob, type ITimeoutOptions, type ISchedulerConfig, type IIntervalOptions, type IJobFilterOptions } from './scheduler.interfaces.js'; export declare class SchedulerRegistry { private readonly config?; private jobs; private jobsByType; private jobsByStatus; private eventEmitter; private jobIdCounter; constructor(config?: ISchedulerConfig | undefined); private generateJobId; registerJob(name: string, type: SchedulerJobType, pattern: string | number, target: any, method: string, options?: ICronOptions | IIntervalOptions | ITimeoutOptions): IScheduledJob; getJob(name: string): IScheduledJob | undefined; hasJob(name: string): boolean; updateJobStatus(name: string, status: JobStatus): void; updateJobExecution(name: string, execution: { lastExecution?: Date; nextExecution?: Date; lastResult?: any; lastError?: Error; executionTime?: number; }): void; markJobRunning(name: string, isRunning: boolean): void; removeJob(name: string): boolean; getAllJobs(): IScheduledJob[]; getJobsByType(type: SchedulerJobType): IScheduledJob[]; getJobsByStatus(status: JobStatus): IScheduledJob[]; findJobs(filter: IJobFilterOptions): IScheduledJob[]; getCronJobs(): IScheduledJob[]; getIntervals(): IScheduledJob[]; getTimeouts(): IScheduledJob[]; clear(): void; getJobCount(): number; emit(event: string, data: any): void; on(event: string, handler: (...args: any[]) => void): void; off(event: string, handler: (...args: any[]) => void): void; getJobCountByType(type: SchedulerJobType): number; getJobCountByStatus(status: JobStatus): number; setJobInstance(name: string, instance: any): void; getJobInstance(name: string): any; } //# sourceMappingURL=scheduler.registry.d.ts.map