using System.Collections.Generic;
using MediaBrowser.Controller.Entities;
namespace MediaBrowser.Controller.IO;
///
/// Interface IPathManager.
///
public interface IPathManager
{
///
/// Gets the path to the trickplay image base folder.
///
/// The item.
/// Whether or not the tile should be saved next to the media file.
/// The absolute path.
public string GetTrickplayDirectory(BaseItem item, bool saveWithMedia = false);
///
/// Gets the path to the subtitle file.
///
/// The media source id.
/// The stream index.
/// The subtitle file extension.
/// The absolute path.
public string GetSubtitlePath(string mediaSourceId, int streamIndex, string extension);
///
/// Gets the path to the subtitle file.
///
/// The media source id.
/// The absolute path.
public string GetSubtitleFolderPath(string mediaSourceId);
///
/// Gets the path to the attachment file.
///
/// The media source id.
/// The attachmentFileName index.
/// The absolute path.
public string GetAttachmentPath(string mediaSourceId, string fileName);
///
/// Gets the path to the attachment folder.
///
/// The media source id.
/// The absolute path.
public string GetAttachmentFolderPath(string mediaSourceId);
///
/// Gets the chapter images data path.
///
/// The base item.
/// The chapter images data path.
public string GetChapterImageFolderPath(BaseItem item);
///
/// Gets the chapter images path.
///
/// The base item.
/// The chapter position.
/// The chapter images data path.
public string GetChapterImagePath(BaseItem item, long chapterPositionTicks);
///
/// Gets the paths of extracted data folders.
///
/// The base item.
/// The absolute paths.
public IReadOnlyList GetExtractedDataPaths(BaseItem item);
}