using YD_TrainingCompetition_Api.Models; namespace YD_TrainingCompetition_Api.Competition; public sealed class RosterEntry { public required string DeviceId { get; init; } public required string Name { get; init; } public string? GroupName { get; init; } public string? School { get; init; } } public interface IRosterService { IReadOnlyCollection GetTemplates(); Task> LoadAsync(string templateFileName, CancellationToken cancellationToken = default); }