import { IContainerConfig, IfIocComponent, IfIocContainer, IScopedComponentStorage } from '../../definitions'; import { ComponentScope } from '../../enums'; import { ComponentIdentity } from '../../utils/componentidentity'; export default class Container implements IfIocContainer { private componentsStore; private defaultComponentScope; constructor(config?: IContainerConfig); get defaultScope(): ComponentScope; set defaultScope(scope: ComponentScope); get components(): Array; getComponentDetails(id: ComponentIdentity): IfIocComponent; getComponent(id: ComponentIdentity, scopedStorages?: Array): any; addComponent(component: IfIocComponent): boolean; initialize(aComponents?: Array): Promise>; cleanup(): Promise; has(id: ComponentIdentity): boolean; }