import { TranslatorState, TranslatorGenerator } from '@lcap/nasl-translator'; import type MemberExpression from './MemberExpression__'; import type ForEachStatement from './ForEachStatement__'; import type TypeAnnotation from './TypeAnnotation__'; import type CallLogic from './CallLogic__'; import type Argument from './Argument__'; import { GetCode, Range } from './utils/quick-info'; import { ElementToVueOptions } from './ViewElement__'; 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 Identifier from './Identifier__'; import type SelectMembers from './SelectMembers__'; import type AssignmentLine from './AssignmentLine__'; /** * 实体/(匿名)数据结构构造器 */ export declare class NewComposite extends LogicItem { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'NewComposite'; /** * 左边项 */ properties: Array; /** * 右边项 */ rights: Array; /** * 赋值线 */ assignmentLines: Array; /** * hideProperties */ hideProperties: boolean; /** * hideDefaults */ hideDefaults: boolean; /** * 自动连线 */ autoConnection: boolean; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): NewComposite; /** * 设置左边项 */ setProperties(properties: Array): void; /** * 设置右边项 */ setRights(rights: Array): void; /** * 设置赋值线 */ setAssignmentLines(assignmentLines: Array): void; /** * 设置hideProperties */ setHideProperties(hideProperties: boolean): void; /** * 设置hideDefaults */ setHideDefaults(hideDefaults: boolean): void; /** * 设置自动连线 */ setAutoConnection(autoConnection: boolean): void; getIdentifierExistingNames(excludedList?: Array): string[]; getIdentifierUniqueName(name?: string): string; /** * 插入标识符 * @internal * @param name 标识符名称,如果不填会自动生成一个唯一名称 */ _insertIdentifierAt(name: string, index: number): Identifier; /** * 插入标识符 * @internal * @param identifierOptions 标识符参数 */ _insertIdentifierAt(identifierOptions: Partial, index: number): Identifier; /** * 插入标识符 * @internal * @param identifier 已有的标识符实例 */ _insertIdentifierAt(identifier: Identifier, index: number): Identifier; /** * 插入标识符 * @param name 标识符名称,如果不填会自动生成一个唯一名称 */ insertIdentifierAt(name: string, index: number): Identifier; /** * 插入标识符 * @param identifierOptions 标识符参数 */ insertIdentifierAt(identifierOptions: Partial, index: number): Identifier; /** * 插入标识符 * @param identifier 已有的标识符实例 */ insertIdentifierAt(identifier: Identifier, index: number): Identifier; /** * 添加标识符 * @internal * @param name 标识符名称,如果不填会自动生成一个唯一名称 */ _addIdentifier(name?: string): Identifier; /** * 添加标识符 * @internal * @param identifierOptions 标识符参数 */ _addIdentifier(identifierOptions: Partial): Identifier; /** * 添加标识符 * @internal * @param identifier 已有的标识符实例 */ _addIdentifier(identifier: Identifier): Identifier; /** * 添加标识符 * @internal * @param name 标识符名称,如果不填会自动生成一个唯一名称 */ addIdentifier(name?: string): Identifier; /** * 添加标识符 * @param identifierOptions 标识符参数 */ addIdentifier(identifierOptions: Partial): Identifier; /** * 添加标识符 * @param identifier 已有的标识符实例 */ addIdentifier(identifier: Identifier): Identifier; 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 标识符名称 */ removeIdentifier(name: string): void; /** * 删除标识符 * @param identifier 已有的标识符实例 */ removeIdentifier(identifier: Identifier): void; /** * 删除选择成员 * @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; /** * 删除左边项 * @param property */ deleteProperty(property: Identifier): void; get lines(): number; matchingStrategy: MatchingStrategies; checkConditions({ isAnnotation, leftName, rightName, leftTypeAnnotation, rightTypeAnnotation, }: { isAnnotation: boolean; leftName: string; rightName: string; leftTypeAnnotation: TypeAnnotation; rightTypeAnnotation: TypeAnnotation; }): boolean; /** * 自动连线算法 * @param param0 */ batchAutoConnection({ targetRightIndex, reservedRightIndex, reservedLeftIndex, }: { targetRightIndex?: number; reservedRightIndex?: string[]; reservedLeftIndex?: number[]; }): void; connection(leftItem: Identifier | TypeAnnotation, rightItem: types.LogicItemNode | SelectMembers, rightToLeft: boolean): void; deleteAssignmentLine(assignmentLine: AssignmentLine): void; changeLinesLocation(selectMember: any): void; replaceIdentifier(oldNode: any, expression: types.LogicItemNode, members: Array): Promise; changeLeft({ typeAnnotation, batchExpression, }: { typeAnnotation: TypeAnnotation; batchExpression: any[]; }): void; changeMembers(oldNode: any, members: MemberExpression[], expression: types.LogicItemNode): Promise; findlines(member: any, selectMember: any): AssignmentLine[]; findMember(arrIndex: Array, place?: string): TypeAnnotation | import("./SubLogic__").SubLogic | import("./AnonymousFunction__").AnonymousFunction | import("./Abort__").Abort | import("./Start__").Start | import("./End__").End | import("./IfStatement__").IfStatement | import("./IfExpression__").IfExpression | import("./SwitchStatement__").SwitchStatement | import("./SwitchCase__").SwitchCase | ForEachStatement | import("./WhileStatement__").WhileStatement | import("./Break__").Break | import("./Continue__").Continue | import("./Assignment__").Assignment | import("./BatchAssignment__").BatchAssignment | import("./Comment__").Comment | CallLogic | import("./CallEvent__").CallEvent | import("./CallFunction__").CallFunction | import("./CallInterface__").CallInterface | import("./Destination__").Destination | import("./ExternalDestination__").ExternalDestination | import("./ValidationRule__").ValidationRule | import("./ValidationLogic__").ValidationLogic | Argument | import("./Anchor__").Anchor | import("./JSBlock__").JSBlock | import("./JavaLogic__").JavaLogic | import("./Block__").Block | Identifier | import("./NullLiteral__").NullLiteral | import("./BooleanLiteral__").BooleanLiteral | import("./StringLiteral__").StringLiteral | import("./StringInterpolation__").StringInterpolation | import("./NumericLiteral__").NumericLiteral | import("./BinaryExpression__").BinaryExpression | import("./VariadicExpression__").VariadicExpression | import("./MatchCase__").MatchCase | import("./Match__").Match | import("./UnaryExpression__").UnaryExpression | MemberExpression | import("./Unparsed__").Unparsed | import("./New__").New | NewComposite | import("./NewStructure__").NewStructure | import("./NewList__").NewList | import("./NewMap__").NewMap | import("./NewRegex__").NewRegex | import("./Paginate__").Paginate | import("./CallQueryComponent__").CallQueryComponent | import("./QuerySelectExpression__").QuerySelectExpression | import("./QueryFromExpression__").QueryFromExpression | import("./QueryJoinExpression__").QueryJoinExpression | import("./QueryFieldExpression__").QueryFieldExpression | import("./QueryAggregateExpression__").QueryAggregateExpression | import("./QueryOrderByExpression__").QueryOrderByExpression | import("./QueryGroupByExpression__").QueryGroupByExpression | import("./QueryLimitExpression__").QueryLimitExpression | import("./SqlQueryComponent__").SqlQueryComponent | import("./OqlQueryComponent__").OqlQueryComponent | import("./ProcessOutcome__").ProcessOutcome | import("./Assignee__").Assignee | import("./ProcessOutcomes__").ProcessOutcomes; toBrief(): string; toUI(state?: TranslatorState, hideDetails?: boolean): string; toJS(state?: TranslatorState): string; toVue(options?: ElementToVueOptions): 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; getInitCode(state?: TranslatorState): Generator; getNewCompositeCode(state?: TranslatorState): Generator; __addIdentifier(name: string, typeAnnotation: TypeAnnotation): void; __deleteIdentifier(property: Identifier): void; getForeachCode(code: string): Generator; getQuickInfoOffset(range: Range, getCode: GetCode): import("./utils/quick-info").QuickInfoData; } export default NewComposite; //# sourceMappingURL=NewComposite__.d.ts.map