import "reflect-metadata"; import { Constructor } from "./types"; import { Key } from "./key"; export declare class Container { private readonly storage; private readonly classes; constructor(); get(Service: Constructor): T; register(Service: Constructor, instance?: T): void; load(Service: Constructor): Promise; getMaybePromise(Service: Constructor): T | Promise; getValue(key: Key): T | undefined; setValue(key: Key, value: T): void; removeValue(key: Key): T | undefined; } export declare const globalContainer: Container; export declare function get(Service: Constructor): T; export declare function load(Service: Constructor): Promise; export declare function register(Service: Constructor, instance: T): void; export declare function getValue(key: Key): T | undefined; export declare function setValue(key: Key, value: T): void; export declare function removeValue(key: Key): T | undefined;