using ErsatzTV.Core.Domain; using ErsatzTV.Core.Scheduling; namespace ErsatzTV.Core.Interfaces.Scheduling; public interface IPlayoutModeScheduler where T : ProgramScheduleItem { Tuple> Schedule( PlayoutBuilderState playoutBuilderState, Dictionary collectionEnumerators, T scheduleItem, ProgramScheduleItem nextScheduleItem, DateTimeOffset hardStop, CancellationToken cancellationToken); }