using Oqtane.Models;
using Oqtane.UI;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Oqtane.Services
{
///
/// Service to manage a
///
public interface IModuleDefinitionService
{
///
/// Returns a list of module definitions for the given site
///
///
///
Task> GetModuleDefinitionsAsync(int siteId);
///
/// Returns a specific module definition
///
///
///
///
Task GetModuleDefinitionAsync(int moduleDefinitionId, int siteId);
///
/// Updates a existing module definition
///
///
///
Task UpdateModuleDefinitionAsync(ModuleDefinition moduleDefinition);
///
/// Deletes a module definition
///
///
///
///
Task DeleteModuleDefinitionAsync(int moduleDefinitionId, int siteId);
///
/// Creates a new module definition
///
///
///
Task CreateModuleDefinitionAsync(ModuleDefinition moduleDefinition);
///
/// Returns a list of module definition templates
///
///
Task> GetModuleDefinitionTemplatesAsync();
}
}