namespace Ds.Module.MediatR { public interface IDistrbutedEventBus { Task PublishAsync(string name, T? contentObj, string? callbackName = null, CancellationToken cancellationToken = default) where T : IIntegrationEvent; Task PublishAsync(string name, T? contentObj, IDictionary headers, CancellationToken cancellationToken = default) where T : IIntegrationEvent; void Publish(string name, T? contentObj, string? callbackName = null) where T : IIntegrationEvent; void Publish(string name, T? contentObj, IDictionary headers) where T : IIntegrationEvent; Task PublishDelayAsync(TimeSpan delayTime, string name, T? contentObj, IDictionary headers, CancellationToken cancellationToken = default) where T : IIntegrationEvent; Task PublishDelayAsync(TimeSpan delayTime, string name, T? contentObj, string? callbackName = null, CancellationToken cancellationToken = default) where T : IIntegrationEvent; void PublishDelay(TimeSpan delayTime, string name, T? contentObj, IDictionary headers) where T : IIntegrationEvent; void PublishDelay(TimeSpan delayTime, string name, T? contentObj, string? callbackName = null) where T : IIntegrationEvent; } }