using MediaBrowser.Model.Devices;
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Controller.Security
{
    public interface IAuthenticationRepository
    {
        /// 
        /// Creates the specified information.
        /// 
        /// The information.
        /// Task.
        void Create(AuthenticationInfo info);
        /// 
        /// Updates the specified information.
        /// 
        /// The information.
        /// Task.
        void Update(AuthenticationInfo info);
        /// 
        /// Gets the specified query.
        /// 
        /// The query.
        /// QueryResult{AuthenticationInfo}.
        QueryResult Get(AuthenticationInfoQuery query);
        void Delete(AuthenticationInfo info);
        DeviceOptions GetDeviceOptions(string deviceId);
        void UpdateDeviceOptions(string deviceId, DeviceOptions options);
    }
}