IFluentCompositor<TImplementation, TConfigurator>
using System;
using System.Linq.Expressions;
namespace Stashbox.Registration.Fluent
{
internal interface IFluentCompositor<TImplementation, TConfigurator>
{
TConfigurator WithDependencyBinding<TResult>(Expression<Func<TImplementation, TResult>> expression, object dependencyName = null);
TConfigurator WithFinalizer(Action<TImplementation> finalizer);
TConfigurator WithInitializer(Action<TImplementation, IDependencyResolver> initializer);
TConfigurator WithFactory(Func<TImplementation> factory, bool isCompiledLambda = false);
TConfigurator WithFactory(Func<IDependencyResolver, TImplementation> factory, bool isCompiledLambda = false);
TConfigurator WithFactory<T1>(Func<T1, TImplementation> factory, bool isCompiledLambda = false);
TConfigurator WithFactory<T1, T2>(Func<T1, T2, TImplementation> factory, bool isCompiledLambda = false);
TConfigurator WithFactory<T1, T2, T3>(Func<T1, T2, T3, TImplementation> factory, bool isCompiledLambda = false);
TConfigurator WithFactory<T1, T2, T3, T4>(Func<T1, T2, T3, T4, TImplementation> factory, bool isCompiledLambda = false);
TConfigurator WithFactory<T1, T2, T3, T4, T5>(Func<T1, T2, T3, T4, T5, TImplementation> factory, bool isCompiledLambda = false);
}
}