using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Providers; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Subtitles { public interface ISubtitleManager { /// /// Adds the parts. /// /// The subtitle providers. void AddParts(IEnumerable subtitleProviders); /// /// Searches the subtitles. /// /// The video. /// The language. /// The cancellation token. /// Task{IEnumerable{RemoteSubtitleInfo}}. Task> SearchSubtitles(Video video, string language, CancellationToken cancellationToken); /// /// Searches the subtitles. /// /// The request. /// The cancellation token. /// Task{IEnumerable{RemoteSubtitleInfo}}. Task> SearchSubtitles(SubtitleSearchRequest request, CancellationToken cancellationToken); /// /// Downloads the subtitles. /// /// The video. /// The subtitle identifier. /// Name of the provider. /// The cancellation token. /// Task. Task DownloadSubtitles(Video video, string subtitleId, string providerName, CancellationToken cancellationToken); } }