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