using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.MediaEncoding
{
    public interface IEncodingManager
    {
        /// 
        /// Gets the subtitle cache path.
        /// 
        /// The original subtitle path.
        /// The output subtitle extension.
        /// System.String.
        string GetSubtitleCachePath(string originalSubtitlePath, string outputSubtitleExtension);
        /// 
        /// Gets the subtitle cache path.
        /// 
        /// The media path.
        /// Index of the subtitle stream.
        /// The output subtitle extension.
        /// System.String.
        string GetSubtitleCachePath(string mediaPath, int subtitleStreamIndex, string outputSubtitleExtension);
        /// 
        /// Refreshes the chapter images.
        /// 
        /// The options.
        /// The cancellation token.
        /// Task{System.Boolean}.
        Task RefreshChapterImages(ChapterImageRefreshOptions options, CancellationToken cancellationToken);
    }
}