@praxisui/visual-builder 8.0.0-beta.7 → 8.0.0-beta.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,14 +1,19 @@
1
1
  {
2
2
  "name": "@praxisui/visual-builder",
3
- "version": "8.0.0-beta.7",
3
+ "version": "8.0.0-beta.71",
4
4
  "description": "Visual rule and expression builder for Praxis UI with JSON Logic authoring, validation and context variables.",
5
5
  "peerDependencies": {
6
- "@angular/common": "^20.0.0",
7
- "@angular/core": "^20.0.0",
8
- "@angular/cdk": "^20.0.0",
9
- "@angular/material": "^20.0.0",
10
- "@angular/forms": "^20.0.0",
11
- "@praxisui/settings-panel": "^8.0.0-beta.7"
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0",
8
+ "@angular/cdk": "^21.0.0",
9
+ "@angular/material": "^21.0.0",
10
+ "@angular/forms": "^21.0.0",
11
+ "@praxisui/settings-panel": "^8.0.0-beta.71",
12
+ "@angular/platform-browser-dynamic": "^21.0.0",
13
+ "@praxisui/ai": "^8.0.0-beta.71",
14
+ "@praxisui/core": "^8.0.0-beta.71",
15
+ "@praxisui/metadata-editor": "^8.0.0-beta.71",
16
+ "rxjs": "~7.8.0"
12
17
  },
13
18
  "dependencies": {
14
19
  "tslib": "^2.3.0",
@@ -36,14 +41,15 @@
36
41
  ],
37
42
  "sideEffects": false,
38
43
  "module": "fesm2022/praxisui-visual-builder.mjs",
39
- "typings": "index.d.ts",
44
+ "typings": "types/praxisui-visual-builder.d.ts",
40
45
  "exports": {
41
46
  "./package.json": {
42
47
  "default": "./package.json"
43
48
  },
44
49
  ".": {
45
- "types": "./index.d.ts",
50
+ "types": "./types/praxisui-visual-builder.d.ts",
46
51
  "default": "./fesm2022/praxisui-visual-builder.mjs"
47
52
  }
48
- }
53
+ },
54
+ "type": "module"
49
55
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, OnInit, OnDestroy, OnChanges, AfterViewInit, ElementRef, ChangeDetectorRef, SimpleChanges } from '@angular/core';
3
- import { JsonLogicExpression, FormLayoutRule, RulePropertySchema, PraxisI18nService } from '@praxisui/core';
3
+ import { JsonLogicExpression, ComponentAuthoringManifest, FormLayoutRule, RulePropertySchema, PraxisI18nService } from '@praxisui/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
6
6
  import { MatSnackBar } from '@angular/material/snack-bar';
@@ -121,7 +121,7 @@ interface FieldConditionConfig {
121
121
  }
122
122
  interface PropertyRuleConfig {
123
123
  type: 'propertyRule';
124
- targetType: 'field' | 'section' | 'action' | 'row' | 'column';
124
+ targetType: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
125
125
  /** Target IDs without prefix (namespace is defined by targetType) */
126
126
  targets: string[];
127
127
  /** Properties applied when condition is true */
@@ -411,6 +411,10 @@ interface RuleBuilderSnapshot {
411
411
  isDirty?: boolean;
412
412
  };
413
413
  }
414
+ /**
415
+ * Public rendering mode for the visual builder host component.
416
+ */
417
+ type VisualBuilderMode = 'rules' | 'condition';
414
418
  /**
415
419
  * Rule template for common scenarios
416
420
  */
@@ -512,9 +516,10 @@ interface RuleBuilderConfig {
512
516
  actions?: Record<string, unknown>;
513
517
  rows?: Record<string, unknown>;
514
518
  columns?: Record<string, unknown>;
519
+ visualBlocks?: Record<string, unknown>;
515
520
  };
516
521
  /** Optional property schema per targetType for typed property editing */
517
- targetPropertySchemas?: Record<'field' | 'section' | 'action' | 'row' | 'column', Array<{
522
+ targetPropertySchemas?: Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', Array<{
518
523
  name: string;
519
524
  type: 'string' | 'boolean' | 'object' | 'enum' | 'number';
520
525
  label?: string;
@@ -618,18 +623,24 @@ interface ContextualTemplateConfig {
618
623
  }
619
624
 
620
625
  declare class PraxisVisualBuilder {
626
+ mode: VisualBuilderMode;
621
627
  config: RuleBuilderConfig | null;
622
628
  initialRules: any;
629
+ initialCondition: JsonLogicExpression | null;
623
630
  rulesChanged: EventEmitter<RuleBuilderState>;
631
+ conditionChanged: EventEmitter<JsonLogicExpression>;
624
632
  exportRequested: EventEmitter<ExportOptions>;
625
633
  importRequested: EventEmitter<ImportOptions>;
626
634
  onRulesChanged(rules: RuleBuilderState): void;
635
+ onConditionChanged(condition: JsonLogicExpression | null): void;
627
636
  onExportRequested(options: any): void;
628
637
  onImportRequested(options: any): void;
629
638
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisVisualBuilder, never>;
630
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisVisualBuilder, "praxis-visual-builder", never, { "config": { "alias": "config"; "required": false; }; "initialRules": { "alias": "initialRules"; "required": false; }; }, { "rulesChanged": "rulesChanged"; "exportRequested": "exportRequested"; "importRequested": "importRequested"; }, never, never, true, never>;
639
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisVisualBuilder, "praxis-visual-builder", never, { "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "initialRules": { "alias": "initialRules"; "required": false; }; "initialCondition": { "alias": "initialCondition"; "required": false; }; }, { "rulesChanged": "rulesChanged"; "conditionChanged": "conditionChanged"; "exportRequested": "exportRequested"; "importRequested": "importRequested"; }, never, never, true, never>;
631
640
  }
632
641
 
642
+ declare const PRAXIS_VISUAL_BUILDER_AUTHORING_MANIFEST: ComponentAuthoringManifest;
643
+
633
644
  /**
634
645
  * Field schema model for dynamic field configuration in the Visual Builder
635
646
  */
@@ -639,7 +650,7 @@ interface FieldSchema {
639
650
  /** Human-readable field label */
640
651
  label: string;
641
652
  /** Logical origin to help context-sensitive filtering (form field, section, row, column, table column, etc.) */
642
- origin?: 'field' | 'section' | 'action' | 'row' | 'column' | 'tableField' | 'tableColumn';
653
+ origin?: 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock' | 'tableField' | 'tableColumn';
643
654
  /** Field data type */
644
655
  type: FieldType | string;
645
656
  /** Optional description or help text */
@@ -1252,9 +1263,6 @@ declare class RuleBuilderService {
1252
1263
  export(options: ExportOptions): string;
1253
1264
  toSpecification(): null;
1254
1265
  private updateState;
1255
- /**
1256
- * Validate current rules (lightweight placeholder)
1257
- */
1258
1266
  validateRules(): void;
1259
1267
  loadFromConditionExpression(condition: JsonLogicExpression, description?: string): void;
1260
1268
  buildConditionExpressionFromGraph(nodes: Record<string, RuleNode>, rootNodes: string[]): JsonLogicExpression | null;
@@ -1298,6 +1306,11 @@ declare class RuleBuilderService {
1298
1306
  private flattenRuleNodeTree;
1299
1307
  private validateNode;
1300
1308
  private validateStructure;
1309
+ private validateFieldConditionNode;
1310
+ private validateBooleanGroupNode;
1311
+ private validatePropertyRuleNode;
1312
+ private validateExpressionNode;
1313
+ private addValidationError;
1301
1314
  private exportToTypeScript;
1302
1315
  private exportToFormConfig;
1303
1316
  private normalizeSpecJson;
@@ -1600,6 +1613,7 @@ declare class WebhookIntegrationService {
1600
1613
  private preparePayload;
1601
1614
  private deliverWebhook;
1602
1615
  private sendWebhookRequest;
1616
+ private toHeaderRecord;
1603
1617
  private updateDelivery;
1604
1618
  private processRetries;
1605
1619
  private updateStats;
@@ -2013,13 +2027,12 @@ declare enum ErrorSeverity {
2013
2027
  * Base error class for all Visual Builder errors
2014
2028
  */
2015
2029
  declare abstract class VisualBuilderError extends Error {
2016
- readonly cause?: Error | undefined;
2017
2030
  abstract readonly code: string;
2018
2031
  abstract readonly category: ErrorCategory;
2019
2032
  abstract readonly severity: ErrorSeverity;
2020
2033
  readonly timestamp: Date;
2021
2034
  readonly context: Record<string, any>;
2022
- constructor(message: string, context?: Record<string, any>, cause?: Error | undefined);
2035
+ constructor(message: string, context?: Record<string, any>, cause?: Error);
2023
2036
  /**
2024
2037
  * Get structured error information
2025
2038
  */
@@ -2179,7 +2192,7 @@ declare const createError: {
2179
2192
  internal: (message: string, cause?: Error) => InternalError;
2180
2193
  };
2181
2194
 
2182
- type TargetType = 'field' | 'section' | 'action' | 'row' | 'column';
2195
+ type TargetType = 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
2183
2196
  type RuleNodeConfigExtended = RuleNodeConfig & {
2184
2197
  targetType?: TargetType;
2185
2198
  properties?: Record<string, any>;
@@ -2196,15 +2209,20 @@ declare class RuleEditorComponent implements OnInit, OnDestroy, OnChanges, After
2196
2209
  private readonly cdr;
2197
2210
  private readonly i18n?;
2198
2211
  embedded: boolean;
2212
+ mode: VisualBuilderMode;
2199
2213
  config: RuleBuilderConfig | null;
2200
2214
  initialRules: any;
2215
+ initialCondition: JsonLogicExpression | null;
2201
2216
  stateChanged: EventEmitter<RuleBuilderState>;
2202
2217
  save: EventEmitter<RuleBuilderState>;
2203
2218
  rulesChanged: EventEmitter<RuleBuilderState>;
2219
+ conditionChanged: EventEmitter<JsonLogicExpression>;
2204
2220
  exportRequested: EventEmitter<ExportOptions>;
2205
2221
  importRequested: EventEmitter<ImportOptions>;
2206
2222
  fileInput: ElementRef<HTMLInputElement>;
2207
2223
  private destroy$;
2224
+ private initialized;
2225
+ private lastInitialConditionSignature;
2208
2226
  currentState: RuleBuilderState | null;
2209
2227
  fieldSchemas: Record<string, FieldSchema>;
2210
2228
  showDebugPanel: boolean;
@@ -2231,6 +2249,16 @@ declare class RuleEditorComponent implements OnInit, OnDestroy, OnChanges, After
2231
2249
  createRuleFromAI(aiResponse: AiRuleResponse): Promise<void>;
2232
2250
  addPropertyRule(): void;
2233
2251
  selectNode(nodeId: string): void;
2252
+ onConditionNodeAdded(event: {
2253
+ type: RuleNodeType;
2254
+ parentId?: string;
2255
+ config?: RuleNodeConfig;
2256
+ }): void;
2257
+ onConditionNodeUpdated(event: {
2258
+ nodeId: string;
2259
+ updates: Partial<RuleNode>;
2260
+ }): void;
2261
+ removeConditionNode(nodeId: string): void;
2234
2262
  duplicateNode(nodeId: string): void;
2235
2263
  onRuleUpdated(config: RuleNodeConfigExtended): void;
2236
2264
  removeNode(nodeId: string): void;
@@ -2241,18 +2269,21 @@ declare class RuleEditorComponent implements OnInit, OnDestroy, OnChanges, After
2241
2269
  getRuleCount(): number;
2242
2270
  t(key: string, fallback: string): string;
2243
2271
  private setupSubscriptions;
2272
+ private loadInitialConditionIfNeeded;
2244
2273
  private validateAiResponse;
2245
2274
  private buildPropertyRuleLabel;
2246
2275
  private stripTargetPrefix;
2247
2276
  private normalizeRuleConfig;
2248
2277
  static ɵfac: i0.ɵɵFactoryDeclaration<RuleEditorComponent, [null, null, null, null, null, null, { optional: true; }]>;
2249
- static ɵcmp: i0.ɵɵComponentDeclaration<RuleEditorComponent, "praxis-rule-editor", never, { "embedded": { "alias": "embedded"; "required": false; }; "config": { "alias": "config"; "required": false; }; "initialRules": { "alias": "initialRules"; "required": false; }; }, { "stateChanged": "stateChanged"; "save": "save"; "rulesChanged": "rulesChanged"; "exportRequested": "exportRequested"; "importRequested": "importRequested"; }, never, never, true, never>;
2278
+ static ɵcmp: i0.ɵɵComponentDeclaration<RuleEditorComponent, "praxis-rule-editor", never, { "embedded": { "alias": "embedded"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "initialRules": { "alias": "initialRules"; "required": false; }; "initialCondition": { "alias": "initialCondition"; "required": false; }; }, { "stateChanged": "stateChanged"; "save": "save"; "rulesChanged": "rulesChanged"; "conditionChanged": "conditionChanged"; "exportRequested": "exportRequested"; "importRequested": "importRequested"; }, never, never, true, never>;
2250
2279
  }
2251
2280
 
2252
2281
  declare class RuleCanvasComponent implements OnInit, OnDestroy {
2282
+ private readonly i18n?;
2253
2283
  conditionOnly: boolean;
2254
2284
  state: RuleBuilderState | null;
2255
2285
  fieldSchemas: Record<string, FieldSchema>;
2286
+ validationErrors: ValidationError$1[];
2256
2287
  nodeSelected: EventEmitter<string>;
2257
2288
  nodeAdded: EventEmitter<{
2258
2289
  type: RuleNodeType;
@@ -2275,14 +2306,23 @@ declare class RuleCanvasComponent implements OnInit, OnDestroy {
2275
2306
  }[];
2276
2307
  get isEmpty(): boolean;
2277
2308
  get filteredAddMenuOptions(): typeof this.addMenuOptions;
2278
- constructor();
2309
+ constructor(i18n?: PraxisI18nService | undefined);
2279
2310
  ngOnInit(): void;
2280
2311
  ngOnDestroy(): void;
2281
2312
  trackByNodeId(index: number, nodeId: string): string;
2282
2313
  getNode(nodeId: string): RuleNode | null;
2283
2314
  isNodeSelected(nodeId: string): boolean;
2284
2315
  isLastRootNode(nodeId: string): boolean;
2285
- getNodeValidationErrors(nodeId: string): any[];
2316
+ getNodeValidationErrors(nodeId: string): ValidationError$1[];
2317
+ emptyStateIcon(): string;
2318
+ emptyStateTitle(): string;
2319
+ emptyStateCta(): string;
2320
+ conditionOnlyEmptyHint(): string;
2321
+ dropZoneLabel(): string;
2322
+ addMenuAriaLabel(): string;
2323
+ hasBlockingConditionErrors(): boolean;
2324
+ conditionValidationTitle(): string;
2325
+ conditionValidationDescription(): string;
2286
2326
  selectNode(nodeId: string): void;
2287
2327
  updateNode(event: {
2288
2328
  nodeId: string;
@@ -2300,8 +2340,10 @@ declare class RuleCanvasComponent implements OnInit, OnDestroy {
2300
2340
  addFirstRule(): void;
2301
2341
  addRule(type: RuleNodeType): void;
2302
2342
  private isAllowedConditionType;
2303
- static ɵfac: i0.ɵɵFactoryDeclaration<RuleCanvasComponent, never>;
2304
- static ɵcmp: i0.ɵɵComponentDeclaration<RuleCanvasComponent, "praxis-rule-canvas", never, { "conditionOnly": { "alias": "conditionOnly"; "required": false; }; "state": { "alias": "state"; "required": false; }; "fieldSchemas": { "alias": "fieldSchemas"; "required": false; }; }, { "nodeSelected": "nodeSelected"; "nodeAdded": "nodeAdded"; "nodeUpdated": "nodeUpdated"; "nodeRemoved": "nodeRemoved"; }, never, never, true, never>;
2343
+ private isDescendantOf;
2344
+ private t;
2345
+ static ɵfac: i0.ɵɵFactoryDeclaration<RuleCanvasComponent, [{ optional: true; }]>;
2346
+ static ɵcmp: i0.ɵɵComponentDeclaration<RuleCanvasComponent, "praxis-rule-canvas", never, { "conditionOnly": { "alias": "conditionOnly"; "required": false; }; "state": { "alias": "state"; "required": false; }; "fieldSchemas": { "alias": "fieldSchemas"; "required": false; }; "validationErrors": { "alias": "validationErrors"; "required": false; }; }, { "nodeSelected": "nodeSelected"; "nodeAdded": "nodeAdded"; "nodeUpdated": "nodeUpdated"; "nodeRemoved": "nodeRemoved"; }, never, never, true, never>;
2305
2347
  }
2306
2348
 
2307
2349
  declare class RuleNodeComponent {
@@ -2321,6 +2363,7 @@ declare class RuleNodeComponent {
2321
2363
  childAdded: EventEmitter<RuleNodeType>;
2322
2364
  childMoved: EventEmitter<CdkDragDrop<string[], string[], any>>;
2323
2365
  get hasValidationErrors(): boolean;
2366
+ get ownValidationErrors(): ValidationError$1[];
2324
2367
  constructor(fb: FormBuilder);
2325
2368
  selectNode(): void;
2326
2369
  getNodeIcon(): string;
@@ -2348,6 +2391,7 @@ declare class RuleNodeComponent {
2348
2391
  isChildSelected(childId: string): boolean;
2349
2392
  getChildValidationErrors(childId: string): ValidationError$1[];
2350
2393
  isLastChild(childId: string): boolean;
2394
+ private isDescendantOf;
2351
2395
  editNode(): void;
2352
2396
  duplicateNode(): void;
2353
2397
  deleteNode(): void;
@@ -2905,5 +2949,5 @@ declare class RuleListComponent {
2905
2949
  static ɵcmp: i0.ɵɵComponentDeclaration<RuleListComponent, "praxis-rule-list", never, { "rules": { "alias": "rules"; "required": false; }; "selectedRuleId": { "alias": "selectedRuleId"; "required": false; }; "nodeMap": { "alias": "nodeMap"; "required": false; }; "validationErrors": { "alias": "validationErrors"; "required": false; }; }, { "ruleSelected": "ruleSelected"; "ruleDeleted": "ruleDeleted"; "ruleDuplicated": "ruleDuplicated"; "ruleAdded": "ruleAdded"; "aiRequested": "aiRequested"; }, never, never, true, never>;
2906
2950
  }
2907
2951
 
2908
- export { ArrayFieldAnalyzer, CollectionValidatorEditorComponent, ConditionalValidatorEditorComponent, ConditionalValidatorType, ConfigurationError, ContextError, ContextManagementService, ConversionError, ErrorCategory, ErrorHandler, ErrorSeverity, ExportDialogComponent, ExportIntegrationService, ExpressionError, FIELD_TYPE_OPERATORS, FieldConditionEditorComponent, FieldSchemaService, FieldType, InternalError, JsonViewerComponent, MetadataEditorComponent, OPERATOR_LABELS, PraxisVisualBuilder, RegistryError, RuleBuilderService, RuleCanvasComponent, RuleEditorComponent, RuleListComponent, RuleNodeComponent, RuleNodeRegistryService, RuleNodeType, RuleTemplateService, RuleValidationService, TemplateEditorDialogComponent, TemplateGalleryComponent, TemplatePreviewDialogComponent, ValidationError as VBValidationError, ValidationCategory, ValidationSeverity, VisualBuilderError, VisualRuleBuilderComponent, WebhookIntegrationService, createError, getArrayItemFieldPaths, globalErrorHandler, isArrayFieldSchema };
2909
- export type { ArrayCollectionValidationRule, ArrayFieldSchema, ArrayValidationContext, ArrayValidationError, BooleanGroupConfig, CardinalityConfig, CircularReference, CleanupResult, CollectionValidationConfig, CollectionValidatorConfig, ConditionalValidatorConfig, ConditionalValidatorPreview, ContextEntry, ContextScope, ContextValue, ContextVariable, ContextualConfig, ContextualTemplateConfig, CustomConfig, CustomFunction, DocumentationLink, EnhancedFieldSchema, ErrorInfo, ErrorStatistics, ExportDialogData, ExportFormat, ExportOptions, ExportResult, ExpressionConfig, ExternalSystemConfig, FieldConditionConfig, FieldFormat, FieldOption, FieldSchema, FieldSchemaContext, FieldToFieldConfig, FieldUIConfig, FunctionCallConfig, FunctionParameter, ImportOptions, IntegrationEndpoint, IntegrationResult, MemoryStats, OptionalFieldConfig, PropertyRuleConfig, RegistryIntegrityResult, RegistryValidationResult, RuleBuilderConfig, RuleBuilderSnapshot, RuleBuilderState, RuleContextProvider, RuleFunctionRegistry, RuleNode, RuleNodeConfig, RuleNodeTree, RuleNodeTypeString, RuleTemplate, RuleValidationResult, SpecificationMetadata, TemplateApplicationResult, TemplateCategory, TemplateDisplayMode, TemplateEditorDialogData, TemplateEditorResult, TemplateMetadata, TemplatePreviewDialogData, TemplateSearchCriteria, TemplateSortOption, TemplateStats, TemplateValidationResult, ValidComparisonOperator, ValidationConfig, ValidationContext, ValidationError$1 as ValidationError, ValidationIssue, ValidationResult, ValidationRule, ValueType, WebhookConfig, WebhookDelivery, WebhookEvent, WebhookStats };
2952
+ export { ArrayFieldAnalyzer, CollectionValidatorEditorComponent, ConditionalValidatorEditorComponent, ConditionalValidatorType, ConfigurationError, ContextError, ContextManagementService, ConversionError, ErrorCategory, ErrorHandler, ErrorSeverity, ExportDialogComponent, ExportIntegrationService, ExpressionError, FIELD_TYPE_OPERATORS, FieldConditionEditorComponent, FieldSchemaService, FieldType, InternalError, JsonViewerComponent, MetadataEditorComponent, OPERATOR_LABELS, PRAXIS_VISUAL_BUILDER_AUTHORING_MANIFEST, PraxisVisualBuilder, RegistryError, RuleBuilderService, RuleCanvasComponent, RuleEditorComponent, RuleListComponent, RuleNodeComponent, RuleNodeRegistryService, RuleNodeType, RuleTemplateService, RuleValidationService, TemplateEditorDialogComponent, TemplateGalleryComponent, TemplatePreviewDialogComponent, ValidationError as VBValidationError, ValidationCategory, ValidationSeverity, VisualBuilderError, VisualRuleBuilderComponent, WebhookIntegrationService, createError, getArrayItemFieldPaths, globalErrorHandler, isArrayFieldSchema };
2953
+ export type { ArrayCollectionValidationRule, ArrayFieldSchema, ArrayValidationContext, ArrayValidationError, BooleanGroupConfig, CardinalityConfig, CircularReference, CleanupResult, CollectionValidationConfig, CollectionValidatorConfig, ConditionalValidatorConfig, ConditionalValidatorPreview, ContextEntry, ContextScope, ContextValue, ContextVariable, ContextualConfig, ContextualTemplateConfig, CustomConfig, CustomFunction, DocumentationLink, EnhancedFieldSchema, ErrorInfo, ErrorStatistics, ExportDialogData, ExportFormat, ExportOptions, ExportResult, ExpressionConfig, ExternalSystemConfig, FieldConditionConfig, FieldFormat, FieldOption, FieldSchema, FieldSchemaContext, FieldToFieldConfig, FieldUIConfig, FunctionCallConfig, FunctionParameter, ImportOptions, IntegrationEndpoint, IntegrationResult, MemoryStats, OptionalFieldConfig, PropertyRuleConfig, RegistryIntegrityResult, RegistryValidationResult, RuleBuilderConfig, RuleBuilderSnapshot, RuleBuilderState, RuleContextProvider, RuleFunctionRegistry, RuleNode, RuleNodeConfig, RuleNodeTree, RuleNodeTypeString, RuleTemplate, RuleValidationResult, SpecificationMetadata, TemplateApplicationResult, TemplateCategory, TemplateDisplayMode, TemplateEditorDialogData, TemplateEditorResult, TemplateMetadata, TemplatePreviewDialogData, TemplateSearchCriteria, TemplateSortOption, TemplateStats, TemplateValidationResult, ValidComparisonOperator, ValidationConfig, ValidationContext, ValidationError$1 as ValidationError, ValidationIssue, ValidationResult, ValidationRule, ValueType, VisualBuilderMode, WebhookConfig, WebhookDelivery, WebhookEvent, WebhookStats };