using System;
using System.Reflection;
using Tapeti.Config;
namespace Tapeti.Flow
{
///
/// Provides information about the handler for the flow.
///
public interface IFlowHandlerContext : IDisposable
{
///
/// Provides access to the Tapeti config.
///
ITapetiConfig Config { get; }
///
/// An instance of the controller which starts or continues the flow.
///
object? Controller { get; }
///
/// Information about the method which starts or continues the flow.
///
MethodInfo Method { get; }
///
/// Access to the message context if this is a continuated flow.
/// Will be null when in a starting flow.
///
IMessageContext? MessageContext { get; }
}
}