import { NgModuleRef } from "@angular/core";
export interface ComponentData {
    component: any;
    moduleRef: NgModuleRef<any>;
}
export interface ModuleData {
    moduleName: string;
    modulePath: string;
}
/**
 * Manages the list of components in a project, and the project title
 */
export declare class ComponentListMagicService {
    /**
     * Map of project components
     */
    components: Map<string, ComponentData>;
    /**
     * Map of project dialogs
     */
    dialogs: Map<string, any>;
    lazyLoadModulesMap: any;
    getData(name: string, mustHaveData: boolean): ComponentData;
    /**
     * Return a component according to name
     * @param name Name of requested component
     * @returns The requested component
     */
    getComponent(name: string): any;
    addComponents(componentList: any, modulRef?: NgModuleRef<any>): void;
    /**
    * Return a component according to name
    * @param name Name of requested component
    * @returns The requested component
    */
    getModuleRef(name: string): NgModuleRef<any>;
    /**
     * Return the lazy load module details of the specified component
     * @param name: Name of requested component
     * @returns: lazy load module details
     */
    getLazyLoadModuleData(name: string): ModuleData;
    /**
       * Project title
       */
    title: string;
}
