using ErsatzTV.Core.Domain; using ErsatzTV.Core.Domain.Scheduling; namespace ErsatzTV.Core.Scheduling.Engine; public interface ISchedulingEngineState { // state int PlayoutId { get; } PlayoutBuildMode Mode { get; } int Seed { get; } DateTimeOffset CurrentTime { get; } DateTimeOffset Start { get; } DateTimeOffset Finish { get; } // result Option RemoveBefore { get; } bool ClearItems { get; } List AddedItems { get; } System.Collections.Generic.HashSet HistoryToRemove { get; } List AddedHistory { get; } }