using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TeamAAS_VP.Core.Lights; using TeamAAS_VP.Models; using TeamAAS_VP.Models.Lights; namespace TeamAAS_VP.Interfaces { public interface ILightManagerService { event EventHandler ControllerAdded; event EventHandler ControllerRemoved; event EventHandler ChannelStatusChanged; IReadOnlyDictionary Controllers { get; } IReadOnlyDictionary GlobalChannels { get; } Task RegisterControllerAsync(int id, LightControllerConfig configuration); Task UnregisterControllerAsync(int controllerId); Task SetGlobalChannelBrightnessAsync(int globalChannelId, int brightness); Task TurnOnGlobalChannelAsync(int globalChannelId); Task TurnOffGlobalChannelAsync(int globalChannelId); Task ConnectAllAsync(); Task DisconnectAllAsync(); Task SaveConfigurationAsync(string filePath); Task LoadConfigurationAsync(string filePath); } }