using System.Threading;
using System.Threading.Tasks;
using StellaOps.Cli.Services.Models;
namespace StellaOps.Cli.Services;
///
/// Client for Notify API operations.
/// Per CLI-PARITY-41-002.
///
internal interface INotifyClient
{
///
/// Lists notification channels.
///
Task ListChannelsAsync(
NotifyChannelListRequest request,
CancellationToken cancellationToken);
///
/// Gets a notification channel by ID.
///
Task GetChannelAsync(
string channelId,
string? tenant,
CancellationToken cancellationToken);
///
/// Tests a notification channel.
///
Task TestChannelAsync(
NotifyChannelTestRequest request,
CancellationToken cancellationToken);
///
/// Lists notification rules.
///
Task ListRulesAsync(
NotifyRuleListRequest request,
CancellationToken cancellationToken);
///
/// Lists notification deliveries.
///
Task ListDeliveriesAsync(
NotifyDeliveryListRequest request,
CancellationToken cancellationToken);
///
/// Gets a delivery by ID.
///
Task GetDeliveryAsync(
string deliveryId,
string? tenant,
CancellationToken cancellationToken);
///
/// Retries a failed delivery.
///
Task RetryDeliveryAsync(
NotifyRetryRequest request,
CancellationToken cancellationToken);
///
/// Sends a notification.
///
Task SendAsync(
NotifySendRequest request,
CancellationToken cancellationToken);
///
/// Simulate rule evaluation.
///
Task SimulateAsync(
NotifySimulationRequest request,
CancellationToken cancellationToken);
///
/// Acknowledge an incident or signed token.
///
Task AckAsync(
NotifyAckRequest request,
CancellationToken cancellationToken);
}