using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Collections
{
public interface ICollectionManager
{
///
/// Occurs when [collection created].
///
event EventHandler CollectionCreated;
///
/// Occurs when [items added to collection].
///
event EventHandler ItemsAddedToCollection;
///
/// Occurs when [items removed from collection].
///
event EventHandler ItemsRemovedFromCollection;
///
/// Creates the collection.
///
/// The options.
/// Task.
Task CreateCollection(CollectionCreationOptions options);
///
/// Adds to collection.
///
/// The collection identifier.
/// The item ids.
/// Task.
Task AddToCollection(Guid collectionId, IEnumerable itemIds);
///
/// Removes from collection.
///
/// The collection identifier.
/// The item ids.
/// Task.
Task RemoveFromCollection(Guid collectionId, IEnumerable itemIds);
Task AddToCollection(Guid collectionId, IEnumerable itemIds);
Task RemoveFromCollection(Guid collectionId, IEnumerable itemIds);
///
/// Collapses the items within box sets.
///
/// The items.
/// The user.
/// IEnumerable{BaseItem}.
IEnumerable CollapseItemsWithinBoxSets(IEnumerable items, User user);
///
/// Gets the collections folder.
///
/// The user identifier.
/// Folder.
Folder GetCollectionsFolder(string userId);
///
/// Gets the collections.
///
/// The user.
/// IEnumerable<BoxSet>.
IEnumerable GetCollections(User user);
}
}