import { SandBox } from './proxy/sandBox';
import { MustardApp } from './element';
import { MustardState } from './proxy/proxyHistory';
import { IAppConstructor, IAppStatus, MustardName, MustardURL, SpurceValue } from './typings';
import { EventCenterMicorLife } from './communication';
export default class App {
    baseUrl: MustardURL;
    url: MustardURL;
    name: MustardName;
    container: MustardApp;
    sandbox: SandBox;
    loadCount: number;
    status: IAppStatus;
    state: MustardState;
    microLifeCenter: EventCenterMicorLife;
    source: {
        links: Map<string, SpurceValue>;
        scripts: Map<string, SpurceValue>;
        domClick: string;
    };
    constructor({ name, url: baseUrl, container }: IAppConstructor);
    reload(): void;
    init(): void;
    onLoad(htmlDom: HTMLElement): void;
    /**
     * 资源加载完成后进行渲染
     */
    mount(html: HTMLElement): void;
    /**
     * 卸载应用
     * 执行关闭沙箱，清空缓存等操作
     * @param destory 是否销毁应用
     */
    unmount(destory: boolean): void;
    /**
     * 销毁应用
     */
    destory(): void;
    /**
     * 子应用加载失败
     * @param error 失败原因
     */
    error(error: Error): void;
}
