import type { IJobListener, IScheduledJob, ISchedulerConfig, IJobExecutionResult, IJobExecutionContext } from './scheduler.interfaces.js'; export declare class SchedulerExecutor { private readonly config?; private readonly listeners?; private runningJobs; private jobQueue; private isProcessing; private eventEmitter; private concurrentJobs; constructor(config?: ISchedulerConfig | undefined, listeners?: IJobListener[] | undefined); executeJob(job: IScheduledJob, context?: Partial): Promise; private executeWithTimeout; private handleJobFailure; private calculateRetryDelay; private queueJob; private processQueue; private shouldQueueJob; cancelJob(executionId: string): boolean; cancelAllJobs(): void; getRunningJobCount(): number; getQueuedJobCount(): number; clearQueue(): void; private generateExecutionId; private createResult; private delay; private notifyJobStart; private notifyJobComplete; private notifyJobError; private notifyJobRetry; on(event: string, handler: (...args: any[]) => void): void; off(event: string, handler: (...args: any[]) => void): void; emit(event: string, data?: any): void; } //# sourceMappingURL=scheduler.executor.d.ts.map