using System.Collections.Generic;
using MediaBrowser.Controller.Entities;
using System;
using System.Threading;
namespace MediaBrowser.Controller.Persistence
{
///
/// Provides an interface to implement a UserData repository
///
public interface IUserDataRepository : IRepository
{
///
/// Saves the user data.
///
/// The user id.
/// The key.
/// The user data.
/// The cancellation token.
/// Task.
void SaveUserData(Guid userId, string key, UserItemData userData, CancellationToken cancellationToken);
///
/// Gets the user data.
///
/// The user id.
/// The key.
/// Task{UserItemData}.
UserItemData GetUserData(Guid userId, string key);
UserItemData GetUserData(Guid userId, List keys);
///
/// Return all user data associated with the given user
///
///
///
List GetAllUserData(Guid userId);
///
/// Save all user data associated with the given user
///
///
///
///
///
void SaveAllUserData(Guid userId, UserItemData[] userData, CancellationToken cancellationToken);
}
}