import { Injector } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; import { AppsLoadingStartEvent, AppStatusChangeEvent } from './star-applicaiton-loader'; import { StarOptions, StarApplication } from './star.class'; export declare class Star { private injector; private router; /** * 获取全局应用加载器 */ private readonly starApplicationLoader; /** * 获取全局应用服务 */ private readonly starApplicationService; /** * 获取是否加载完毕 */ readonly loadingDone: boolean; /** * 获取app状态变化监听 */ readonly appStatusChange: Observable; /** * 获取开始加载应用监听 */ readonly appsLoadingStart: Observable; private subscription; constructor(injector: Injector, router: Router, starApplications: StarApplication[]); /** * 设置额外参数 * @param options 额外参数 */ setOptions(options: Partial): void; /** * 注册app * @param app application */ registerApp(app: StarApplication): void; /** * 注册Applications * @param apps applications */ registerApps(apps: StarApplication[]): void; /** * 注册Applications通过请求 * @param url url */ registerAppsByUrl(url: string): Observable; /** * 取消注册application * @param name application name */ unregisterApp(name: string): void; /** * 获取注册的app列表 */ getApps(): StarApplication[]; /** * 设置全局portal的data * @param data data */ setPortalAppData(data: T): void; /** * 开始监听路由变化,将url发送给routerChange$ * 服务端渲染:应用名称应放入page目录后 http://localhost:8080/pages/star-dust,http://localhost:8080/abc/p/page/star-dust * 开发模式默认 */ start(): void; /** * 取消监听 */ stop(): void; }