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);
}