import { TranslatorState, TranslatorGenerator } from '@lcap/nasl-translator'; import * as types from './utils/types'; import LogicItem from './LogicItem__'; import type Param from './Param__'; /** * ForEach 循环分支 */ export declare class ForEachStatement extends LogicItem { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'ForEachStatement'; /** * 循环列表 */ each: types.LogicItemNode; /** * 循环项参数 */ item: Param; /** * 循环项索引 */ index: Param; /** * 循环开始值 */ start: types.LogicItemNode; /** * 循环结束值 */ end?: types.LogicItemNode; /** * 循环体 */ body: Array; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): ForEachStatement; /** * 设置循环列表 */ setEach(each: types.LogicItemNode): void; /** * 设置循环项参数 */ setItem(item: Param): void; /** * 设置循环项索引 */ setIndex(index: Param): void; /** * 设置循环开始值 */ setStart(start: types.LogicItemNode): void; /** * 设置循环结束值 */ setEnd(end: types.LogicItemNode): void; /** * 插入逻辑项 * @internal * @param logicItemOptions 逻辑项参数 */ _insertItemAt(logicItemOptions: Partial, index: number): types.LogicItemNode; /** * 插入逻辑项 * @internal * @param logicItem 已有的逻辑项实例 */ _insertItemAt(logicItem: types.LogicItemNode, index: number): types.LogicItemNode; /** * 插入逻辑项 * @param logicItemOptions 逻辑项参数 */ insertItemAt(logicItemOptions: Partial, index: number): types.LogicItemNode; /** * 插入逻辑项 * @param logicItem 已有的逻辑项实例 */ insertItemAt(logicItem: types.LogicItemNode, index: number): types.LogicItemNode; /** * 添加逻辑项 * @internal * @param logicItemOptions 逻辑项参数 */ _addItem(logicItemOptions: Partial): types.LogicItemNode; /** * 添加逻辑项 * @internal * @param logicItem 已有的逻辑项实例 */ _addItem(logicItem: types.LogicItemNode): types.LogicItemNode; /** * 添加逻辑项 * @param logicItemOptions 逻辑项参数 */ addItem(logicItemOptions: Partial): types.LogicItemNode; /** * 添加逻辑项 * @param logicItem 已有的逻辑项实例 */ addItem(logicItem: types.LogicItemNode): types.LogicItemNode; /** * 删除逻辑项 * @param logicItem 已有的逻辑项实例 */ removeItem(logicItem: types.LogicItemNode): void; name?: string; checkItemIndexName(): Promise; static getDefaultOptions(): any; /** * 根据当前节点路径生成确定性的变量后缀 * @returns */ getVariableSuffix(): string; toJS(state?: TranslatorState): 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; } export default ForEachStatement; //# sourceMappingURL=ForEachStatement__.d.ts.map