using System.Threading;
using System.Threading.Tasks;
namespace Jellyfin.Plugin.SRFPlay.Services.Interfaces;
///
/// Interface for managing content expiration.
///
public interface IContentExpirationService
{
///
/// Checks for expired content and removes it from the library.
///
/// The cancellation token.
/// The number of items removed.
Task CheckAndRemoveExpiredContentAsync(CancellationToken cancellationToken);
///
/// Gets statistics about content expiration.
///
/// The cancellation token.
/// Tuple with total count, expired count, and items expiring soon.
Task<(int Total, int Expired, int ExpiringSoon)> GetExpirationStatisticsAsync(CancellationToken cancellationToken);
}