import BaseNode from '../common/BaseNode';
import type Param from './Param__';
import type ViewBlockWithImage from './ViewBlockWithImage__';
/**
* 插槽
*/
export declare class SlotDeclaration extends BaseNode {
/** 类名 */
static readonly ConceptName: string;
/**
* 是否为抽象类
* 抽象类不能产生 concept: string
*/
static isAbstract: boolean;
/** 继承链 */
static readonly inheritanceChain: string[];
/**
* 产品概念
*/
readonly concept: 'SlotDeclaration';
/**
* 插槽名称
*/
name: string;
/**
* 插槽标题
*/
title: string;
/**
* 插槽描述
*/
description?: string;
/**
* 类型
*/
tsType: string;
/**
* 输入参数列表
*/
params: Array;
/**
* 空的占位图
*/
emptyBackground?: string;
/**
* 插槽代码块
*/
snippets: Array;
/**
* @param source 需要合并的部分参数
*/
constructor(source?: Partial);
static from(source: any, parentNode?: any, parentKey?: string): SlotDeclaration;
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;
getViewBlockWithImageExistingNames(excludedList?: Array): string[];
getViewBlockWithImageUniqueName(name?: string): string;
/**
* 插入带截图的代码块
* @internal
* @param name 带截图的代码块名称,如果不填会自动生成一个唯一名称
*/
_insertViewBlockWithImageAt(name: string, index: number): ViewBlockWithImage;
/**
* 插入带截图的代码块
* @internal
* @param viewBlockWithImageOptions 带截图的代码块参数
*/
_insertViewBlockWithImageAt(viewBlockWithImageOptions: Partial, index: number): ViewBlockWithImage;
/**
* 插入带截图的代码块
* @internal
* @param viewBlockWithImage 已有的带截图的代码块实例
*/
_insertViewBlockWithImageAt(viewBlockWithImage: ViewBlockWithImage, index: number): ViewBlockWithImage;
/**
* 插入带截图的代码块
* @param name 带截图的代码块名称,如果不填会自动生成一个唯一名称
*/
insertViewBlockWithImageAt(name: string, index: number): ViewBlockWithImage;
/**
* 插入带截图的代码块
* @param viewBlockWithImageOptions 带截图的代码块参数
*/
insertViewBlockWithImageAt(viewBlockWithImageOptions: Partial, index: number): ViewBlockWithImage;
/**
* 插入带截图的代码块
* @param viewBlockWithImage 已有的带截图的代码块实例
*/
insertViewBlockWithImageAt(viewBlockWithImage: ViewBlockWithImage, index: number): ViewBlockWithImage;
/**
* 添加带截图的代码块
* @internal
* @param name 带截图的代码块名称,如果不填会自动生成一个唯一名称
*/
_addViewBlockWithImage(name?: string): ViewBlockWithImage;
/**
* 添加带截图的代码块
* @internal
* @param viewBlockWithImageOptions 带截图的代码块参数
*/
_addViewBlockWithImage(viewBlockWithImageOptions: Partial): ViewBlockWithImage;
/**
* 添加带截图的代码块
* @internal
* @param viewBlockWithImage 已有的带截图的代码块实例
*/
_addViewBlockWithImage(viewBlockWithImage: ViewBlockWithImage): ViewBlockWithImage;
/**
* 添加带截图的代码块
* @internal
* @param name 带截图的代码块名称,如果不填会自动生成一个唯一名称
*/
addViewBlockWithImage(name?: string): ViewBlockWithImage;
/**
* 添加带截图的代码块
* @param viewBlockWithImageOptions 带截图的代码块参数
*/
addViewBlockWithImage(viewBlockWithImageOptions: Partial): ViewBlockWithImage;
/**
* 添加带截图的代码块
* @param viewBlockWithImage 已有的带截图的代码块实例
*/
addViewBlockWithImage(viewBlockWithImage: ViewBlockWithImage): ViewBlockWithImage;
/**
* 删除输入参数
* @param name 输入参数名称
*/
removeParam(name: string): void;
/**
* 删除输入参数
* @param param 已有的输入参数实例
*/
removeParam(param: Param): void;
/**
* 删除带截图的代码块
* @param name 带截图的代码块名称
*/
removeViewBlockWithImage(name: string): void;
/**
* 删除带截图的代码块
* @param viewBlockWithImage 已有的带截图的代码块实例
*/
removeViewBlockWithImage(viewBlockWithImage: ViewBlockWithImage): void;
toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string;
}
export default SlotDeclaration;
//# sourceMappingURL=SlotDeclaration__.d.ts.map