import { InitHandle } from '@dp/kura'; export interface BaseOptions { list?: string; create?: string; edit?: string; draft?: string; report?: string; common?: string; } export type StyleEncapsulation = 'styleGC' | 'shadowDOM' | 'scopedCSS' | 'singletonShadowDOM' | 'none'; export declare type RulesObject = Record; export interface InitOptions { /** * 微前端资源链接 */ remote: string; /** * 主项目的路由前缀,用于进行主项目和微前端应用间进行路由映射,可以以字符串的形式传入单个base,也支持以数组的形式传入多个base */ base: string | string[]; /** * 依赖的AB网站源地址,非必填。默认为火山地址,主要用于私有化环境的配置,比如 'https://tester.datarangers-onpremise.volces.com' */ source?: string; /** * 样式隔离策略,共有"styleGC"、"scopedCSS"、"shadowDOM"三种策略,默认为"styleGC"。也可以配置null来关闭样式隔离 */ styleEncapsulation?: StyleEncapsulation; /** * 开启时,开启浏览器内存记录history,不会影响到宿主URL,但网页也无法保存子应用的状态,默认为关闭 */ memoryHistory?: boolean; /** * mapping 是一个对象,左边的 key 代表主应用的路径表达式,右边的 value 代表子应用的路径表达式。规则的匹配顺序按照 Object.keys 的顺序进行,当路由命中时后面的规则将不生效。 * 注意:如果配置了mapping,则会按照mapping的配置进行路由映射,而不会按照base进行路由映射。 */ mapping?: Partial; /** * 手动传递systemjs地址,如不传或者传true则使用默认值,传递false直接屏蔽systemjs注入。 */ systemjs?: string | boolean; /** * 客户接入AB服务的环境类型,包括火山云和私有化,default 不做任何处理,volc 代表火山云环境,private 代表私有化环境。 * 支持的值有:"default" | "volc" | "private" * 默认为 "default"。 */ environment?: 'default' | 'volc' | 'private'; sandboxProps?: Record; } export declare const opInit: (options: InitOptions) => void; export declare let initHandle: InitHandle | undefined;