import type { Embedded } from '@lcap/nasl-types'; import { TranslatorGenerator } from '@lcap/nasl-translator'; import type Module from './Module__'; import * as types from './utils/types'; import BaseNode from '../common/BaseNode'; import type TypeAnnotation from './TypeAnnotation__'; import type AbstractValidation from './AbstractValidation__'; /** * 元数据类型 */ export declare class MetadataType extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'MetadataType'; /** * 名称 */ name: string; /** * 标题 */ label: string; /** * 描述 */ description?: string; /** * 类型 */ typeAnnotation: TypeAnnotation; /** * 验证规则 */ rules: Array; /** * 草稿态 */ playground: Array; /** * 唯一标识 */ uuid?: string; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): MetadataType; getAbstractValidationExistingNames(excludedList?: Array): string[]; getAbstractValidationUniqueName(name?: string): string; /** * 插入验证 * @internal * @param name 验证名称,如果不填会自动生成一个唯一名称 */ _insertAbstractValidationAt(name: string, index: number): types.AbstractValidationNode; /** * 插入验证 * @internal * @param abstractValidationOptions 验证参数 */ _insertAbstractValidationAt(abstractValidationOptions: Partial, index: number): types.AbstractValidationNode; /** * 插入验证 * @internal * @param abstractValidation 已有的验证实例 */ _insertAbstractValidationAt(abstractValidation: types.AbstractValidationNode, index: number): types.AbstractValidationNode; /** * 插入验证 * @param name 验证名称,如果不填会自动生成一个唯一名称 */ insertAbstractValidationAt(name: string, index: number): types.AbstractValidationNode; /** * 插入验证 * @param abstractValidationOptions 验证参数 */ insertAbstractValidationAt(abstractValidationOptions: Partial, index: number): types.AbstractValidationNode; /** * 插入验证 * @param abstractValidation 已有的验证实例 */ insertAbstractValidationAt(abstractValidation: types.AbstractValidationNode, index: number): types.AbstractValidationNode; /** * 添加验证 * @internal * @param name 验证名称,如果不填会自动生成一个唯一名称 */ _addAbstractValidation(name?: string): types.AbstractValidationNode; /** * 添加验证 * @internal * @param abstractValidationOptions 验证参数 */ _addAbstractValidation(abstractValidationOptions: Partial): types.AbstractValidationNode; /** * 添加验证 * @internal * @param abstractValidation 已有的验证实例 */ _addAbstractValidation(abstractValidation: types.AbstractValidationNode): types.AbstractValidationNode; /** * 添加验证 * @internal * @param name 验证名称,如果不填会自动生成一个唯一名称 */ addAbstractValidation(name?: string): types.AbstractValidationNode; /** * 添加验证 * @param abstractValidationOptions 验证参数 */ addAbstractValidation(abstractValidationOptions: Partial): types.AbstractValidationNode; /** * 添加验证 * @param abstractValidation 已有的验证实例 */ addAbstractValidation(abstractValidation: types.AbstractValidationNode): types.AbstractValidationNode; /** * 插入逻辑项 * @internal * @param logicItemOptions 逻辑项参数 */ _insertItemAt(logicItemOptions: Partial, index: number): types.LogicItemNode; /** * 插入逻辑项 * @internal * @param logicItem 已有的逻辑项实例 */ _insertItemAt(logicItem: types.LogicItemNode, index: number): types.LogicItemNode; /** * 插入逻辑项 * @param logicItemOptions 逻辑项参数 */ insertItemAt(logicItemOptions: Partial, index: number): types.LogicItemNode; /** * 插入逻辑项 * @param logicItem 已有的逻辑项实例 */ insertItemAt(logicItem: types.LogicItemNode, index: number): types.LogicItemNode; /** * 添加逻辑项 * @internal * @param logicItemOptions 逻辑项参数 */ _addItem(logicItemOptions: Partial): types.LogicItemNode; /** * 添加逻辑项 * @internal * @param logicItem 已有的逻辑项实例 */ _addItem(logicItem: types.LogicItemNode): types.LogicItemNode; /** * 添加逻辑项 * @param logicItemOptions 逻辑项参数 */ addItem(logicItemOptions: Partial): types.LogicItemNode; /** * 添加逻辑项 * @param logicItem 已有的逻辑项实例 */ addItem(logicItem: types.LogicItemNode): types.LogicItemNode; /** * 删除验证 * @param name 验证名称 */ removeAbstractValidation(name: string): void; /** * 删除验证 * @param abstractValidation 已有的验证实例 */ removeAbstractValidation(abstractValidation: types.AbstractValidationNode): void; /** * 删除逻辑项 * @param logicItem 已有的逻辑项实例 */ removeItem(logicItem: types.LogicItemNode): void; /** * 祖先 Module */ get module(): Module; /** * 是否可编辑 * */ get readonly(): boolean; /** * 是否为系统内置元数据 */ get isSystemMeta(): boolean; deleteLogincAndModule(): void; /** * 设置元数据名称 */ setName(name: string): void; /** * 设置元数据标题 */ setLabel(label: string): void; /** * 设置元数据描述 */ setDescription(description: string): void; toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; getNamespace(): string; getTsNamespace(): string; /** * 生成宿主语言的文件路径 * @param name 一般不用传,用于 rename */ getEmbeddedFilePath(name?: string): string; toEmbeddedTSFile(): Embedded.TSFileGenerator; toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; } export default MetadataType; //# sourceMappingURL=MetadataType__.d.ts.map