import { IAnyInstanceType, IClassOf, IDisposable } from "../core/types";
import { ServiceDescription } from "./ServiceCollection";
export declare class ServiceProvider implements IDisposable {
    parent: ServiceProvider;
    private static mappedTypes;
    private instances;
    get global(): ServiceProvider;
    protected constructor(parent: ServiceProvider);
    get<T>(key: IClassOf<T>): T;
    put(key: any, value: any): void;
    resolve<T>(key: T, create?: boolean, defValue?: IAnyInstanceType<T>): IAnyInstanceType<T>;
    getValue(sd: ServiceDescription): any;
    newScope(): ServiceProvider;
    dispose(): void;
    private create;
}
//# sourceMappingURL=ServiceProvider.d.ts.map