using System.Collections.Generic;
namespace Tapeti.Config
{
///
/// A bundling mechanism for Tapeti extension packages. Allows the calling application to
/// pass all the necessary components to TapetiConfig.Use in one call.
///
public interface ITapetiExtension
{
///
/// Allows the extension to register default implementations into the IoC container.
///
///
void RegisterDefaults(IDependencyContainer container);
///
/// Produces a list of middleware implementations to be passed to the TapetiConfig.Use method.
///
///
/// A list of middleware implementations or null if no middleware needs to be registered
IEnumerable