export type JSONValue = string | number | boolean | { [x: string]: JSONValue; } | Array; export interface JSONObject { [name: string]: JSONValue; } export interface ContainerNode { getId(): string; } export declare class NodeBase implements ContainerNode { protected id: string; protected container: IContainer; protected config: JSONObject; constructor(id: string, container: IContainer, config: JSONObject); getId(): string; } export interface IContainer { getInstance(id: string): NodeBase; getInstances(): ReadonlyArray; getNodeNames(): ReadonlyArray; createInstance(id: string, type: string, config: JSONObject): NodeBase | null; } export declare function ContainerNode(originalClass: typeof NodeBase, context: ClassDecoratorContext): void; export declare function bootstrap(additionalNodePaths: string[], initFunction: (container: IContainer) => void): Promise; //# sourceMappingURL=Container.d.ts.map