using SportsDivision.Application.DTOs; using SportsDivision.Domain.Enums; namespace SportsDivision.Application.Interfaces; public interface ITournamentService { Task> GetAllAsync(bool includeArchived = false); Task GetByIdAsync(int id); Task CreateAsync(TournamentCreateDto dto); Task UpdateAsync(TournamentUpdateDto dto); Task UpdateStatusAsync(int id, TournamentStatus status); Task ArchiveAsync(int id); Task UnarchiveAsync(int id); Task DeleteAsync(int id); Task> GetEventLevelsAsync(int tournamentId); Task AddEventLevelAsync(TournamentEventLevelCreateDto dto); Task RemoveEventLevelAsync(int tournamentEventLevelId); Task ToggleAgeWaiverAsync(int tournamentEventLevelId); }