using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace Amazon.Sns.Wrapper.Interfaces
{
///
/// Interface of NotificationService class
///
public interface INotificationService
{
///
/// Creates new SNS Topic if not already exists
///
/// Topic Name
/// Cancellation Token (Optional)
/// INotificationTopic instance of newly created Topic
Task CreateTopicAsync(string name, CancellationToken cancellationToken = default);
///
/// Get Topic by name
///
/// Topic Name
///
/// INotificationTopic instance
Task GetTopicAsync(string name, CancellationToken cancellationToken = default);
///
/// Gets PushNotification Service instance to perform mobile push notifications operations
///
IMobilePushNotification PushNotification { get; }
}
}