import { TranslatorState, TranslatorGenerator } from '@lcap/nasl-translator'; import { ElementToVueOptions } from './ViewElement__'; import type Module from './Module__'; import * as types from './utils/types'; import BaseNode from '../common/BaseNode'; import type TypeParam from './TypeParam__'; import type Param from './Param__'; import type Return from './Return__'; import type Variable from './Variable__'; /** * 函数 */ export declare class Function extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'Function'; /** * 函数名称 */ name: string; /** * 函数描述 */ description: string; /** * 类型参数列表 */ typeParams: Array; /** * 输入参数列表 */ params: Array; /** * 输出参数列表 */ returns: Array; /** * 变量列表 */ variables: Array; /** * 逻辑项 */ returnExpression: types.LogicItemNode; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): Function; /** * 设置函数名称 */ setName(name: string): void; /** * 设置函数描述 */ setDescription(description: string): void; /** * 设置逻辑项 */ setReturnExpression(returnExpression: types.LogicItemNode): 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; 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; 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; getVariableUniqueName(name?: string): string; /** * 插入变量 * @internal * @param name 变量名称,如果不填会自动生成一个唯一名称 */ _insertVariableAt(name: string, index: number): Variable; /** * 插入变量 * @internal * @param variableOptions 变量参数 */ _insertVariableAt(variableOptions: Partial, index: number): Variable; /** * 插入变量 * @internal * @param variable 已有的变量实例 */ _insertVariableAt(variable: Variable, index: number): Variable; /** * 插入变量 * @param name 变量名称,如果不填会自动生成一个唯一名称 */ insertVariableAt(name: string, index: number): Variable; /** * 插入变量 * @param variableOptions 变量参数 */ insertVariableAt(variableOptions: Partial, index: number): Variable; /** * 插入变量 * @param variable 已有的变量实例 */ insertVariableAt(variable: Variable, index: number): Variable; /** * 添加变量 * @internal * @param name 变量名称,如果不填会自动生成一个唯一名称 */ _addVariable(name?: string): Variable; /** * 添加变量 * @internal * @param variableOptions 变量参数 */ _addVariable(variableOptions: Partial): Variable; /** * 添加变量 * @internal * @param variable 已有的变量实例 */ _addVariable(variable: Variable): Variable; /** * 添加变量 * @internal * @param name 变量名称,如果不填会自动生成一个唯一名称 */ addVariable(name?: string): Variable; /** * 添加变量 * @param variableOptions 变量参数 */ addVariable(variableOptions: Partial): Variable; /** * 添加变量 * @param variable 已有的变量实例 */ addVariable(variable: Variable): Variable; /** * 删除类型参数 * @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; /** * 删除变量 * @param name 变量名称 */ removeVariable(name: string): void; /** * 删除变量 * @param variable 已有的变量实例 */ removeVariable(variable: Variable): void; /** * 祖先 Module */ get module(): Module; toJS(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; toVue(options?: ElementToVueOptions): string; toUI(state?: TranslatorState, hideDetails?: boolean): string; toEmbeddedTSDefinition(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; get calleeKey(): string; } export default Function; //# sourceMappingURL=Function__.d.ts.map