using Elsa.Workflows.Runtime.Results;
namespace Elsa.Workflows.Runtime;
///
/// Represents a broker for delivering stimuli to activities in a workflow.
///
public interface IStimulusSender
{
///
/// Delivers a stimulus to an activity. This could result in new workflow instances as well as existing workflow instances being resumed.
///
Task SendAsync(string activityTypeName, object stimulus, StimulusMetadata? metadata = null, CancellationToken cancellationToken = default);
///
/// Delivers a stimulus to an activity. This could result in new workflow instances as well as existing workflow instances being resumed.
///
Task SendAsync(string stimulusHash, StimulusMetadata? metadata = null, CancellationToken cancellationToken = default);
}