using System.IO; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.LiveTv; /// /// Provides Schedules Direct specific operations. /// public interface ISchedulesDirectService { /// /// Gets the available countries from the Schedules Direct API, using a file cache. /// /// The cancellation token. /// A stream containing the raw JSON response. Task GetAvailableCountries(CancellationToken cancellationToken); /// /// Gets a value indicating whether the Schedules Direct daily image download limit is currently active. /// /// true if the image limit has been hit and has not yet reset; otherwise false. bool IsImageDailyLimitActive(); /// /// Gets a value indicating whether the Schedules Direct service is available. /// Returns false if a permanent account error has occurred or a transient backoff is active. /// /// true if the service can accept requests; otherwise false. bool IsServiceAvailable(); }