/** * Migration Utility - Convert from jobs.json (V1) to schedule.json (V2) * Migrates from one-job-per-schedule to timing-groups architecture */ export interface MigrationResult { success: boolean; jobsCount: number; tasksCount: number; timingsCount: number; backupPath?: string; error?: string; } export declare class SchedulerMigration { private schedulerDir; private oldJobsFile; private newScheduleFile; constructor(); /** * Check if migration is needed */ needsMigration(): boolean; /** * Perform migration from V1 (jobs) to V2 (tasks + timings) */ migrate(): MigrationResult; /** * Load jobs from old jobs.json */ private loadOldJobs; /** * Group jobs by cron expression (normalized) */ private groupJobsByTiming; /** * Backup old jobs.json */ private backupOldJobs; /** * Write new schedule.json */ private writeNewSchedule; /** * Get migration summary for display */ getMigrationSummary(): string; } /** * Auto-migrate if needed (called on scheduler initialization) */ export declare function autoMigrate(): Promise; //# sourceMappingURL=migration.d.ts.map