/*
 * Copyright (c) 2022 ETH Zürich, Educational Development and Technology (LET)
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */
using System;
using System.Collections.Generic;
namespace SafeExamBrowser.Lockdown.Contracts
{
	/// 
	/// Defines the functionality of a backup repository for .
	/// 
	public interface IFeatureConfigurationBackup
	{
		/// 
		/// Deletes the given  from the backup repository.
		/// 
		void Delete(IFeatureConfiguration configuration);
		/// 
		/// Gets all  currently saved in the backup repository.
		/// 
		IList GetAllConfigurations();
		/// 
		/// Gets all  which are part of the given group.
		/// 
		IList GetBy(Guid groupId);
		/// 
		/// Saves the given  in the backup repository.
		/// 
		void Save(IFeatureConfiguration configuration);
	}
}