import * as Comlink from 'comlink'; import { ViewRenderingOptions } from '../types/rendering'; export declare abstract class AbstractViewManager { protected _targetNode: HTMLElement; private _iframeElement?; /** 经过comlink包装的window,含有 postMessage 和 start方法 */ private _endpoint?; /** 经过comlink代理的window对象 */ protected _remote?: Comlink.Remote; _options: S; constructor(_targetNode: HTMLElement, options: S); /** * 销毁当前iframe */ destroy(): void; get iframe(): HTMLIFrameElement | undefined; /** * 暴露一个命名方法,其他window对象在获取元素后可以直接调用此方法 */ exposeFunction(funcName: string, func?: Function): void; postMessage?(): void; /** * 返回当前视图的 URL Path */ getViewPath?(): string; /** * 返回当前视图的 URL SearchParams */ getViewSearchParams?(): Record | null; /** * 创建一个渲染应用页面的 IFrame */ private _createIframe; /** 外部自定义生成URL方法 */ abstract generateIframeURL?(options?: S): string; /** * 返回当前视图的 URL Origin */ _getIFrameOrigin(): string; }