using Core.Entities;
namespace WebApp.Services;
///
/// Service for managing meeting schedule state persistence in localStorage.
///
public interface IMeetingScheduleStateService
{
///
/// Loads scheduled teams from localStorage.
///
Task> LoadScheduledTeamsAsync(Team[] allTeams);
///
/// Saves scheduled teams to localStorage.
///
Task SaveScheduledTeamsAsync(IEnumerable scheduledTeams);
///
/// Loads absent students from localStorage.
///
Task> LoadAbsentStudentsAsync(Student[] allStudents);
///
/// Saves absent students to localStorage.
///
Task SaveAbsentStudentsAsync(IEnumerable absentStudents);
///
/// Loads time slot count from localStorage.
///
Task LoadTimeSlotCountAsync(int defaultValue = 2);
///
/// Saves time slot count to localStorage.
///
Task SaveTimeSlotCountAsync(int timeSlotCount);
///
/// Loads extended teams from localStorage.
///
Task> LoadExtendedTeamsAsync(Team[] allTeams);
///
/// Saves extended teams to localStorage.
///
Task SaveExtendedTeamsAsync(IEnumerable extendedTeams);
///
/// Loads excluded students from localStorage.
///
Task> LoadExcludedStudentsAsync();
///
/// Saves excluded students to localStorage.
///
Task SaveExcludedStudentsAsync(Dictionary<(int teamId, int timeSlotIndex, int studentId), bool> excludedStudents);
}