#region License
// /*
// See license included in this library folder.
// */
#endregion
#region Using Directives
using System;
using System.Collections.Generic;
using Transformalize.Libs.Ninject.Components;
using Transformalize.Libs.Ninject.Infrastructure;
#endregion
namespace Transformalize.Libs.Ninject.Planning.Bindings.Resolvers
{
/// <summary>
/// Contains logic about which bindings to use for a given service request.
/// </summary>
public interface IBindingResolver : INinjectComponent
{
/// <summary>
/// Returns any bindings from the specified collection that match the specified service.
/// </summary>
/// <param name="bindings">The multimap of all registered bindings.</param>
/// <param name="service">The service in question.</param>
/// <returns>The series of matching bindings.</returns>
IEnumerable<IBinding> Resolve(Multimap<Type, IBinding> bindings, Type service);
}
}