import type { BatchJobConfig, SchedulerStatus } from '../batch-scheduler-types.js'; import type { JobQueue } from '../job-queue.js'; import type { RetryManager } from '../retry-manager.js'; import type { HealthChecker } from '../health-checker.js'; import type Database from 'better-sqlite3'; import type { BatchSchedulerLogMethod } from '../handlers/batch-scheduler-run-context.js'; export interface BatchSchedulerStatusState { isRunning: boolean; intervals: Map>; lastExecution: Map; totalExecutions: Map; startTime: Date | null; config: BatchJobConfig; } export declare function getBatchSchedulerStatus(state: BatchSchedulerStatusState, retryManager: RetryManager): SchedulerStatus; export declare function updateBatchSchedulerConfig(config: BatchJobConfig, newConfig: Partial, log: BatchSchedulerLogMethod): BatchJobConfig; export declare function getBatchSchedulerDetailedStatsReport(state: BatchSchedulerStatusState, retryManager: RetryManager, jobQueue: JobQueue): { status: SchedulerStatus; health: { memoryUsage: number; runningJobs: number; queueSize: number; errorRate: number; uptime: number; }; jobs: Array<{ name: string; lastExecution: Date | null; totalExecutions: number; errorCount: number; errorRate: number; isRunning: boolean; }>; }; export declare function getBatchSchedulerLastJobRunMeta(lastJobRunMeta: Map, name: string): { at: Date; success: boolean; durationMs: number; } | undefined; export declare function checkBatchSchedulerSchedulerHealth(db: Database.Database | null, healthChecker: HealthChecker, jobQueue: JobQueue, maxConcurrentJobs: number, log: BatchSchedulerLogMethod): Promise; //# sourceMappingURL=batch-scheduler-status.d.ts.map