using System;
using System.Collections.Generic;
using Jellyfin.Data.Enums;
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Controller.Persistence;
///
/// Provides static lookup data for and for the domain.
///
public interface IItemTypeLookup
{
///
/// Gets all values of the ItemFields type.
///
public IReadOnlyList AllItemFields { get; }
///
/// Gets all BaseItemKinds that are considered Programs.
///
public IReadOnlyList ProgramTypes { get; }
///
/// Gets all BaseItemKinds that should be excluded from parent lookup.
///
public IReadOnlyList ProgramExcludeParentTypes { get; }
///
/// Gets all BaseItemKinds that are considered to be provided by services.
///
public IReadOnlyList ServiceTypes { get; }
///
/// Gets all BaseItemKinds that have a StartDate.
///
public IReadOnlyList StartDateTypes { get; }
///
/// Gets all BaseItemKinds that are considered Series.
///
public IReadOnlyList SeriesTypes { get; }
///
/// Gets all BaseItemKinds that are not to be evaluated for Artists.
///
public IReadOnlyList ArtistExcludeParentTypes { get; }
///
/// Gets all BaseItemKinds that are considered Artists.
///
public IReadOnlyList ArtistsTypes { get; }
///
/// Gets mapping for all BaseItemKinds and their expected serialisaition target.
///
public IDictionary BaseItemKindNames { get; }
}