using System;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Plugin.JRay.Models;
namespace Jellyfin.Plugin.JRay.Services.Interfaces;
///
/// Loads and caches scene-actor-extraction "truth" files for library items.
///
public interface ITruthDataService
{
///
/// Gets the truth file for the given library item, if one exists.
///
/// The Jellyfin library item id.
/// Cancellation token.
/// The parsed truth file, or null if no truth file exists for this item.
Task GetTruthAsync(Guid itemId, CancellationToken cancellationToken);
///
/// Removes any cached truth file for the given item, so the next
/// call re-reads from the managed store or sidecar file.
///
/// The Jellyfin library item id.
void Invalidate(Guid itemId);
}