import "reflect-metadata";
import { Provider, Token } from "./provider";
export declare class Container {
    providers: any;
    singletonInstances: any;
    replacedProviders: any;
    constructor();
    clear(): void;
    addProvider<T>(provider: Provider<T>): void;
    inject<T>(type: Token<T>): T;
    private injectWithProvider;
    private assertInjectableIfClassProvider;
    private injectClass;
    private injectSingleton;
    private injectValue;
    private injectFactory;
    private getInjectedParams;
    private getTokenName;
}
