import { type Container } from '../container.js'; import type { CronExecutionResult, CronInvocationContext, CronJobDefinition, CronMode, CronStatusReport } from './types.js'; export declare function normalizeCronExpression(schedule: string | number): string; export declare function formatJobId(className: string, methodName: string, customName?: string): string; export declare class CronRuntime { private static instance; private jobs; private aliases; private runningJobs; private lastRuns; private mode; constructor(initialMode?: CronMode); static get current(): CronRuntime; static reset(): void; setMode(mode: CronMode): this; getMode(): CronMode; isExternal(): boolean; registerJob(def: CronJobDefinition): void; getJob(jobId: string): CronJobDefinition | undefined; getJobs(): CronJobDefinition[]; isJobRunning(jobId: string): boolean; getLastRun(jobId: string): CronExecutionResult | undefined; /** * Invokes a scheduled method by resolving the owning service through DI, * awaiting the method, enforcing concurrency guards, and reporting completion or failure. */ invoke(jobId: string, context?: Partial & { container?: Container; throwOnError?: boolean; }): Promise>; getStatusReports(): CronStatusReport[]; clear(): void; }