using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Jellyfin.Plugin.SRFPlay.Services.Interfaces; /// /// Interface for refreshing content from SRF API. /// public interface IContentRefreshService { /// /// Refreshes latest content from SRF API using Play v3. /// /// The cancellation token. /// List of URNs for new content. Task> RefreshLatestContentAsync(CancellationToken cancellationToken); /// /// Refreshes trending content from SRF API using Play v3. /// /// The cancellation token. /// List of URNs for trending content. Task> RefreshTrendingContentAsync(CancellationToken cancellationToken); /// /// Refreshes all content (latest and trending). /// /// The cancellation token. /// Tuple with counts of latest and trending items. Task<(int LatestCount, int TrendingCount)> RefreshAllContentAsync(CancellationToken cancellationToken); /// /// Gets content recommendations (combines latest and trending). /// /// The cancellation token. /// List of recommended URNs. Task> GetRecommendedContentAsync(CancellationToken cancellationToken); }