import { TranslatorState, TranslatorGenerator } from '@lcap/nasl-translator'; import { ElementToVueOptions } from './ViewElement__'; import type MemberExpression from './MemberExpression__'; import type View from './View__'; import type BusinessComponent from './BusinessComponent__'; import type TypeAnnotation from './TypeAnnotation__'; declare enum MatchingStrategies { BY_NAME = "BY_NAME", BY_TYPE = "BY_TYPE", BY_NAME_AND_TYPE = "BY_NAME_AND_TYPE", BY_TOP_DOWN = "BY_TOP_DOWN" } import * as types from './utils/types'; import LogicItem from './LogicItem__'; import type SelectMembers from './SelectMembers__'; import type AssignmentLine from './AssignmentLine__'; /** * 批量赋值语句 */ export declare class BatchAssignment extends LogicItem { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'BatchAssignment'; /** * 左边项 */ left: SelectMembers; /** * 右边项 */ rights: Array; /** * 赋值 */ assignmentLines: Array; /** * 自动连线 */ autoConnection: boolean; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): BatchAssignment; /** * 设置左边项 */ setLeft(left: SelectMembers): void; /** * 设置右边项 */ setRights(rights: Array): void; /** * 设置赋值 */ setAssignmentLines(assignmentLines: Array): void; /** * 设置自动连线 */ setAutoConnection(autoConnection: boolean): void; getSelectMembersExistingNames(excludedList?: Array): string[]; getSelectMembersUniqueName(name?: string): string; /** * 插入选择成员 * @internal * @param name 选择成员名称,如果不填会自动生成一个唯一名称 */ _insertSelectMembersAt(name: string, index: number): SelectMembers; /** * 插入选择成员 * @internal * @param selectMembersOptions 选择成员参数 */ _insertSelectMembersAt(selectMembersOptions: Partial, index: number): SelectMembers; /** * 插入选择成员 * @internal * @param selectMembers 已有的选择成员实例 */ _insertSelectMembersAt(selectMembers: SelectMembers, index: number): SelectMembers; /** * 插入选择成员 * @param name 选择成员名称,如果不填会自动生成一个唯一名称 */ insertSelectMembersAt(name: string, index: number): SelectMembers; /** * 插入选择成员 * @param selectMembersOptions 选择成员参数 */ insertSelectMembersAt(selectMembersOptions: Partial, index: number): SelectMembers; /** * 插入选择成员 * @param selectMembers 已有的选择成员实例 */ insertSelectMembersAt(selectMembers: SelectMembers, index: number): SelectMembers; /** * 添加选择成员 * @internal * @param name 选择成员名称,如果不填会自动生成一个唯一名称 */ _addSelectMembers(name?: string): SelectMembers; /** * 添加选择成员 * @internal * @param selectMembersOptions 选择成员参数 */ _addSelectMembers(selectMembersOptions: Partial): SelectMembers; /** * 添加选择成员 * @internal * @param selectMembers 已有的选择成员实例 */ _addSelectMembers(selectMembers: SelectMembers): SelectMembers; /** * 添加选择成员 * @internal * @param name 选择成员名称,如果不填会自动生成一个唯一名称 */ addSelectMembers(name?: string): SelectMembers; /** * 添加选择成员 * @param selectMembersOptions 选择成员参数 */ addSelectMembers(selectMembersOptions: Partial): SelectMembers; /** * 添加选择成员 * @param selectMembers 已有的选择成员实例 */ addSelectMembers(selectMembers: SelectMembers): SelectMembers; getAssignmentLineExistingNames(excludedList?: Array): string[]; getAssignmentLineUniqueName(name?: string): string; /** * 插入赋值连线 * @internal * @param name 赋值连线名称,如果不填会自动生成一个唯一名称 */ _insertAssignmentLineAt(name: string, index: number): AssignmentLine; /** * 插入赋值连线 * @internal * @param assignmentLineOptions 赋值连线参数 */ _insertAssignmentLineAt(assignmentLineOptions: Partial, index: number): AssignmentLine; /** * 插入赋值连线 * @internal * @param assignmentLine 已有的赋值连线实例 */ _insertAssignmentLineAt(assignmentLine: AssignmentLine, index: number): AssignmentLine; /** * 插入赋值连线 * @param name 赋值连线名称,如果不填会自动生成一个唯一名称 */ insertAssignmentLineAt(name: string, index: number): AssignmentLine; /** * 插入赋值连线 * @param assignmentLineOptions 赋值连线参数 */ insertAssignmentLineAt(assignmentLineOptions: Partial, index: number): AssignmentLine; /** * 插入赋值连线 * @param assignmentLine 已有的赋值连线实例 */ insertAssignmentLineAt(assignmentLine: AssignmentLine, index: number): AssignmentLine; /** * 添加赋值连线 * @internal * @param name 赋值连线名称,如果不填会自动生成一个唯一名称 */ _addAssignmentLine(name?: string): AssignmentLine; /** * 添加赋值连线 * @internal * @param assignmentLineOptions 赋值连线参数 */ _addAssignmentLine(assignmentLineOptions: Partial): AssignmentLine; /** * 添加赋值连线 * @internal * @param assignmentLine 已有的赋值连线实例 */ _addAssignmentLine(assignmentLine: AssignmentLine): AssignmentLine; /** * 添加赋值连线 * @internal * @param name 赋值连线名称,如果不填会自动生成一个唯一名称 */ addAssignmentLine(name?: string): AssignmentLine; /** * 添加赋值连线 * @param assignmentLineOptions 赋值连线参数 */ addAssignmentLine(assignmentLineOptions: Partial): AssignmentLine; /** * 添加赋值连线 * @param assignmentLine 已有的赋值连线实例 */ addAssignmentLine(assignmentLine: AssignmentLine): AssignmentLine; /** * 删除选择成员 * @param name 选择成员名称 */ removeSelectMembers(name: string): void; /** * 删除选择成员 * @param selectMembers 已有的选择成员实例 */ removeSelectMembers(selectMembers: SelectMembers): void; /** * 删除赋值连线 * @param name 赋值连线名称 */ removeAssignmentLine(name: string): void; /** * 删除赋值连线 * @param assignmentLine 已有的赋值连线实例 */ removeAssignmentLine(assignmentLine: AssignmentLine): void; name?: string; static getDefaultOptions(): { left: { concept: string; expression: { concept: string; name: string; }; }; }; matchingStrategy: MatchingStrategies; checkConditions({ leftName, rightName, leftTypeAnnotation, rightTypeAnnotation, }: { leftName: string; rightName: string; leftTypeAnnotation: TypeAnnotation; rightTypeAnnotation: TypeAnnotation; }): boolean; replaceIdentifier(oldNode: any, expression: types.LogicItemNode, members: Array): Promise; /** * 自动连线算法 * @param param0 */ batchAutoConnection({ targetRightIndex, reservedLeftIndex, reservedRightIndex, }: { targetRightIndex?: number; reservedLeftIndex?: number[]; reservedRightIndex?: string[]; }): void; connection(leftItem: types.LogicItemNode | SelectMembers, rightItem: types.LogicItemNode | SelectMembers, rightToLeft: boolean): void; swapLocation(location1: number, location2: number): void; deleteAssignmentLine(assignmentLine: AssignmentLine): void; changeLinesLocation(selectMember: SelectMembers): void; changeMembers(oldNode: any, members: MemberExpression[], expression: types.LogicItemNode): Promise; findMember(arrIndex: Array, place: string): types.LogicItemNode; findlines(member: any, selectMember: any): AssignmentLine[]; replaceAssignment(): boolean; toVue(options?: ElementToVueOptions): string; toUI(state?: TranslatorState, hideDetails?: boolean): string; toJS(state?: TranslatorState): string; get likeComponent(): View | BusinessComponent; 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 BatchAssignment; //# sourceMappingURL=BatchAssignment__.d.ts.map