import BaseNode from '../common/BaseNode'; import type TypeParam from './TypeParam__'; import type Param from './Param__'; import type Return from './Return__'; /** * 逻辑声明 */ export declare class LogicDeclaration extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'LogicDeclaration'; /** * 逻辑名称 */ name: string; /** * 逻辑标题 */ title: string; /** * 逻辑描述 */ description: string; /** * 类型参数列表 */ typeParams?: Array; /** * 输入参数列表 */ params: Array; /** * 输出参数列表 */ returns: Array; /** * 是否同步执行 */ sync?: boolean; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): LogicDeclaration; /** * 设置是否同步执行 */ setSync(sync: boolean): void; getTypeParamExistingNames(excludedList?: Array): string[]; getTypeParamUniqueName(name?: string): string; /** * 插入类型参数 * @internal * @param name 类型参数名称,如果不填会自动生成一个唯一名称 */ _insertTypeParamAt(name: string, index: number): TypeParam; /** * 插入类型参数 * @internal * @param typeParamOptions 类型参数参数 */ _insertTypeParamAt(typeParamOptions: Partial, index: number): TypeParam; /** * 插入类型参数 * @internal * @param typeParam 已有的类型参数实例 */ _insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam; /** * 插入类型参数 * @param name 类型参数名称,如果不填会自动生成一个唯一名称 */ insertTypeParamAt(name: string, index: number): TypeParam; /** * 插入类型参数 * @param typeParamOptions 类型参数参数 */ insertTypeParamAt(typeParamOptions: Partial, index: number): TypeParam; /** * 插入类型参数 * @param typeParam 已有的类型参数实例 */ insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam; /** * 添加类型参数 * @internal * @param name 类型参数名称,如果不填会自动生成一个唯一名称 */ _addTypeParam(name?: string): TypeParam; /** * 添加类型参数 * @internal * @param typeParamOptions 类型参数参数 */ _addTypeParam(typeParamOptions: Partial): TypeParam; /** * 添加类型参数 * @internal * @param typeParam 已有的类型参数实例 */ _addTypeParam(typeParam: TypeParam): TypeParam; /** * 添加类型参数 * @internal * @param name 类型参数名称,如果不填会自动生成一个唯一名称 */ addTypeParam(name?: string): TypeParam; /** * 添加类型参数 * @param typeParamOptions 类型参数参数 */ addTypeParam(typeParamOptions: Partial): TypeParam; /** * 添加类型参数 * @param typeParam 已有的类型参数实例 */ addTypeParam(typeParam: TypeParam): TypeParam; getParamExistingNames(excludedList?: Array): string[]; getParamUniqueName(name?: string): string; /** * 插入输入参数 * @internal * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ _insertParamAt(name: string, index: number): Param; /** * 插入输入参数 * @internal * @param paramOptions 输入参数参数 */ _insertParamAt(paramOptions: Partial, index: number): Param; /** * 插入输入参数 * @internal * @param param 已有的输入参数实例 */ _insertParamAt(param: Param, index: number): Param; /** * 插入输入参数 * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ insertParamAt(name: string, index: number): Param; /** * 插入输入参数 * @param paramOptions 输入参数参数 */ insertParamAt(paramOptions: Partial, index: number): Param; /** * 插入输入参数 * @param param 已有的输入参数实例 */ insertParamAt(param: Param, index: number): Param; /** * 添加输入参数 * @internal * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ _addParam(name?: string): Param; /** * 添加输入参数 * @internal * @param paramOptions 输入参数参数 */ _addParam(paramOptions: Partial): Param; /** * 添加输入参数 * @internal * @param param 已有的输入参数实例 */ _addParam(param: Param): Param; /** * 添加输入参数 * @internal * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ addParam(name?: string): Param; /** * 添加输入参数 * @param paramOptions 输入参数参数 */ addParam(paramOptions: Partial): Param; /** * 添加输入参数 * @param param 已有的输入参数实例 */ addParam(param: Param): Param; getReturnExistingNames(excludedList?: Array): string[]; getReturnUniqueName(name?: string): string; /** * 插入输出参数 * @internal * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ _insertReturnAt(name: string, index: number): Return; /** * 插入输出参数 * @internal * @param retOptions 输出参数参数 */ _insertReturnAt(retOptions: Partial, index: number): Return; /** * 插入输出参数 * @internal * @param ret 已有的输出参数实例 */ _insertReturnAt(ret: Return, index: number): Return; /** * 插入输出参数 * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ insertReturnAt(name: string, index: number): Return; /** * 插入输出参数 * @param retOptions 输出参数参数 */ insertReturnAt(retOptions: Partial, index: number): Return; /** * 插入输出参数 * @param ret 已有的输出参数实例 */ insertReturnAt(ret: Return, index: number): Return; /** * 添加输出参数 * @internal * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ _addReturn(name?: string): Return; /** * 添加输出参数 * @internal * @param retOptions 输出参数参数 */ _addReturn(retOptions: Partial): Return; /** * 添加输出参数 * @internal * @param ret 已有的输出参数实例 */ _addReturn(ret: Return): Return; /** * 添加输出参数 * @internal * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ addReturn(name?: string): Return; /** * 添加输出参数 * @param retOptions 输出参数参数 */ addReturn(retOptions: Partial): Return; /** * 添加输出参数 * @param ret 已有的输出参数实例 */ addReturn(ret: Return): Return; /** * 删除类型参数 * @param name 类型参数名称 */ removeTypeParam(name: string): void; /** * 删除类型参数 * @param typeParam 已有的类型参数实例 */ removeTypeParam(typeParam: TypeParam): void; /** * 删除输入参数 * @param name 输入参数名称 */ removeParam(name: string): void; /** * 删除输入参数 * @param param 已有的输入参数实例 */ removeParam(param: Param): void; /** * 删除输出参数 * @param name 输出参数名称 */ removeReturn(name: string): void; /** * 删除输出参数 * @param ret 已有的输出参数实例 */ removeReturn(ret: Return): void; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; } export default LogicDeclaration; //# sourceMappingURL=LogicDeclaration__.d.ts.map