import type { Embedded } from '@lcap/nasl-types'; import { TranslatorGenerator } from '@lcap/nasl-translator'; import type Module from './Module__'; import BaseNode from '../common/BaseNode'; import type EnumItem from './EnumItem__'; import type TypeAnnotation from './TypeAnnotation__'; /** * 枚举 */ export declare class Enum extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'Enum'; /** * 枚举名称 */ name: string; /** * 枚举标题 */ label?: string; /** * 枚举描述 */ description?: string; /** * 枚举值列表 */ enumItems: Array; /** * 类型 */ valueType: TypeAnnotation; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): Enum; /** * 设置枚举名称 */ setName(name: string): void; /** * 设置枚举标题 */ setLabel(label: string): void; /** * 设置枚举描述 */ setDescription(description: string): void; /** * 插入枚举值 * @internal * @param enumItemOptions 枚举值参数 */ _insertEnumItemAt(enumItemOptions: Partial, index: number): EnumItem; /** * 插入枚举值 * @internal * @param enumItem 已有的枚举值实例 */ _insertEnumItemAt(enumItem: EnumItem, index: number): EnumItem; /** * 插入枚举值 * @param enumItemOptions 枚举值参数 */ insertEnumItemAt(enumItemOptions: Partial, index: number): EnumItem; /** * 插入枚举值 * @param enumItem 已有的枚举值实例 */ insertEnumItemAt(enumItem: EnumItem, index: number): EnumItem; /** * 添加枚举值 * @internal * @param enumItemOptions 枚举值参数 */ _addEnumItem(enumItemOptions: Partial): EnumItem; /** * 添加枚举值 * @internal * @param enumItem 已有的枚举值实例 */ _addEnumItem(enumItem: EnumItem): EnumItem; /** * 添加枚举值 * @param enumItemOptions 枚举值参数 */ addEnumItem(enumItemOptions: Partial): EnumItem; /** * 添加枚举值 * @param enumItem 已有的枚举值实例 */ addEnumItem(enumItem: EnumItem): EnumItem; /** * 删除枚举值 * @param enumItem 已有的枚举值实例 */ removeEnumItem(enumItem: EnumItem): void; /** * 祖先 Module */ get module(): Module; get completeName(): string; get directory(): import("./Directory__").Directory; getEnumItemExistingNames(excludedList?: Array): string[]; getEnumItemUniqueName(name?: string): string; static createProtoTypeOnly(source: any, parentNode?: any, parentKey?: string): Enum; toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; _toNaturalTSOld(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; getNamespace(): string; /** * 生成宿主语言的文件路径 * @param name 一般不用传,用于 rename */ getEmbeddedFilePath(name?: string): string; toEmbeddedTSFile(): Embedded.TSFileGenerator; toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult; } export default Enum; //# sourceMappingURL=Enum__.d.ts.map