import { FunctionPropertyNames } from "../../types/store/store"; import Store from "../store/store"; import EventEmitter from "../eventEmitter"; import Component from "./component"; declare type ComponentConstructor = new ({ store, eventBus, }: { store: Store; eventBus: EventEmitter; }) => Component; export default class ComponentManager { components: Component[]; store: Store; eventBus: EventEmitter; constructor({ store, eventBus }: { store: Store; eventBus: EventEmitter; }); add(ComponentCtor: ComponentConstructor, initialParam?: any): void; remove(ComponentCtor: ComponentConstructor): void; clear(): void; invoke(method: FunctionPropertyNames, params: any): void; forEach(iteratee: (component: Component, index: number) => void): void; } export {};