using System;
using System.Collections.Generic;
using Jellyfin.Data.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
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.
BoxSet CreateCollection(CollectionCreationOptions options);
///
/// Adds to collection.
///
/// The collection identifier.
/// The item ids.
void AddToCollection(Guid collectionId, IEnumerable itemIds);
///
/// Removes from collection.
///
/// The collection identifier.
/// The item ids.
void RemoveFromCollection(Guid collectionId, IEnumerable itemIds);
void AddToCollection(Guid collectionId, IEnumerable itemIds);
void RemoveFromCollection(Guid collectionId, IEnumerable itemIds);
///
/// Collapses the items within box sets.
///
/// The items.
/// The user.
/// IEnumerable{BaseItem}.
IEnumerable CollapseItemsWithinBoxSets(IEnumerable items, User user);
}
}