namespace Cleanuparr.Infrastructure.Health; /// /// Service for checking the health of download clients /// public interface IHealthCheckService { /// /// Occurs when a client's health status changes /// event EventHandler ClientHealthChanged; /// /// Checks the health of a specific client /// /// The client ID to check /// The health status of the client Task CheckClientHealthAsync(Guid clientId); /// /// Checks the health of all enabled clients /// /// A dictionary of client IDs to health statuses Task> CheckAllClientsHealthAsync(); /// /// Gets the current health status of a client /// /// The client ID /// The current health status, or null if the client hasn't been checked HealthStatus? GetClientHealth(Guid clientId); /// /// Gets the current health status of all clients that have been checked /// /// A dictionary of client IDs to health statuses IDictionary GetAllClientHealth(); }