using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using Wino.Calendar.ViewModels.Data; namespace Wino.Calendar.ViewModels.Interfaces; public interface IAccountCalendarStateService : INotifyPropertyChanged { ReadOnlyObservableCollection GroupedAccountCalendars { get; } event EventHandler CollectiveAccountGroupSelectionStateChanged; event EventHandler AccountCalendarSelectionStateChanged; public void AddGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar); public void RemoveGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar); public void ClearGroupedAccountCalendar(); public void AddAccountCalendar(AccountCalendarViewModel accountCalendar); public void RemoveAccountCalendar(AccountCalendarViewModel accountCalendar); /// /// Enumeration of currently selected calendars. /// IEnumerable ActiveCalendars { get; } // IEnumerable> GroupedAccountCalendarsEnumerable { get; } }