public interface IAlertService
{
    Task<PagedResult<AlertResponse>> ListByEncounterAsync(
        Guid encounterId, AlertStatus? status, int page, int pageSize);

    Task<PagedResult<AlertResponse>> ListGlobalAsync(
        AlertStatus? status, AlertSeverity? severity, Department? department, int page, int pageSize);

    Task<AlertResponse> GetByIdAsync(Guid id);

    Task<AlertResponse> AcknowledgeAsync(Guid id, AcknowledgeAlertRequest req);

    Task<AlertResponse> ResolveAsync(Guid id);
    Task ApplySyncedAcknowledgmentAsync(Guid alertId, SyncedAlertAcknowledgment ack, CancellationToken ct);
    Task ApplySyncedResolutionAsync(Guid alertId, SyncedAlertResolution resolve, CancellationToken ct);
    Task<AlertFeedback> SubmitFeedbackAsync(Guid alertId, AlertFeedbackType type, string? comment);
}