using UniVerse.Application.DTOs.Notifications;

namespace UniVerse.Application.Interfaces;

public interface INotificationScheduler
{
    Task<ScheduledNotificationResponse> ScheduleAsync(
        NotificationMessage message,
        DateTimeOffset sendAt,
        string? jobId = null,
        CancellationToken cancellationToken = default);

    Task CancelAsync(string jobId, CancellationToken cancellationToken = default);
}
