using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.MediaEncoding.Keyframes;
namespace MediaBrowser.Controller.IO;
/// 
/// Interface IKeyframeManager.
/// 
public interface IKeyframeManager
{
    /// 
    /// 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);
}