Guice service provider interface
| BindingScopingVisitor<V> | Visits each of the strategies used to scope an injection. | 
| BindingTargetVisitor<T, V> | Visits each of the strategies used to find an instance to satisfy an injection. | 
| ConstructorBinding<T> | A binding to the constructor of a concrete clss. | 
| ConvertedConstantBinding<T> | A binding created from converting a bound instance to a new type. | 
| Element | A core component of a module or injector. | 
| ElementVisitor<V> | Visit elements. | 
| ExposedBinding<T> | A binding to a key exposed from an enclosed private environment. | 
| HasDependencies | Implemented by bindings, providers and instances that expose their dependencies explicitly.  | 
          
| InjectionListener<I> | Listens for injections into instances of type I.  | 
          
| InstanceBinding<T> | A binding to a single instance. | 
| LinkedKeyBinding<T> | A binding to a linked key. | 
| PrivateElements | A private collection of elements that are hidden from the enclosing injector or module by default. | 
| ProviderBinding<T extends Provider<?>> | A binding to a Provider that delegates to the binding for the provided type.  | 
          
| ProviderInstanceBinding<T> | A binding to a provider instance. | 
| ProviderKeyBinding<T> | A binding to a provider key. | 
| ProviderWithDependencies<T> | A provider with dependencies on other injected types. | 
| ProviderWithExtensionVisitor<T> | A Provider that is part of an extension which supports a custom BindingTargetVisitor. | 
| TypeConverter | Converts constant string values to a different type. | 
| TypeEncounter<I> | Context of an injectable type encounter. | 
| TypeListener | Listens for Guice to encounter injectable types. | 
| UntargettedBinding<T> | An untargetted binding. | 
| DefaultBindingScopingVisitor<V> | No-op visitor for subclassing. | 
| DefaultBindingTargetVisitor<T, V> | No-op visitor for subclassing. | 
| DefaultElementVisitor<V> | No-op visitor for subclassing. | 
| Dependency<T> | A variable that can be resolved by an injector. | 
| DisableCircularProxiesOption | A request to disable circular proxies. | 
| Elements | Exposes elements of a module so they can be inspected, validated or rewritten.  | 
          
| InjectionPoint | A constructor, field or method that can receive injections. | 
| InjectionRequest<T> | A request to inject the instance fields and methods of an instance. | 
| InterceptorBinding | Registration of interceptors for matching methods of matching classes. | 
| MembersInjectorLookup<T> | A lookup of the members injector for a type. | 
| Message | An error message and the context in which it occured. | 
| ProviderLookup<T> | A lookup of the provider for a type. | 
| RequireExplicitBindingsOption | A request to require explicit bindings. | 
| ScopeBinding | Registration of a scope annotation with the scope that implements it. | 
| StaticInjectionRequest | A request to inject the static fields and methods of a type. | 
| TypeConverterBinding | Registration of type converters for matching target types. | 
| TypeListenerBinding | Binds types (picked using a Matcher) to an type listener. |