import { Job, OutputOptions } from '../db/jobStore'; import { Config } from '../../config/config'; import { AudioSegment } from '../../interfaces'; interface ProgressData { id: string; status: string; progress: number; currentIndex: number; totalUnits: number; segments: AudioSegment[]; error: string | null; output_audio: string | null; output_subtitles_srt: string | null; output_subtitles_vtt: string | null; output_muxed: string | null; } export declare class JobManager { private queue; private processing; private pausedJobs; private emitter; private pollInterval; constructor(); private recoverStuckJobs; createJob(videoPath: string, configOverride?: Partial, outputOptions?: Partial): Job; startJob(jobId: string): Promise; pauseJob(jobId: string): Promise; restartJob(jobId: string): Promise; cancelJob(jobId: string): Promise; deleteJob(jobId: string): void; listJobs(): Job[]; onJobProgress(jobId: string, callback: (data: ProgressData) => void): () => void; private emitProgress; private processNext; private processJob; } export {};