using System.Collections.Generic; using System.Threading.Tasks; using ErsatzTV.Core.Domain; using ErsatzTV.Core.Scheduling; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Repositories { public interface IMediaCollectionRepository { Task> GetCollectionWithCollectionItemsUntracked(int id); Task> GetItems(int id); Task> GetMultiCollectionItems(int id); Task> GetSmartCollectionItems(int id); Task> GetMultiCollectionCollections(int id); Task> GetFakeMultiCollectionCollections(int? collectionId, int? smartCollectionId); Task> PlayoutIdsUsingCollection(int collectionId); Task> PlayoutIdsUsingMultiCollection(int multiCollectionId); Task> PlayoutIdsUsingSmartCollection(int smartCollectionId); Task IsCustomPlaybackOrder(int collectionId); } }