using Connected;
namespace Common.Numbering;
///
/// Provides middleware for providing a numbering algorithm.
///
public interface INumberingProvider : IMiddleware
{
///
/// Creates a new value based on the specified arguments.
///
/// The arguments providing information about the entity for which
/// value need to be provided.
/// A new value if the numbering is supported by the middleware, null otherwise.
Task Invoke(NumberingCalculateArgs args);
}