import ConstructorReference from './ConstructorReference';
import DependencyResolverModule from './DependencyResolverModule';
export default abstract class DependencyResolver {
    private modules;
    private moduleNames;
    private instances;
    private activeInstantiations;
    private registrations;
    private configurationProvider;
    private postResolvables;
    constructor();
    build(): void;
    manualInject(instance: any): void;
    protected abstract registerModules(): void;
    protected registerModule<T extends DependencyResolverModule>(constructor: ConstructorReference<T>): void;
    private validatePaths;
    private buildRegistrations;
    private instantiateFromRegistrations;
    private resolveRegistration;
    private getInstance;
    private getOrCreateInstance;
    private createInstance;
    private createInstanceWithParams;
    private resolveParams;
    private resolveDependencyName;
    private getMatchingRegistrations;
    private callPostResolvables;
}
