using System.Threading.Tasks;
using EstusShots.Shared.Models;
using EstusShots.Shared.Models.Parameters;
namespace EstusShots.Shared.Interfaces
{
///
/// Load and manipulate Enemy objects
///
public interface IEnemiesController
{
///
/// Load all enemies or enemies for a specific season
///
/// An instance
/// An ApiResponse instance of type
Task> GetEnemies(GetEnemiesParameter parameter);
///
/// Load detailed information on a single enemy
///
/// An instance
/// An ApiResponse instance of type
Task> GetEnemy(GetEnemyParameter parameter);
///
/// Creates or updates an enemy object
///
/// An instance
/// An ApiResponse instance of type
Task> SaveEnemy(SaveEnemyParameter parameter);
///
/// Deletes an enemy object
///
/// An instance
/// An ApiResponse instance of type
Task> DeleteEnemy(DeleteEnemyParameter parameter);
}
}