using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Session;
using System;
using System.Collections.Generic;
namespace MediaBrowser.Controller.Dto
{
///
/// Interface IDtoService
///
public interface IDtoService
{
///
/// Gets the user dto.
///
/// The user.
/// UserDto.
UserDto GetUserDto(User user);
///
/// Gets the session info dto.
///
/// The session.
/// SessionInfoDto.
SessionInfoDto GetSessionInfoDto(SessionInfo session);
///
/// Gets the base item info.
///
/// The item.
/// BaseItemInfo.
BaseItemInfo GetBaseItemInfo(BaseItem item);
///
/// Gets the dto id.
///
/// The item.
/// System.String.
string GetDtoId(BaseItem item);
///
/// Gets the user item data dto.
///
/// The data.
/// UserItemDataDto.
UserItemDataDto GetUserItemDataDto(UserItemData data);
///
/// Gets the item by dto id.
///
/// The id.
/// The user id.
/// BaseItem.
BaseItem GetItemByDtoId(string id, Guid? userId = null);
///
/// Attaches the primary image aspect ratio.
///
/// The dto.
/// The item.
void AttachPrimaryImageAspectRatio(IItemDto dto, IHasImages item);
///
/// Gets the base item dto.
///
/// The item.
/// The fields.
/// The user.
/// The owner.
/// Task{BaseItemDto}.
BaseItemDto GetBaseItemDto(BaseItem item, List fields, User user = null, BaseItem owner = null);
}
}