namespace Jellyfin.Data.Enums
{
    /// <summary>
    /// The base item kind.
    /// </summary>
    /// <remarks>
    /// This enum is generated from all classes that inherit from <c>BaseItem</c>.
    /// </remarks>
    public enum BaseItemKind
    {
        /// <summary>
        /// Item is aggregate folder.
        /// </summary>
        AggregateFolder,

        /// <summary>
        /// Item is audio.
        /// </summary>
        Audio,

        /// <summary>
        /// Item is audio book.
        /// </summary>
        AudioBook,

        /// <summary>
        /// Item is base plugin folder.
        /// </summary>
        BasePluginFolder,

        /// <summary>
        /// Item is book.
        /// </summary>
        Book,

        /// <summary>
        /// Item is box set.
        /// </summary>
        BoxSet,

        /// <summary>
        /// Item is channel.
        /// </summary>
        Channel,

        /// <summary>
        /// Item is channel folder item.
        /// </summary>
        ChannelFolderItem,

        /// <summary>
        /// Item is collection folder.
        /// </summary>
        CollectionFolder,

        /// <summary>
        /// Item is episode.
        /// </summary>
        Episode,

        /// <summary>
        /// Item is folder.
        /// </summary>
        Folder,

        /// <summary>
        /// Item is genre.
        /// </summary>
        Genre,

        /// <summary>
        /// Item is manual playlists folder.
        /// </summary>
        ManualPlaylistsFolder,

        /// <summary>
        /// Item is movie.
        /// </summary>
        Movie,

        /// <summary>
        /// Item is a live tv channel.
        /// </summary>
        LiveTvChannel,

        /// <summary>
        /// Item is a live tv program.
        /// </summary>
        LiveTvProgram,

        /// <summary>
        /// Item is music album.
        /// </summary>
        MusicAlbum,

        /// <summary>
        /// Item is music artist.
        /// </summary>
        MusicArtist,

        /// <summary>
        /// Item is music genre.
        /// </summary>
        MusicGenre,

        /// <summary>
        /// Item is music video.
        /// </summary>
        MusicVideo,

        /// <summary>
        /// Item is person.
        /// </summary>
        Person,

        /// <summary>
        /// Item is photo.
        /// </summary>
        Photo,

        /// <summary>
        /// Item is photo album.
        /// </summary>
        PhotoAlbum,

        /// <summary>
        /// Item is playlist.
        /// </summary>
        Playlist,

        /// <summary>
        /// Item is playlist folder.
        /// </summary>
        PlaylistsFolder,

        /// <summary>
        /// Item is program.
        /// </summary>
        Program,

        /// <summary>
        /// Item is recording.
        /// </summary>
        /// <remarks>
        /// Manually added.
        /// </remarks>
        Recording,

        /// <summary>
        /// Item is season.
        /// </summary>
        Season,

        /// <summary>
        /// Item is series.
        /// </summary>
        Series,

        /// <summary>
        /// Item is studio.
        /// </summary>
        Studio,

        /// <summary>
        /// Item is trailer.
        /// </summary>
        Trailer,

        /// <summary>
        /// Item is live tv channel.
        /// </summary>
        /// <remarks>
        /// Type is overridden.
        /// </remarks>
        TvChannel,

        /// <summary>
        /// Item is live tv program.
        /// </summary>
        /// <remarks>
        /// Type is overridden.
        /// </remarks>
        TvProgram,

        /// <summary>
        /// Item is user root folder.
        /// </summary>
        UserRootFolder,

        /// <summary>
        /// Item is user view.
        /// </summary>
        UserView,

        /// <summary>
        /// Item is video.
        /// </summary>
        Video,

        /// <summary>
        /// Item is year.
        /// </summary>
        Year
    }
}
