#nullable disable
#pragma warning disable CA1002, CS1591
using System;
using System.Collections.Generic;
using Jellyfin.Data.Enums;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Library;
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Controller.Library
{
    public interface IUserViewManager
    {
        /// 
        /// Gets user views.
        /// 
        /// Query to use.
        /// Set of folders.
        Folder[] GetUserViews(UserViewQuery query);
        /// 
        /// Gets user sub views.
        /// 
        /// Parent to use.
        /// Type to use.
        /// Localization key to use.
        /// Sort to use.
        /// User view.
        UserView GetUserSubView(Guid parentId, CollectionType? type, string localizationKey, string sortName);
        /// 
        /// Gets latest items.
        /// 
        /// Query to use.
        /// Options to use.
        /// Set of items.
        List>> GetLatestItems(LatestItemsQuery request, DtoOptions options);
    }
}