using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Notifications;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
namespace MediaBrowser.Controller.Notifications
{
public interface INotificationManager
{
///
/// Sends the notification.
///
/// The request.
/// The cancellation token.
/// Task.
Task SendNotification(NotificationRequest request, CancellationToken cancellationToken);
Task SendNotification(NotificationRequest request, BaseItem relatedItem, CancellationToken cancellationToken);
///
/// Adds the parts.
///
/// The services.
/// The notification type factories.
void AddParts(IEnumerable services, IEnumerable notificationTypeFactories);
///
/// Gets the notification types.
///
/// IEnumerable{NotificationTypeInfo}.
List GetNotificationTypes();
///
/// Gets the notification services.
///
/// IEnumerable{NotificationServiceInfo}.
IEnumerable GetNotificationServices();
}
}