/** * Job Manager - CRUD operations for scheduled jobs * Uses simple JSON file storage at ~/.ncp/scheduler/jobs.json */ import { ScheduledJob } from '../../types/scheduler.js'; export declare class JobManager { private jobsFile; private initialized; private static STORAGE_VERSION; constructor(); /** * Initialize paths and directories on first use */ private ensureInitialized; /** * Load all jobs from storage */ private loadJobs; /** * Save jobs to storage */ private saveJobs; /** * Create a new job */ createJob(job: ScheduledJob): void; /** * Get a job by ID */ getJob(jobId: string): ScheduledJob | null; /** * Get a job by name */ getJobByName(name: string): ScheduledJob | null; /** * Get all jobs */ getAllJobs(): ScheduledJob[]; /** * Get jobs by status */ getJobsByStatus(status: ScheduledJob['status']): ScheduledJob[]; /** * Update a job */ updateJob(jobId: string, updates: Partial): void; /** * Delete a job */ deleteJob(jobId: string): void; /** * Increment execution count and update last execution metadata */ recordExecution(jobId: string, executionId: string, executionTime: string): void; /** * Mark a job as errored */ markJobAsErrored(jobId: string, errorMessage: string): void; /** * Get job statistics */ getStatistics(): { total: number; active: number; paused: number; completed: number; error: number; }; } //# sourceMappingURL=job-manager.d.ts.map