import type { Embedded } from '@lcap/nasl-types'; import { TranslatorGenerator } from '@lcap/nasl-translator'; import { AssetsInfo } from './App__'; import BaseNode from '../common/BaseNode'; import type Frontend from './Frontend__'; import type BusinessComponent from './BusinessComponent__'; import type Module from './Module__'; import type Directory from './Directory__'; /** * 端类型 */ export declare class FrontendType extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'FrontendType'; /** * 名称与type保持一致 */ name: 'pc' | 'h5'; /** * PC/H5 端 */ kind: 'pc' | 'h5'; /** * 前端列表 */ frontends: Array; /** * 业务组件列表 */ businessComponents: Array; /** * 扩展组件列表(兼容老版) */ componentDependencies: Array; /** * 框架语言标识 */ frameworkKind: 'vue2' | 'react' | 'vue3'; /** * UI库 */ frameworkUI: string; /** * 组件面板配置 */ componentPanelSetting?: string; /** * 文件夹列表 */ directories: Array; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): FrontendType; getFrontendExistingNames(excludedList?: Array): string[]; getFrontendUniqueName(name?: string): string; /** * 插入前端 * @internal * @param name 前端名称,如果不填会自动生成一个唯一名称 */ _insertFrontendAt(name: string, index: number): Frontend; /** * 插入前端 * @internal * @param frontendOptions 前端参数 */ _insertFrontendAt(frontendOptions: Partial, index: number): Frontend; /** * 插入前端 * @internal * @param frontend 已有的前端实例 */ _insertFrontendAt(frontend: Frontend, index: number): Frontend; /** * 插入前端 * @param name 前端名称,如果不填会自动生成一个唯一名称 */ insertFrontendAt(name: string, index: number): Frontend; /** * 插入前端 * @param frontendOptions 前端参数 */ insertFrontendAt(frontendOptions: Partial, index: number): Frontend; /** * 插入前端 * @param frontend 已有的前端实例 */ insertFrontendAt(frontend: Frontend, index: number): Frontend; /** * 添加前端 * @internal * @param name 前端名称,如果不填会自动生成一个唯一名称 */ _addFrontend(name?: string): Frontend; /** * 添加前端 * @internal * @param frontendOptions 前端参数 */ _addFrontend(frontendOptions: Partial): Frontend; /** * 添加前端 * @internal * @param frontend 已有的前端实例 */ _addFrontend(frontend: Frontend): Frontend; /** * 添加前端 * @internal * @param name 前端名称,如果不填会自动生成一个唯一名称 */ addFrontend(name?: string): Frontend; /** * 添加前端 * @param frontendOptions 前端参数 */ addFrontend(frontendOptions: Partial): Frontend; /** * 添加前端 * @param frontend 已有的前端实例 */ addFrontend(frontend: Frontend): Frontend; getBusinessComponentExistingNames(excludedList?: Array): string[]; getBusinessComponentUniqueName(name?: string): string; /** * 插入业务组件 * @internal * @param name 业务组件名称,如果不填会自动生成一个唯一名称 */ _insertBusinessComponentAt(name: string, index: number): BusinessComponent; /** * 插入业务组件 * @internal * @param componentOptions 业务组件参数 */ _insertBusinessComponentAt(componentOptions: Partial, index: number): BusinessComponent; /** * 插入业务组件 * @internal * @param component 已有的业务组件实例 */ _insertBusinessComponentAt(component: BusinessComponent, index: number): BusinessComponent; /** * 插入业务组件 * @param name 业务组件名称,如果不填会自动生成一个唯一名称 */ insertBusinessComponentAt(name: string, index: number): BusinessComponent; /** * 插入业务组件 * @param componentOptions 业务组件参数 */ insertBusinessComponentAt(componentOptions: Partial, index: number): BusinessComponent; /** * 插入业务组件 * @param component 已有的业务组件实例 */ insertBusinessComponentAt(component: BusinessComponent, index: number): BusinessComponent; /** * 添加业务组件 * @internal * @param name 业务组件名称,如果不填会自动生成一个唯一名称 */ _addBusinessComponent(name?: string): BusinessComponent; /** * 添加业务组件 * @internal * @param componentOptions 业务组件参数 */ _addBusinessComponent(componentOptions: Partial): BusinessComponent; /** * 添加业务组件 * @internal * @param component 已有的业务组件实例 */ _addBusinessComponent(component: BusinessComponent): BusinessComponent; /** * 添加业务组件 * @internal * @param name 业务组件名称,如果不填会自动生成一个唯一名称 */ addBusinessComponent(name?: string): BusinessComponent; /** * 添加业务组件 * @param componentOptions 业务组件参数 */ addBusinessComponent(componentOptions: Partial): BusinessComponent; /** * 添加业务组件 * @param component 已有的业务组件实例 */ addBusinessComponent(component: BusinessComponent): BusinessComponent; getModuleExistingNames(excludedList?: Array): string[]; getModuleUniqueName(name?: string): string; /** * 插入模块 * @internal * @param name 模块名称,如果不填会自动生成一个唯一名称 */ _insertModuleAt(name: string, index: number): Module; /** * 插入模块 * @internal * @param moduleOptions 模块参数 */ _insertModuleAt(moduleOptions: Partial, index: number): Module; /** * 插入模块 * @internal * @param module 已有的模块实例 */ _insertModuleAt(module: Module, index: number): Module; /** * 插入模块 * @param name 模块名称,如果不填会自动生成一个唯一名称 */ insertModuleAt(name: string, index: number): Module; /** * 插入模块 * @param moduleOptions 模块参数 */ insertModuleAt(moduleOptions: Partial, index: number): Module; /** * 插入模块 * @param module 已有的模块实例 */ insertModuleAt(module: Module, index: number): Module; /** * 添加模块 * @internal * @param name 模块名称,如果不填会自动生成一个唯一名称 */ _addModule(name?: string): Module; /** * 添加模块 * @internal * @param moduleOptions 模块参数 */ _addModule(moduleOptions: Partial): Module; /** * 添加模块 * @internal * @param module 已有的模块实例 */ _addModule(module: Module): Module; /** * 添加模块 * @internal * @param name 模块名称,如果不填会自动生成一个唯一名称 */ addModule(name?: string): Module; /** * 添加模块 * @param moduleOptions 模块参数 */ addModule(moduleOptions: Partial): Module; /** * 添加模块 * @param module 已有的模块实例 */ addModule(module: Module): Module; getDirectoryExistingNames(excludedList?: Array): string[]; getDirectoryUniqueName(name?: string): string; /** * 插入文件夹 * @internal * @param name 文件夹名称,如果不填会自动生成一个唯一名称 */ _insertDirectoryAt(name: string, index: number): Directory; /** * 插入文件夹 * @internal * @param directoryOptions 文件夹参数 */ _insertDirectoryAt(directoryOptions: Partial, index: number): Directory; /** * 插入文件夹 * @internal * @param directory 已有的文件夹实例 */ _insertDirectoryAt(directory: Directory, index: number): Directory; /** * 插入文件夹 * @param name 文件夹名称,如果不填会自动生成一个唯一名称 */ insertDirectoryAt(name: string, index: number): Directory; /** * 插入文件夹 * @param directoryOptions 文件夹参数 */ insertDirectoryAt(directoryOptions: Partial, index: number): Directory; /** * 插入文件夹 * @param directory 已有的文件夹实例 */ insertDirectoryAt(directory: Directory, index: number): Directory; /** * 添加文件夹 * @internal * @param name 文件夹名称,如果不填会自动生成一个唯一名称 */ _addDirectory(name?: string): Directory; /** * 添加文件夹 * @internal * @param directoryOptions 文件夹参数 */ _addDirectory(directoryOptions: Partial): Directory; /** * 添加文件夹 * @internal * @param directory 已有的文件夹实例 */ _addDirectory(directory: Directory): Directory; /** * 添加文件夹 * @internal * @param name 文件夹名称,如果不填会自动生成一个唯一名称 */ addDirectory(name?: string): Directory; /** * 添加文件夹 * @param directoryOptions 文件夹参数 */ addDirectory(directoryOptions: Partial): Directory; /** * 添加文件夹 * @param directory 已有的文件夹实例 */ addDirectory(directory: Directory): Directory; /** * 删除前端 * @param name 前端名称 */ removeFrontend(name: string): void; /** * 删除前端 * @param frontend 已有的前端实例 */ removeFrontend(frontend: Frontend): void; /** * 删除业务组件 * @param name 业务组件名称 */ removeBusinessComponent(name: string): void; /** * 删除业务组件 * @param component 已有的业务组件实例 */ removeBusinessComponent(component: BusinessComponent): void; /** * 删除模块 * @param name 模块名称 */ removeModule(name: string): void; /** * 删除模块 * @param module 已有的模块实例 */ removeModule(module: Module): void; /** * 删除文件夹 * @param name 文件夹名称 */ removeDirectory(name: string): void; /** * 删除文件夹 * @param directory 已有的文件夹实例 */ removeDirectory(directory: Directory): void; getNamespace(): string; getFrameworkUI(): string; /** * 生成宿主语言的文件路径 * @param name 一般不用传,用于 rename */ getEmbeddedFilePath(name?: "pc" | "h5"): string; toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; toEmbeddedTSFile(): Embedded.TSFileGenerator; toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult; /** * 获取业务组件的默认配置 * @returns */ getBusinessComponentOptions(): any; addFrontendForType(options?: string | Partial | Frontend): Frontend; findComponentDependencyByName(name: string): Module; genCustomAssetsInfo(prefix: string): AssetsInfo; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; getBusinessComponentTree(): { items: BusinessComponent[]; directories: Directory[]; }; /** * 多人协作,放置文件夹数据 */ _virtualNode?: object; } export default FrontendType; //# sourceMappingURL=FrontendType__.d.ts.map