import { Repository } from 'typeorm'; import { Queue } from 'bull'; import { ScheduledWorkflow } from '../entities/scheduled-workflow.entity'; import { WorkflowExecutionLog } from '../entities/workflow-execution-log.entity'; import { CreateScheduleDto } from '../dto/create-schedule.dto'; import { UpdateScheduleDto } from '../dto/update-schedule.dto'; import { GetExecutionLogsDto } from '../dto/get-execution-logs.dto'; import { UserData } from '../../user/entity/user.entity'; import { ScheduleJobData } from '../interfaces/schedule-job-data.interface'; export declare class WorkflowScheduleService { private readonly scheduledWorkflowRepository; private readonly executionLogRepository; private readonly scheduleQueue; private readonly logger; constructor(scheduledWorkflowRepository: Repository, executionLogRepository: Repository, scheduleQueue: Queue); createSchedule(createScheduleDto: CreateScheduleDto, loggedInUser: UserData): Promise; updateSchedule(updateScheduleDto: UpdateScheduleDto, loggedInUser: UserData): Promise; getScheduleById(scheduleId: number): Promise; getAllSchedules(page: number | undefined, size: number | undefined, filters: any | undefined, loggedInUser: UserData): Promise<{ data: ScheduledWorkflow[]; total: number; page: number; size: number; }>; pauseSchedule(scheduleId: number, loggedInUser: UserData): Promise; resumeSchedule(scheduleId: number, loggedInUser: UserData): Promise; deleteSchedule(scheduleId: number, loggedInUser: UserData): Promise; triggerManualExecution(scheduleId: number, loggedInUser: UserData, metadata?: Record): Promise<{ executionLogId: number; jobId: string; }>; getExecutionLogs(getExecutionLogsDto: GetExecutionLogsDto, loggedInUser: UserData): Promise<{ data: WorkflowExecutionLog[]; total: number; page: number; size: number; }>; getExecutionStats(scheduleId: number): Promise; private scheduleJob; private removeJob; private validateCronExpression; private calculateNextExecution; }