using hassio_onedrive_backup.Hass.Events; using onedrive_backup.Contracts; using static hassio_onedrive_backup.Contracts.HassAddonsResponse; using static hassio_onedrive_backup.Contracts.HassBackupsResponse; namespace hassio_onedrive_backup.Hass { public interface IHassioClient { Task> GetBackupsAsync(Predicate filter); Task SendPersistentNotificationAsync(string message); Task CreateBackupAsync(string backupName, bool appendTimestamp = true, bool compressed = true, string? password = null, IEnumerable? folders = null, IEnumerable? addons = null); Task DeleteBackupAsync(Backup backup); Task UpdateHassEntityStateAsync(string entityId, string payload); Task DownloadBackupAsync(string backupSlug); Task UploadBackupAsync(string filePath); Task> GetAddonsAsync(); Task GetAddonInfo(string slug); Task GetTimeZoneAsync(); Task PublishEventAsync(OneDriveEvents eventType, string payload = ""); } }