using System.Collections.Generic;
using System.Threading.Tasks;
using LANCommander.Steam.Models;
namespace LANCommander.Steam.Abstractions;
///
/// Interface for storing and retrieving SteamCMD profiles
/// Allows consumers to implement their own storage mechanism
///
public interface ISteamCmdProfileStore
{
///
/// Get all profiles
///
Task> GetAllAsync();
///
/// Get a profile by username
///
Task GetByUsernameAsync(string username);
///
/// Save or update a profile
///
Task SaveAsync(SteamCmdProfile profile);
///
/// Delete a profile by username
///
Task DeleteAsync(string username);
}