using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.MediaEncoding.Keyframes;
namespace MediaBrowser.Controller.Persistence;
///
/// Provides methods for accessing keyframe data.
///
public interface IKeyframeRepository
{
///
/// Gets the keyframe data.
///
/// The item id.
/// The keyframe data.
IReadOnlyList GetKeyframeData(Guid itemId);
///
/// Saves the keyframe data.
///
/// The item id.
/// The keyframe data.
/// The cancellation token.
/// The task object representing the asynchronous operation.
Task SaveKeyframeDataAsync(Guid itemId, KeyframeData data, CancellationToken cancellationToken);
///
/// Deletes the keyframe data.
///
/// The item id.
/// The cancellation token.
/// The task object representing the asynchronous operation.
Task DeleteKeyframeDataAsync(Guid itemId, CancellationToken cancellationToken);
}