import { TranslatorState, TranslatorGenerator } from '@lcap/nasl-translator';
import { ElementToVueOptions } from './ViewElement__';
import type Module from './Module__';
import * as types from './utils/types';
import LogicItem from './LogicItem__';
import type Param from './Param__';
/**
* 匿名函数
*/
export declare class AnonymousFunction extends LogicItem {
/** 类名 */
static readonly ConceptName: string;
/**
* 是否为抽象类
* 抽象类不能产生 concept: string
*/
static isAbstract: boolean;
/** 继承链 */
static readonly inheritanceChain: string[];
/**
* 产品概念
*/
readonly concept: 'AnonymousFunction';
/**
* 输入参数列表
*/
params: Array;
/**
* 逻辑项
*/
body: types.LogicItemNode;
/**
* @param source 需要合并的部分参数
*/
constructor(source?: Partial);
static from(source: any, parentNode?: any, parentKey?: string): AnonymousFunction;
/**
* 设置逻辑项
*/
setBody(body: types.LogicItemNode): void;
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;
/**
* 删除输入参数
* @param name 输入参数名称
*/
removeParam(name: string): void;
/**
* 删除输入参数
* @param param 已有的输入参数实例
*/
removeParam(param: Param): void;
name?: string;
/**
* 祖先 Module
*/
get module(): Module;
toJS(state?: TranslatorState): string;
toJSOfEntityLogicProperties(state?: TranslatorState): string;
getVarExistingNames(excludedList?: Array): string[];
getNamespace(): string;
toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator;
toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string;
toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string;
toVue(options?: ElementToVueOptions): string;
toUI(state?: TranslatorState, hideDetails?: boolean): string;
toEmbeddedTSDefinition(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator;
/**
* 确保参数名称都是不重复的,且更新内部的引用关系
* @param paramNames
* @returns
*/
ensureParamName(paramNames: Set): Map;
}
export default AnonymousFunction;
//# sourceMappingURL=AnonymousFunction__.d.ts.map