using System; using System.Collections.Generic; using System.Threading.Tasks; using Wino.Core.Domain.Enums; using Wino.Core.Domain.Models.Personalization; namespace Wino.Core.Domain.Interfaces; public interface IThemeService : IInitializeAsync { event EventHandler ElementThemeChanged; event EventHandler AccentColorChanged; Task> GetAvailableThemesAsync(); Task CreateNewCustomThemeAsync(string themeName, string accentColor, byte[] wallpaperData); Task> GetCurrentCustomThemesAsync(); List GetAvailableAccountColors(); Task ApplyCustomThemeAsync(bool isInitializing); // Settings ApplicationElementTheme RootTheme { get; set; } Guid CurrentApplicationThemeId { get; set; } string AccentColor { get; set; } string GetSystemAccentColorHex(); bool IsCustomTheme { get; } }