using System;
using System.Collections.Generic;
using MediaBrowser.Controller.Entities;
namespace MediaBrowser.Controller.Persistence;
///
/// Provides next-up episode query operations.
///
public interface INextUpService
{
///
/// Gets the list of series presentation keys for next up.
///
/// The query.
/// The minimum date for a series to have been most recently watched.
/// The list of keys.
IReadOnlyList GetNextUpSeriesKeys(InternalItemsQuery filter, DateTime dateCutoff);
///
/// Gets next up episodes for multiple series in a single batched query.
///
/// The query filter.
/// The series presentation unique keys to query.
/// Whether to include specials.
/// Whether to include watched episodes for rewatching mode.
/// A dictionary mapping series key to batch result.
IReadOnlyDictionary GetNextUpEpisodesBatch(
InternalItemsQuery filter,
IReadOnlyList seriesKeys,
bool includeSpecials,
bool includeWatchedForRewatching);
}