using System; using Tapeti.Config; namespace Tapeti { public interface IDependencyResolver { T Resolve() where T : class; object Resolve(Type type); } public interface IDependencyContainer : IDependencyResolver { void RegisterDefault() where TService : class where TImplementation : class, TService; void RegisterPublisher(Func publisher); void RegisterConfig(IConfig config); void RegisterController(Type type); } }