namespace PARR.Core.Services.NextRunServices.Subservices
{
    /// <summary>
    /// Сервис трансформации расписания ЕСПП в дату/расписание
    /// </summary>
    internal interface IEsppScheduleTransformService
    {
        /// <summary>
        /// Получить следующую дату по jobGroupId
        /// </summary>
        /// <param name="jobGroupId"></param>
        /// <param name="referenceDate">referenceDate или nextRun</param>
        /// <param name="offset">offset - желательно передавать всегда, хотябы МСК, чтобы рассчитывались правильно даты, так как в ЕСПП все в МСК</param>
        /// <returns></returns>
        Task<DateTimeOffset> GetNextDateAsync(Guid jobGroupId, DateTimeOffset referenceDate, TimeSpan? offset = null);
    }
}
