import type { IBatchScheduler } from '../../shared/interfaces/batch-scheduler.interface.js'; import type { RuntimeDiagnosticsLogger } from '../../domains/monitoring/services/runtime-diagnostics-logger.js'; import Database from 'better-sqlite3'; import type { IReflexionWorker } from '../../shared/interfaces/reflexion-worker.interface.js'; import type { SleepConsolidationService } from '../../domains/consolidation/services/sleep-consolidation-service.js'; import type { TelemetryRepository } from '../../domains/telemetry/repositories/telemetry-repository.js'; import type { IntrospectionScanCache } from '../../domains/memory/services/introspection-scan-cache.js'; import type { AnchorManager } from '../../domains/anchor/services/anchor/anchor-manager.js'; import type { BatchJobConfig, BatchJobResult, SchedulerStatus } from './batch-scheduler-types.js'; export type { BatchJobConfig, BatchJobResult, SchedulerStatus } from './batch-scheduler-types.js'; import { type BatchSchedulerDependencyOverrides } from './batch-scheduler/batch-scheduler-service-wiring.js'; import { type ManualBatchSchedulerJobType } from './batch-scheduler/batch-scheduler-job-processor.js'; export { getBatchScheduler, createBatchScheduler, resetBatchScheduler } from './batch-scheduler/batch-scheduler-singleton.js'; export type { ManualBatchSchedulerJobType }; /** Async augmentation pipeline worker; groups config, intervals, and failure handling. */ export declare class BatchScheduler implements IBatchScheduler { private config; private forgettingService; private performanceMonitor; private consolidationScoreWorker; private reflexionWorker; private db; private intervals; private isRunning; private startTime; private lastExecution; private lastJobRunMeta; private totalExecutions; private introspectionScanCache; private jobProcessorState; private jobQueue; private retryManager; private healthChecker; private fileLogger; private relationValidatorExecutor; private tripleExtractionBatchJob; private qualityMeasurementBatchJob; private sleepConsolidationService; private sleepConsolidationBatchJob; private telemetryCleanupRepository; private telemetryCleanupBatchJob; private diagnosticsLogger?; private anchorManager; private jobExecutionCoordinator; constructor(config?: Partial, dependencies?: BatchSchedulerDependencyOverrides); private getServiceState; private getRecurringState; private getStatusState; private getJobRunnerCallbacks; private getRecurringContextSource; start(db: Database.Database, reflexionWorker?: IReflexionWorker): Promise; stop(): Promise; addJob(name: string, job: () => Promise, priority?: number, retryCount?: number): boolean; private scheduleJob; private startJobProcessor; private waitForRunningJobs; private writeDiagnosticsEvent; private emitMemoryReviewCandidatesRunRecord; private getJobRunners; private runMemoryCleanup; private runMemoryReviewCandidatesJob; private runMonitoring; private runHealthCheck; private runConsolidationScoreIncremental; private runWeeklyRelationValidation; private runConsolidationScoreFullSweep; private runTripleExtractionBatch; private runMetaMemoryIntrospection; private runQualityMeasurementBatch; private runLogRotation; private runSleepConsolidationBatch; private runTelemetryCleanupBatch; private runAnchorAutoRefresh; private log; runJob(jobType: ManualBatchSchedulerJobType): Promise; private getContextSource; getStatus(): SchedulerStatus; updateConfig(newConfig: Partial): void; stopJob(jobName: string): boolean; restartJob(jobName: string): boolean; private checkSchedulerHealth; getDetailedStats(): { 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; }>; }; isJobQueued(name: string): boolean; isJobRunning(name: string): boolean; setIntrospectionScanCache(cache: IntrospectionScanCache | null): void; setSleepConsolidationService(service: SleepConsolidationService | null): void; setTelemetryCleanupRepository(repository: TelemetryRepository | null): void; setDiagnosticsLogger(logger: Pick | undefined): void; setAnchorManager(anchorManager: AnchorManager | null): void; getLastJobRunMeta(name: string): { at: Date; success: boolean; durationMs: number; } | undefined; } //# sourceMappingURL=batch-scheduler.d.ts.map