import { TranslatorState, TranslatorGenerator } from '@lcap/nasl-translator';
import type EntityProperty from './EntityProperty__';
import type StructureProperty from './StructureProperty__';
import type Function from './Function__';
import type OverriddenLogic from './OverriddenLogic__';
import type Module from './Module__';
import type Connector from './Connector__';
import type View from './View__';
import type Frontend from './Frontend__';
import type ProcessElement from './ProcessElement__';
import type Process from './Process__';
import type Logic from './Logic__';
import type ProcessV2 from './ProcessV2__';
import * as types from './utils/types';
import BaseNode from '../common/BaseNode';
import type TypeAnnotation from './TypeAnnotation__';
import type DefaultValue from './DefaultValue__';
/**
* 输入参数
*/
export declare class Param extends BaseNode {
/** 类名 */
static readonly ConceptName: string;
/**
* 是否为抽象类
* 抽象类不能产生 concept: string
*/
static isAbstract: boolean;
/** 继承链 */
static readonly inheritanceChain: string[];
/**
* 产品概念
*/
readonly concept: 'Param' | 'ParamWithGroup';
/**
* 输入参数名称
*/
name: string;
/**
* 输入参数描述
*/
description?: string;
/**
* 是否为展开参数
*/
spread?: boolean;
/**
* 类型
*/
typeAnnotation?: TypeAnnotation;
/**
* 默认值
*/
defaultValue?: DefaultValue;
optional?: boolean;
/**
* @param source 需要合并的部分参数
*/
constructor(source?: Partial);
static from(source: any, parentNode?: any, parentKey?: string): Param;
/**
* 设置输入参数名称
*/
setName(name: string): void;
/**
* 设置输入参数描述
*/
setDescription(description: string): void;
/**
* 祖先 Logic
*/
get logic(): Logic;
/**
* 祖先 Module
*/
get module(): Module;
/**
* 祖先 Connector
*/
get connector(): Connector;
/**
* 祖先 View
*/
get view(): View;
/**
* 祖先 Frontend
*/
get frontend(): Frontend;
/**
* 祖先 ProcessElement
*/
get processElement(): ProcessElement;
/**
* 祖先 Process
*/
get process(): Process;
/**
* 祖先 ProcessV2
*/
get processV2(): ProcessV2;
/**
* 祖先 Logic
*/
get OverriddenLogic(): OverriddenLogic;
static createProtoTypeOnly(source: Partial): Param;
required: boolean;
defaultExpression: types.LogicItemNode | Function;
options: Array<{
text?: string;
value: string;
description?: string;
}>;
useComponent: {
type: 's-member-identifier-select' | 's-enum-select' | 's-schema-select' | 's-datatype-select' | 's-config-select' | 's-options-select' | 's-bidirectional-bind-switch' | 's-checkbox';
attrs?: any;
};
cascader: boolean;
/**
* 自动补全的属性列表
*/
completionChildren: Array;
toJS(state?: TranslatorState): string;
isEnum(): boolean;
toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState, dontType?: boolean, hideDefaultValue?: boolean): TranslatorGenerator;
toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState, dontType?: boolean | 'onlyType'): string;
toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState, dontType?: boolean): string;
toEmbeddedNameTS(state?: TranslatorState): Generator;
/**
* 设置数据类型
* @param typeAnnotation 类型标注对象
*/
setDataType(typeAnnotation: TypeAnnotation): Promise;
/**
* 设置数据类型
* @param typeAnnotation 类型唯一标识
*/
setDataType(typeKey: string): Promise;
static getDefaultOptions(): any;
_readonly: boolean;
/**
* 是否可编辑
* */
get readonly(): boolean;
set readonly(val: boolean);
setnNewTypeAnnotation(oldTypeAnnotation: TypeAnnotation): void;
get isFunction(): boolean;
get getFunctionSign(): string;
get AuthLogic(): Logic;
get AuthLogicForCallInterface(): Logic;
get __isVirtual(): boolean | Boolean;
isSame(compareNode: Param | Partial | null): boolean;
}
export default Param;
//# sourceMappingURL=Param__.d.ts.map