declare class VideoScheduleQueueService { private queue; private worker; constructor(); /** * Start the worker to process scheduled publish/unpublish jobs */ startWorker(): void; /** * Schedule a video to be published at a specific time */ schedulePublish(videoId: number, publishAt: Date, scheduledByUserId: string): Promise<{ jobId: string; scheduledFor: Date; }>; /** * Schedule a video to be unpublished at a specific time */ scheduleUnpublish(videoId: number, unpublishAt: Date, scheduledByUserId: string): Promise<{ jobId: string; scheduledFor: Date; }>; /** * Cancel a scheduled publish or unpublish */ cancelSchedule(videoId: number, action: 'publish' | 'unpublish'): Promise; /** * Get upcoming scheduled publish/unpublish operations */ getUpcomingSchedules(limit?: number): Promise>; /** * Get schedule history for a video */ getScheduleHistory(videoId: number, limit?: number): Promise<({ scheduledBy: { id: string; email: string; name: string | null; }; } & { status: string; error: string | null; id: number; createdAt: Date; videoId: number; action: string; scheduledFor: Date; executedAt: Date | null; scheduledByUserId: string; })[]>; /** * Get queue stats */ getStats(): Promise<{ waiting: number; active: number; delayed: number; completed: number; failed: number; }>; /** * Pause the queue */ pause(): Promise; /** * Resume the queue */ resume(): Promise; /** * Clean up old completed and failed jobs */ cleanup(): Promise; /** * Close queue and worker */ close(): Promise; } export declare const videoScheduleQueueService: VideoScheduleQueueService; export {}; //# sourceMappingURL=video-schedule-queue.service.d.ts.map