import { CronJobLog, CronConfig } from 'src/models';
export interface CronJobStats {
    total_processed?: number;
    successful_updates?: number;
    failed_updates?: number;
    metadata?: any;
}
export declare class CronJobLoggerService {
    private cronJobLogModel;
    private cronConfigModel;
    constructor(cronJobLogModel: typeof CronJobLog, cronConfigModel: typeof CronConfig);
    isEnabled(jobName: string): Promise<boolean>;
    hasRunningJob(jobName: string): Promise<boolean>;
    start(jobName: string): Promise<CronJobLog>;
    generateSharedCycleId(): Promise<string>;
    startWithCycleId(jobName: string, cycleId: string): Promise<CronJobLog>;
    finishSuccess(logId: number, stats?: CronJobStats): Promise<void>;
    finishError(logId: number, error: any, partialStats?: CronJobStats): Promise<void>;
    cleanupStaleRunning(): Promise<number>;
    private finalize;
    private formatError;
    private generateCycleId;
}
