#nullable disable
using System;
using System.Collections.Generic;
using Jellyfin.Database.Implementations.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
namespace MediaBrowser.Controller.Sorting
{
///
/// Represents a BaseItem comparer that requires a User to perform its comparison.
///
public interface IUserBaseItemComparer : IBaseItemComparer
{
///
/// Gets or sets the user.
///
/// The user.
User User { get; set; }
///
/// Gets or sets the user manager.
///
/// The user manager.
IUserManager UserManager { get; set; }
///
/// Gets or sets the user data repository.
///
/// The user data repository.
IUserDataManager UserDataManager { get; set; }
///
/// Gets or sets user data for the items being sorted, keyed by item id, read once up front.
/// A comparer that does not store it reads its user data one item at a time instead.
///
/// The prefetched user data, or null when none was prefetched.
IReadOnlyDictionary PrefetchedUserData
{
get => null;
set { }
}
}
}