#pragma warning disable CA1002
using System.Collections.Generic;
using Jellyfin.Database.Implementations.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Controller.Dto
{
    /// 
    /// Interface IDtoService.
    /// 
    public interface IDtoService
    {
        /// 
        /// Gets the primary image aspect ratio.
        /// 
        /// The item.
        /// System.Nullable<System.Double>.
        double? GetPrimaryImageAspectRatio(BaseItem item);
        /// 
        /// Gets the base item dto.
        /// 
        /// The item.
        /// The options.
        /// The user.
        /// The owner.
        /// BaseItemDto.
        BaseItemDto GetBaseItemDto(BaseItem item, DtoOptions options, User? user = null, BaseItem? owner = null);
        /// 
        /// Gets the base item dtos.
        /// 
        /// The items.
        /// The options.
        /// The user.
        /// The owner.
        /// The  of .
        IReadOnlyList GetBaseItemDtos(IReadOnlyList items, DtoOptions options, User? user = null, BaseItem? owner = null);
        /// 
        /// Gets the item by name dto.
        /// 
        /// The item.
        /// The dto options.
        /// The list of tagged items.
        /// The user.
        /// The item dto.
        BaseItemDto GetItemByNameDto(BaseItem item, DtoOptions options, List? taggedItems, User? user = null);
    }
}