@acorex/platform 0.0.0-ACOREX

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.
Files changed (116) hide show
  1. package/README.md +7 -0
  2. package/auth/README.md +3 -0
  3. package/common/README.md +3 -0
  4. package/core/README.md +4 -0
  5. package/fesm2022/acorex-platform-auth.mjs +1362 -0
  6. package/fesm2022/acorex-platform-auth.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs +127 -0
  8. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-common.mjs +4601 -0
  10. package/fesm2022/acorex-platform-common.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-core.mjs +4374 -0
  12. package/fesm2022/acorex-platform-core.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-domain.mjs +3234 -0
  14. package/fesm2022/acorex-platform-domain.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-layout-builder.mjs +2847 -0
  16. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  18. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-layout-components.mjs +8583 -0
  20. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-designer.mjs +2474 -0
  22. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-layout-entity.mjs +19150 -0
  24. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-layout-views.mjs +1468 -0
  26. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-layout-widget-core.mjs +2950 -0
  28. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs +72 -0
  30. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs +158 -0
  32. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs +29 -0
  34. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs +172 -0
  36. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
  38. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs +274 -0
  40. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs +64 -0
  42. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs +34 -0
  44. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-layout-widgets.mjs +29791 -0
  46. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
  47. package/fesm2022/acorex-platform-native.mjs +155 -0
  48. package/fesm2022/acorex-platform-native.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-runtime-catalog-command-definition.mjs +20 -0
  50. package/fesm2022/acorex-platform-runtime-catalog-command-definition.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-runtime-catalog-query-definition.mjs +20 -0
  52. package/fesm2022/acorex-platform-runtime-catalog-query-definition.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-runtime.mjs +899 -0
  54. package/fesm2022/acorex-platform-runtime.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
  56. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
  58. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs +237 -0
  60. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs +31 -0
  62. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs +25 -0
  64. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  66. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-themes-default.mjs +2589 -0
  68. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs +55 -0
  70. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs +57 -0
  72. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs +168 -0
  74. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +65 -0
  76. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
  77. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs +64 -0
  78. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-themes-shared.mjs +2125 -0
  80. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-workflow.mjs +2501 -0
  82. package/fesm2022/acorex-platform-workflow.mjs.map +1 -0
  83. package/fesm2022/acorex-platform.mjs +6 -0
  84. package/fesm2022/acorex-platform.mjs.map +1 -0
  85. package/layout/builder/README.md +1578 -0
  86. package/layout/components/README.md +3 -0
  87. package/layout/designer/README.md +4 -0
  88. package/layout/entity/README.md +4 -0
  89. package/layout/views/README.md +3 -0
  90. package/layout/widget-core/README.md +4 -0
  91. package/layout/widgets/README.md +3 -0
  92. package/native/README.md +4 -0
  93. package/package.json +103 -0
  94. package/runtime/README.md +3 -0
  95. package/themes/default/README.md +3 -0
  96. package/themes/shared/README.md +3 -0
  97. package/types/acorex-platform-auth.d.ts +680 -0
  98. package/types/acorex-platform-common.d.ts +2926 -0
  99. package/types/acorex-platform-core.d.ts +2896 -0
  100. package/types/acorex-platform-domain.d.ts +2353 -0
  101. package/types/acorex-platform-layout-builder.d.ts +926 -0
  102. package/types/acorex-platform-layout-components.d.ts +2903 -0
  103. package/types/acorex-platform-layout-designer.d.ts +422 -0
  104. package/types/acorex-platform-layout-entity.d.ts +3189 -0
  105. package/types/acorex-platform-layout-views.d.ts +667 -0
  106. package/types/acorex-platform-layout-widget-core.d.ts +1086 -0
  107. package/types/acorex-platform-layout-widgets.d.ts +5478 -0
  108. package/types/acorex-platform-native.d.ts +28 -0
  109. package/types/acorex-platform-runtime-catalog-command-definition.d.ts +137 -0
  110. package/types/acorex-platform-runtime-catalog-query-definition.d.ts +125 -0
  111. package/types/acorex-platform-runtime.d.ts +470 -0
  112. package/types/acorex-platform-themes-default.d.ts +573 -0
  113. package/types/acorex-platform-themes-shared.d.ts +170 -0
  114. package/types/acorex-platform-workflow.d.ts +1806 -0
  115. package/types/acorex-platform.d.ts +2 -0
  116. package/workflow/README.md +4 -0
@@ -0,0 +1,2896 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Type, InjectionToken, OnInit, ViewContainerRef, ModuleWithProviders, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, OnDestroy, Injector, PipeTransform, Provider } from '@angular/core';
3
+ import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
4
+ import * as _ngrx_signals from '@ngrx/signals';
5
+ import * as _acorex_platform_core from '@acorex/platform/core';
6
+ import { Observable } from 'rxjs';
7
+ import { NavigationExtras } from '@angular/router';
8
+
9
+ /**
10
+ * Additional suggested generic actions for future consideration:
11
+ *
12
+ * Data & Content Actions:
13
+ * - Search = 'search' - Search functionality
14
+ * - Filter = 'filter' - Apply filters
15
+ * - Sort = 'sort' - Sort data
16
+ * - Group = 'group' - Group data
17
+ * - Expand = 'expand' - Expand details
18
+ * - Collapse = 'collapse' - Collapse details
19
+ * - Pin = 'pin' - Pin to favorites
20
+ * - Bookmark = 'bookmark' - Bookmark item
21
+ * - Favorite = 'favorite' - Mark as favorite
22
+ * - Star = 'star' - Star rating
23
+ *
24
+ * Workflow Actions:
25
+ * - Start = 'start' - Start process/workflow
26
+ * - Stop = 'stop' - Stop process
27
+ * - Pause = 'pause' - Pause process
28
+ * - Resume = 'resume' - Resume process
29
+ * - Cancel = 'cancel' - Cancel operation
30
+ * - Complete = 'complete' - Mark as complete
31
+ * - Close = 'close' - Close item
32
+ * - Reopen = 'reopen' - Reopen closed item
33
+ * - Forward = 'forward' - Forward to next step
34
+ * - Back = 'back' - Go back
35
+ *
36
+ * Communication Actions:
37
+ * - Reply = 'reply' - Reply to message
38
+ * - Forward = 'forward' - Forward message
39
+ * - Notify = 'notify' - Send notification
40
+ * - Invite = 'invite' - Invite user
41
+ * - Join = 'join' - Join group/meeting
42
+ * - Leave = 'leave' - Leave group/meeting
43
+ *
44
+ * Security Actions:
45
+ * - Login = 'login' - User login
46
+ * - Logout = 'logout' - User logout
47
+ * - Block = 'block' - Block user/content
48
+ * - Unblock = 'unblock' - Unblock user/content
49
+ * - Ban = 'ban' - Ban user
50
+ * - Unban = 'unban' - Unban user
51
+ * - Verify = 'verify' - Verify identity
52
+ * - Authenticate = 'authenticate' - Authenticate
53
+ *
54
+ * File & Media Actions:
55
+ * - Open = 'open' - Open file
56
+ * - Save = 'save' - Save file
57
+ * - SaveAs = 'save-as' - Save as new file
58
+ * - Attach = 'attach' - Attach file
59
+ * - Detach = 'detach' - Detach file
60
+ * - Compress = 'compress' - Compress files
61
+ * - Extract = 'extract' - Extract archive
62
+ * - Convert = 'convert' - Convert format
63
+ * - Crop = 'crop' - Crop image
64
+ * - Resize = 'resize' - Resize image
65
+ *
66
+ * System Actions:
67
+ * - Sync = 'sync' - Synchronize data
68
+ * - Backup = 'backup' - Create backup
69
+ * - Restore = 'restore' - Restore from backup
70
+ * - Reset = 'reset' - Reset to defaults
71
+ * - Clear = 'clear' - Clear data
72
+ * - Optimize = 'optimize' - Optimize performance
73
+ * - Update = 'update' - Update system
74
+ * - Install = 'install' - Install component
75
+ * - Uninstall = 'uninstall' - Uninstall component
76
+ * - Enable = 'enable' - Enable feature
77
+ * - Disable = 'disable' - Disable feature
78
+ *
79
+ * Analytics & Monitoring:
80
+ * - Monitor = 'monitor' - Monitor activity
81
+ * - Track = 'track' - Track progress
82
+ * - Analyze = 'analyze' - Analyze data
83
+ * - Debug = 'debug' - Debug issue
84
+ * - Log = 'log' - View logs
85
+ * - Alert = 'alert' - Set alert
86
+ * - Dashboard = 'dashboard' - View dashboard
87
+ * - Metrics = 'metrics' - View metrics
88
+ *
89
+ * Collaboration Actions:
90
+ * - Collaborate = 'collaborate' - Start collaboration
91
+ * - Share = 'share' - Share content
92
+ * - Comment = 'comment' - Add comment
93
+ * - Like = 'like' - Like content
94
+ * - Follow = 'follow' - Follow user/content
95
+ * - Subscribe = 'subscribe' - Subscribe to updates
96
+ * - Unsubscribe = 'unsubscribe' - Unsubscribe
97
+ * - Rate = 'rate' - Rate content
98
+ * - Review = 'review' - Review content
99
+ * - Recommend = 'recommend' - Recommend content
100
+ */
101
+ declare enum AXPSystemActionType {
102
+ View = "view",
103
+ Create = "create",
104
+ Update = "update",
105
+ Delete = "delete",
106
+ Approve = "approve",
107
+ Reject = "reject",
108
+ Submit = "submit",
109
+ Export = "export",
110
+ Import = "import",
111
+ Print = "print",
112
+ Assign = "assign",
113
+ Lock = "lock",
114
+ Unlock = "unlock",
115
+ Share = "share",
116
+ Configure = "configure",
117
+ Reorder = "reorder",
118
+ Preview = "preview",
119
+ Duplicate = "duplicate",
120
+ Archive = "archive",
121
+ Publish = "publish",
122
+ Unpublish = "unpublish",
123
+ Upload = "upload",
124
+ Download = "download",
125
+ Copy = "copy",
126
+ Move = "move",
127
+ Rename = "rename",
128
+ Restore = "restore",
129
+ Manage = "manage",
130
+ Info = "info",
131
+ Confirm = "confirm",
132
+ Design = "design",
133
+ VersionHistory = "version-history",
134
+ Compare = "compare",
135
+ Comments = "comments",
136
+ Sign = "sign",
137
+ Setup = "setup",
138
+ Send = "send",
139
+ Report = "report",
140
+ Sent = "sent",
141
+ Review = "review",
142
+ Generate = "generate",
143
+ Refresh = "refresh",
144
+ Reload = "reload",
145
+ Search = "search",
146
+ Filter = "filter",
147
+ Sort = "sort",
148
+ Start = "start",
149
+ Stop = "stop",
150
+ Pause = "pause",
151
+ Cancel = "cancel",
152
+ Close = "close",
153
+ Complete = "complete",
154
+ Save = "save",
155
+ SaveAs = "save-as",
156
+ Sync = "sync",
157
+ Reset = "reset",
158
+ Clear = "clear",
159
+ Distribution = "distribution"
160
+ }
161
+ interface AXPSystemAction {
162
+ key: string;
163
+ title: string;
164
+ icon?: string;
165
+ color?: string;
166
+ critical?: boolean;
167
+ descriptions: {
168
+ title: string;
169
+ tooltip: string;
170
+ permission: string;
171
+ audit: string;
172
+ };
173
+ }
174
+ declare const AXPSystemActions: Readonly<{
175
+ readonly View: {
176
+ readonly key: AXPSystemActionType.View;
177
+ readonly title: string;
178
+ readonly icon: "fa-light fa-eye";
179
+ readonly color: "primary";
180
+ readonly descriptions: {
181
+ readonly title: string;
182
+ readonly tooltip: string;
183
+ readonly permission: string;
184
+ readonly audit: string;
185
+ };
186
+ };
187
+ readonly Create: {
188
+ readonly key: AXPSystemActionType.Create;
189
+ readonly title: string;
190
+ readonly icon: "fa-light fa-plus";
191
+ readonly color: "primary";
192
+ readonly descriptions: {
193
+ readonly title: string;
194
+ readonly tooltip: string;
195
+ readonly permission: string;
196
+ readonly audit: string;
197
+ };
198
+ };
199
+ readonly Edit: {
200
+ readonly key: AXPSystemActionType.Update;
201
+ readonly title: string;
202
+ readonly icon: "fa-light fa-pen";
203
+ readonly color: "default";
204
+ readonly descriptions: {
205
+ readonly title: string;
206
+ readonly tooltip: string;
207
+ readonly permission: string;
208
+ readonly audit: string;
209
+ };
210
+ };
211
+ readonly Delete: {
212
+ readonly key: AXPSystemActionType.Delete;
213
+ readonly title: string;
214
+ readonly icon: "fa-light fa-trash";
215
+ readonly color: "danger";
216
+ readonly critical: true;
217
+ readonly descriptions: {
218
+ readonly title: string;
219
+ readonly tooltip: string;
220
+ readonly permission: string;
221
+ readonly audit: string;
222
+ };
223
+ };
224
+ readonly Approve: {
225
+ readonly key: AXPSystemActionType.Approve;
226
+ readonly title: string;
227
+ readonly icon: "fa-light fa-circle-check";
228
+ readonly color: "success";
229
+ readonly critical: true;
230
+ readonly descriptions: {
231
+ readonly title: string;
232
+ readonly tooltip: string;
233
+ readonly permission: string;
234
+ readonly audit: string;
235
+ };
236
+ };
237
+ readonly Submit: {
238
+ readonly key: AXPSystemActionType.Submit;
239
+ readonly title: string;
240
+ readonly icon: "fa-light fa-paper-plane";
241
+ readonly color: "primary";
242
+ readonly descriptions: {
243
+ readonly title: string;
244
+ readonly tooltip: string;
245
+ readonly permission: string;
246
+ readonly audit: string;
247
+ };
248
+ };
249
+ readonly Reject: {
250
+ readonly key: AXPSystemActionType.Reject;
251
+ readonly title: string;
252
+ readonly icon: "fa-light fa-ban";
253
+ readonly color: "danger";
254
+ readonly critical: true;
255
+ readonly descriptions: {
256
+ readonly title: string;
257
+ readonly tooltip: string;
258
+ readonly permission: string;
259
+ readonly audit: string;
260
+ };
261
+ };
262
+ readonly Export: {
263
+ readonly key: AXPSystemActionType.Export;
264
+ readonly title: string;
265
+ readonly icon: "fa-light fa-download";
266
+ readonly color: "default";
267
+ readonly descriptions: {
268
+ readonly title: string;
269
+ readonly tooltip: string;
270
+ readonly permission: string;
271
+ readonly audit: string;
272
+ };
273
+ };
274
+ readonly Import: {
275
+ readonly key: AXPSystemActionType.Import;
276
+ readonly title: string;
277
+ readonly icon: "fa-light fa-upload";
278
+ readonly color: "default";
279
+ readonly descriptions: {
280
+ readonly title: string;
281
+ readonly tooltip: string;
282
+ readonly permission: string;
283
+ readonly audit: string;
284
+ };
285
+ };
286
+ readonly Print: {
287
+ readonly key: AXPSystemActionType.Print;
288
+ readonly title: string;
289
+ readonly icon: "fa-light fa-print";
290
+ readonly color: "default";
291
+ readonly descriptions: {
292
+ readonly title: string;
293
+ readonly tooltip: string;
294
+ readonly permission: string;
295
+ readonly audit: string;
296
+ };
297
+ };
298
+ readonly Duplicate: {
299
+ readonly key: AXPSystemActionType.Duplicate;
300
+ readonly title: string;
301
+ readonly icon: "fa-light fa-clone";
302
+ readonly color: "warning";
303
+ readonly descriptions: {
304
+ readonly title: string;
305
+ readonly tooltip: string;
306
+ readonly permission: string;
307
+ readonly audit: string;
308
+ };
309
+ };
310
+ readonly Archive: {
311
+ readonly key: AXPSystemActionType.Archive;
312
+ readonly title: string;
313
+ readonly icon: "fa-light fa-box-archive";
314
+ readonly color: "default";
315
+ readonly descriptions: {
316
+ readonly title: string;
317
+ readonly tooltip: string;
318
+ readonly permission: string;
319
+ readonly audit: string;
320
+ };
321
+ };
322
+ readonly Restore: {
323
+ readonly key: AXPSystemActionType.Restore;
324
+ readonly title: string;
325
+ readonly icon: "fa-light fa-arrow-rotate-left";
326
+ readonly color: "default";
327
+ readonly descriptions: {
328
+ readonly title: string;
329
+ readonly tooltip: string;
330
+ readonly permission: string;
331
+ readonly audit: string;
332
+ };
333
+ };
334
+ readonly Assign: {
335
+ readonly key: AXPSystemActionType.Assign;
336
+ readonly title: string;
337
+ readonly icon: "fa-light fa-user-plus";
338
+ readonly color: "primary";
339
+ readonly descriptions: {
340
+ readonly title: string;
341
+ readonly tooltip: string;
342
+ readonly permission: string;
343
+ readonly audit: string;
344
+ };
345
+ };
346
+ readonly Lock: {
347
+ readonly key: AXPSystemActionType.Lock;
348
+ readonly title: string;
349
+ readonly icon: "fa-light fa-lock";
350
+ readonly color: "warning";
351
+ readonly descriptions: {
352
+ readonly title: string;
353
+ readonly tooltip: string;
354
+ readonly permission: string;
355
+ readonly audit: string;
356
+ };
357
+ };
358
+ readonly Unlock: {
359
+ readonly key: AXPSystemActionType.Unlock;
360
+ readonly title: string;
361
+ readonly icon: "fa-light fa-unlock";
362
+ readonly color: "success";
363
+ readonly descriptions: {
364
+ readonly title: string;
365
+ readonly tooltip: string;
366
+ readonly permission: string;
367
+ readonly audit: string;
368
+ };
369
+ };
370
+ readonly Share: {
371
+ readonly key: AXPSystemActionType.Share;
372
+ readonly title: string;
373
+ readonly icon: "fa-light fa-share-nodes";
374
+ readonly color: "info";
375
+ readonly descriptions: {
376
+ readonly title: string;
377
+ readonly tooltip: string;
378
+ readonly permission: string;
379
+ readonly audit: string;
380
+ };
381
+ };
382
+ readonly Configure: {
383
+ readonly key: AXPSystemActionType.Configure;
384
+ readonly title: string;
385
+ readonly icon: "fa-light fa-sliders";
386
+ readonly color: "primary";
387
+ readonly descriptions: {
388
+ readonly title: string;
389
+ readonly tooltip: string;
390
+ readonly permission: string;
391
+ readonly audit: string;
392
+ };
393
+ };
394
+ readonly Reorder: {
395
+ readonly key: AXPSystemActionType.Reorder;
396
+ readonly title: string;
397
+ readonly icon: "fa-light fa-arrow-down-up-across-line";
398
+ readonly color: "default";
399
+ readonly descriptions: {
400
+ readonly title: string;
401
+ readonly tooltip: string;
402
+ readonly permission: string;
403
+ readonly audit: string;
404
+ };
405
+ };
406
+ readonly Preview: {
407
+ readonly key: AXPSystemActionType.Preview;
408
+ readonly title: string;
409
+ readonly icon: "fa-light fa-magnifying-glass";
410
+ readonly color: "default";
411
+ readonly descriptions: {
412
+ readonly title: string;
413
+ readonly tooltip: string;
414
+ readonly permission: string;
415
+ readonly audit: string;
416
+ };
417
+ };
418
+ readonly Publish: {
419
+ readonly key: AXPSystemActionType.Publish;
420
+ readonly title: string;
421
+ readonly icon: "fa-light fa-globe";
422
+ readonly color: "success";
423
+ readonly descriptions: {
424
+ readonly title: string;
425
+ readonly tooltip: string;
426
+ readonly permission: string;
427
+ readonly audit: string;
428
+ };
429
+ };
430
+ readonly Unpublish: {
431
+ readonly key: AXPSystemActionType.Unpublish;
432
+ readonly title: string;
433
+ readonly icon: "fa-light fa-globe-slash";
434
+ readonly color: "danger";
435
+ readonly descriptions: {
436
+ readonly title: string;
437
+ readonly tooltip: string;
438
+ readonly permission: string;
439
+ readonly audit: string;
440
+ };
441
+ };
442
+ readonly Upload: {
443
+ readonly key: AXPSystemActionType.Upload;
444
+ readonly title: string;
445
+ readonly icon: "fa-light fa-upload";
446
+ readonly color: "default";
447
+ readonly descriptions: {
448
+ readonly title: string;
449
+ readonly tooltip: string;
450
+ readonly permission: string;
451
+ readonly audit: string;
452
+ };
453
+ };
454
+ readonly Download: {
455
+ readonly key: AXPSystemActionType.Download;
456
+ readonly title: string;
457
+ readonly icon: "fa-light fa-download";
458
+ readonly color: "default";
459
+ readonly descriptions: {
460
+ readonly title: string;
461
+ readonly tooltip: string;
462
+ readonly permission: string;
463
+ readonly audit: string;
464
+ };
465
+ };
466
+ readonly Copy: {
467
+ readonly key: AXPSystemActionType.Copy;
468
+ readonly title: string;
469
+ readonly icon: "fa-light fa-copy";
470
+ readonly color: "default";
471
+ readonly descriptions: {
472
+ readonly title: string;
473
+ readonly tooltip: string;
474
+ readonly permission: string;
475
+ readonly audit: string;
476
+ };
477
+ };
478
+ readonly Move: {
479
+ readonly key: AXPSystemActionType.Move;
480
+ readonly title: string;
481
+ readonly icon: "fa-light fa-arrow-right-arrow-left";
482
+ readonly color: "default";
483
+ readonly descriptions: {
484
+ readonly title: string;
485
+ readonly tooltip: string;
486
+ readonly permission: string;
487
+ readonly audit: string;
488
+ };
489
+ };
490
+ readonly Rename: {
491
+ readonly key: AXPSystemActionType.Rename;
492
+ readonly title: string;
493
+ readonly icon: "fa-light fa-pen";
494
+ readonly color: "default";
495
+ readonly descriptions: {
496
+ readonly title: string;
497
+ readonly tooltip: string;
498
+ readonly permission: string;
499
+ readonly audit: string;
500
+ };
501
+ };
502
+ readonly Manage: {
503
+ readonly key: AXPSystemActionType.Manage;
504
+ readonly title: string;
505
+ readonly icon: "fa-light fa-gear";
506
+ readonly color: "default";
507
+ readonly descriptions: {
508
+ readonly title: string;
509
+ readonly tooltip: string;
510
+ readonly permission: string;
511
+ readonly audit: string;
512
+ };
513
+ };
514
+ readonly Info: {
515
+ readonly key: AXPSystemActionType.Info;
516
+ readonly title: string;
517
+ readonly icon: "fa-light fa-info";
518
+ readonly color: "default";
519
+ readonly descriptions: {
520
+ readonly title: string;
521
+ readonly tooltip: string;
522
+ readonly permission: string;
523
+ readonly audit: string;
524
+ };
525
+ };
526
+ readonly Confirm: {
527
+ readonly key: AXPSystemActionType.Confirm;
528
+ readonly title: string;
529
+ readonly icon: "fa-light fa-check";
530
+ readonly color: "success";
531
+ readonly descriptions: {
532
+ readonly title: string;
533
+ readonly tooltip: string;
534
+ readonly permission: string;
535
+ readonly audit: string;
536
+ };
537
+ };
538
+ readonly Design: {
539
+ readonly key: AXPSystemActionType.Design;
540
+ readonly title: string;
541
+ readonly icon: "fa-light fa-paintbrush";
542
+ readonly color: "default";
543
+ readonly descriptions: {
544
+ readonly title: string;
545
+ readonly tooltip: string;
546
+ readonly permission: string;
547
+ readonly audit: string;
548
+ };
549
+ };
550
+ readonly VersionHistory: {
551
+ readonly key: AXPSystemActionType.VersionHistory;
552
+ readonly title: string;
553
+ readonly icon: "fa-light fa-history";
554
+ readonly color: "default";
555
+ readonly descriptions: {
556
+ readonly title: string;
557
+ readonly tooltip: string;
558
+ readonly permission: string;
559
+ readonly audit: string;
560
+ };
561
+ };
562
+ readonly Compare: {
563
+ readonly key: AXPSystemActionType.Compare;
564
+ readonly title: string;
565
+ readonly icon: "fa-light fa-code-compare";
566
+ readonly color: "default";
567
+ readonly descriptions: {
568
+ readonly title: string;
569
+ readonly tooltip: string;
570
+ readonly permission: string;
571
+ readonly audit: string;
572
+ };
573
+ };
574
+ readonly Comments: {
575
+ readonly key: AXPSystemActionType.Comments;
576
+ readonly title: string;
577
+ readonly icon: "fa-light fa-comments";
578
+ readonly color: "default";
579
+ readonly descriptions: {
580
+ readonly title: string;
581
+ readonly tooltip: string;
582
+ readonly permission: string;
583
+ readonly audit: string;
584
+ };
585
+ };
586
+ readonly Sign: {
587
+ readonly key: AXPSystemActionType.Sign;
588
+ readonly title: string;
589
+ readonly icon: "fa-light fa-signature";
590
+ readonly color: "default";
591
+ readonly descriptions: {
592
+ readonly title: string;
593
+ readonly tooltip: string;
594
+ readonly permission: string;
595
+ readonly audit: string;
596
+ };
597
+ };
598
+ readonly Setup: {
599
+ readonly key: AXPSystemActionType.Setup;
600
+ readonly title: string;
601
+ readonly icon: "fa-light fa-cog";
602
+ readonly color: "default";
603
+ readonly descriptions: {
604
+ readonly title: string;
605
+ readonly tooltip: string;
606
+ readonly permission: string;
607
+ readonly audit: string;
608
+ };
609
+ };
610
+ readonly Send: {
611
+ readonly key: AXPSystemActionType.Send;
612
+ readonly title: string;
613
+ readonly icon: "fa-light fa-envelope";
614
+ readonly color: "default";
615
+ readonly descriptions: {
616
+ readonly title: string;
617
+ readonly tooltip: string;
618
+ readonly permission: string;
619
+ readonly audit: string;
620
+ };
621
+ };
622
+ readonly Report: {
623
+ readonly key: AXPSystemActionType.Report;
624
+ readonly title: string;
625
+ readonly icon: "fa-light fa-chart-line";
626
+ readonly color: "default";
627
+ readonly descriptions: {
628
+ readonly title: string;
629
+ readonly tooltip: string;
630
+ readonly permission: string;
631
+ readonly audit: string;
632
+ };
633
+ };
634
+ readonly Sent: {
635
+ readonly key: AXPSystemActionType.Sent;
636
+ readonly title: string;
637
+ readonly icon: "fa-light fa-paper-plane";
638
+ readonly color: "default";
639
+ readonly descriptions: {
640
+ readonly title: string;
641
+ readonly tooltip: string;
642
+ readonly permission: string;
643
+ readonly audit: string;
644
+ };
645
+ };
646
+ readonly Review: {
647
+ readonly key: AXPSystemActionType.Review;
648
+ readonly title: string;
649
+ readonly icon: "fa-light fa-eye";
650
+ readonly color: "default";
651
+ readonly descriptions: {
652
+ readonly title: string;
653
+ readonly tooltip: string;
654
+ readonly permission: string;
655
+ readonly audit: string;
656
+ };
657
+ };
658
+ readonly Generate: {
659
+ readonly key: AXPSystemActionType.Generate;
660
+ readonly title: string;
661
+ readonly icon: "fa-light fa-wand-magic-sparkles";
662
+ readonly color: "primary";
663
+ readonly descriptions: {
664
+ readonly title: string;
665
+ readonly tooltip: string;
666
+ readonly permission: string;
667
+ readonly audit: string;
668
+ };
669
+ };
670
+ readonly Refresh: {
671
+ readonly key: AXPSystemActionType.Refresh;
672
+ readonly title: string;
673
+ readonly icon: "fa-light fa-arrows-rotate";
674
+ readonly color: "default";
675
+ readonly descriptions: {
676
+ readonly title: string;
677
+ readonly tooltip: string;
678
+ readonly permission: string;
679
+ readonly audit: string;
680
+ };
681
+ };
682
+ readonly Reload: {
683
+ readonly key: AXPSystemActionType.Reload;
684
+ readonly title: string;
685
+ readonly icon: "fa-light fa-arrows-rotate";
686
+ readonly color: "default";
687
+ readonly descriptions: {
688
+ readonly title: string;
689
+ readonly tooltip: string;
690
+ readonly permission: string;
691
+ readonly audit: string;
692
+ };
693
+ };
694
+ readonly Search: {
695
+ readonly key: AXPSystemActionType.Search;
696
+ readonly title: string;
697
+ readonly icon: "fa-light fa-magnifying-glass";
698
+ readonly color: "default";
699
+ readonly descriptions: {
700
+ readonly title: string;
701
+ readonly tooltip: string;
702
+ readonly permission: string;
703
+ readonly audit: string;
704
+ };
705
+ };
706
+ readonly Filter: {
707
+ readonly key: AXPSystemActionType.Filter;
708
+ readonly title: string;
709
+ readonly icon: "fa-light fa-filter";
710
+ readonly color: "default";
711
+ readonly descriptions: {
712
+ readonly title: string;
713
+ readonly tooltip: string;
714
+ readonly permission: string;
715
+ readonly audit: string;
716
+ };
717
+ };
718
+ readonly Sort: {
719
+ readonly key: AXPSystemActionType.Sort;
720
+ readonly title: string;
721
+ readonly icon: "fa-light fa-arrow-down-up-across-line";
722
+ readonly color: "default";
723
+ readonly descriptions: {
724
+ readonly title: string;
725
+ readonly tooltip: string;
726
+ readonly permission: string;
727
+ readonly audit: string;
728
+ };
729
+ };
730
+ readonly Start: {
731
+ readonly key: AXPSystemActionType.Start;
732
+ readonly title: string;
733
+ readonly icon: "fa-light fa-play";
734
+ readonly color: "success";
735
+ readonly descriptions: {
736
+ readonly title: string;
737
+ readonly tooltip: string;
738
+ readonly permission: string;
739
+ readonly audit: string;
740
+ };
741
+ };
742
+ readonly Stop: {
743
+ readonly key: AXPSystemActionType.Stop;
744
+ readonly title: string;
745
+ readonly icon: "fa-light fa-stop";
746
+ readonly color: "danger";
747
+ readonly critical: true;
748
+ readonly descriptions: {
749
+ readonly title: string;
750
+ readonly tooltip: string;
751
+ readonly permission: string;
752
+ readonly audit: string;
753
+ };
754
+ };
755
+ readonly Pause: {
756
+ readonly key: AXPSystemActionType.Pause;
757
+ readonly title: string;
758
+ readonly icon: "fa-light fa-pause";
759
+ readonly color: "warning";
760
+ readonly descriptions: {
761
+ readonly title: string;
762
+ readonly tooltip: string;
763
+ readonly permission: string;
764
+ readonly audit: string;
765
+ };
766
+ };
767
+ readonly Cancel: {
768
+ readonly key: AXPSystemActionType.Cancel;
769
+ readonly title: string;
770
+ readonly icon: "fa-light fa-xmark";
771
+ readonly critical: true;
772
+ readonly descriptions: {
773
+ readonly title: string;
774
+ readonly tooltip: string;
775
+ readonly permission: string;
776
+ readonly audit: string;
777
+ };
778
+ };
779
+ readonly Close: {
780
+ readonly key: AXPSystemActionType.Close;
781
+ readonly title: string;
782
+ readonly icon: "fa-light fa-xmark";
783
+ readonly color: "default";
784
+ readonly descriptions: {
785
+ readonly title: string;
786
+ readonly tooltip: string;
787
+ readonly permission: string;
788
+ readonly audit: string;
789
+ };
790
+ };
791
+ readonly Complete: {
792
+ readonly key: AXPSystemActionType.Complete;
793
+ readonly title: string;
794
+ readonly icon: "fa-light fa-check";
795
+ readonly color: "success";
796
+ readonly descriptions: {
797
+ readonly title: string;
798
+ readonly tooltip: string;
799
+ readonly permission: string;
800
+ readonly audit: string;
801
+ };
802
+ };
803
+ readonly Save: {
804
+ readonly key: AXPSystemActionType.Save;
805
+ readonly title: string;
806
+ readonly icon: "fa-light fa-floppy-disk";
807
+ readonly color: "primary";
808
+ readonly descriptions: {
809
+ readonly title: string;
810
+ readonly tooltip: string;
811
+ readonly permission: string;
812
+ readonly audit: string;
813
+ };
814
+ };
815
+ readonly SaveAs: {
816
+ readonly key: AXPSystemActionType.SaveAs;
817
+ readonly title: string;
818
+ readonly icon: "fa-light fa-floppy-disk";
819
+ readonly color: "default";
820
+ readonly descriptions: {
821
+ readonly title: string;
822
+ readonly tooltip: string;
823
+ readonly permission: string;
824
+ readonly audit: string;
825
+ };
826
+ };
827
+ readonly Sync: {
828
+ readonly key: AXPSystemActionType.Sync;
829
+ readonly title: string;
830
+ readonly icon: "fa-light fa-arrows-rotate";
831
+ readonly color: "default";
832
+ readonly descriptions: {
833
+ readonly title: string;
834
+ readonly tooltip: string;
835
+ readonly permission: string;
836
+ readonly audit: string;
837
+ };
838
+ };
839
+ readonly Reset: {
840
+ readonly key: AXPSystemActionType.Reset;
841
+ readonly title: string;
842
+ readonly icon: "fa-light fa-arrow-rotate-left";
843
+ readonly color: "warning";
844
+ readonly critical: true;
845
+ readonly descriptions: {
846
+ readonly title: string;
847
+ readonly tooltip: string;
848
+ readonly permission: string;
849
+ readonly audit: string;
850
+ };
851
+ };
852
+ readonly Clear: {
853
+ readonly key: AXPSystemActionType.Clear;
854
+ readonly title: string;
855
+ readonly icon: "fa-light fa-eraser";
856
+ readonly color: "default";
857
+ readonly descriptions: {
858
+ readonly title: string;
859
+ readonly tooltip: string;
860
+ readonly permission: string;
861
+ readonly audit: string;
862
+ };
863
+ };
864
+ readonly Distribution: {
865
+ readonly key: AXPSystemActionType.Distribution;
866
+ readonly title: string;
867
+ readonly icon: "fa-light fa-share-nodes";
868
+ readonly color: "default";
869
+ readonly descriptions: {
870
+ readonly title: string;
871
+ readonly tooltip: string;
872
+ readonly permission: string;
873
+ readonly audit: string;
874
+ };
875
+ };
876
+ }>;
877
+ declare function getSystemActions(type: AXPSystemActionType): AXPSystemAction;
878
+ /**
879
+ * Resolves the visual appearance (color and icon) for entity actions
880
+ * using the system actions from the core module.
881
+ */
882
+ declare function resolveActionLook(actionType: string): {
883
+ color: AXStyleColorType;
884
+ icon: string;
885
+ };
886
+ /**
887
+ * Resolves the title, description, icon and color for button actions
888
+ * using the system actions from the core module.
889
+ * @param actionType
890
+ * @returns
891
+ */
892
+ declare function getActionButton(actionType: string): {
893
+ name: string;
894
+ title: string;
895
+ description: string;
896
+ icon: string;
897
+ color: string;
898
+ };
899
+
900
+ interface AXPColumnQuery {
901
+ name: string;
902
+ title: string;
903
+ visible: boolean | string;
904
+ }
905
+
906
+ type AXPPartialNested<T> = {
907
+ [K in keyof T]?: T[K] extends object ? AXPPartialNested<T[K]> : T[K];
908
+ };
909
+ declare function getNestedKeys(obj: any, prefix?: string): string[];
910
+ type AXPExpression = string;
911
+ /**
912
+ * Plain or rich text that may be localized: a single string or a map of locale code to string.
913
+ * Use when multi-language editing stores `Record<locale, string>` instead of one string.
914
+ *
915
+ * @example Single value (one locale or shared text)
916
+ * `"<p>Pick one</p>"`
917
+ *
918
+ * @example Per-locale map (e.g. after multi-language editor save)
919
+ * `{ "en-US": "<p>Pick one</p>", "fa-IR": "<p>یکی را انتخاب کنید</p>" }`
920
+ */
921
+ type AXPMultiLanguageString = string | Record<string, string>;
922
+ type AXPMetaData = Record<string, any>;
923
+ type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;
924
+ interface AXPValueUnit {
925
+ name: string;
926
+ title: string;
927
+ ratio: number;
928
+ order: number;
929
+ }
930
+ interface AXPValueUnits {
931
+ name: string;
932
+ title: string;
933
+ items: AXPValueUnit[];
934
+ default: string;
935
+ }
936
+ interface AXPEntityReference {
937
+ id: string;
938
+ type: string;
939
+ title?: string;
940
+ metadata?: AXPMetaData;
941
+ }
942
+ interface AXPUserReference {
943
+ id: string;
944
+ type?: 'user';
945
+ fullName?: string;
946
+ username?: string;
947
+ }
948
+ interface AXPApplicationUserReference {
949
+ id: string;
950
+ name: string;
951
+ title: string;
952
+ }
953
+ type AXPContentType = 'text' | 'image' | 'file' | 'video' | 'link';
954
+ interface AXPContent {
955
+ content: string;
956
+ contentType: AXPContentType;
957
+ }
958
+ type AXPMaybePromise<T = unknown> = T | Promise<T>;
959
+
960
+ type AXPDataSource = string | AXDataSource | any[];
961
+ type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';
962
+ interface AXPPagedListResult<T = any> {
963
+ items: T[];
964
+ total: number;
965
+ }
966
+ interface AXPQueryRequest {
967
+ skip: number;
968
+ take: number;
969
+ sort?: AXDataSourceSortOption[];
970
+ filter?: AXDataSourceFilterOption;
971
+ params?: {
972
+ [key: string]: string;
973
+ };
974
+ }
975
+ /**
976
+ * Category Entity - Base interface for hierarchical category structures
977
+ *
978
+ * This interface provides a standardized data model for category entities across the platform.
979
+ * All category entities (e.g., ReportCategory, ActivityCategory, WorkflowCategory) extend this interface
980
+ * to ensure consistency in data structure and field names.
981
+ *
982
+ * @template TKey - The type of the identifier key (default: string)
983
+ *
984
+ * @example
985
+ * ```typescript
986
+ * const category: AXPCategoryEntity = {
987
+ * id: 'cat-001',
988
+ * title: 'Electronics',
989
+ * description: 'Electronic products',
990
+ * parentId: undefined, // Root category
991
+ * childrenCount: 2, // Has 2 direct child categories
992
+ * itemsCount: 5, // Has 5 items directly in this category
993
+ * totalChildrenCount: 6, // Total of 6 nested categories (including grandchildren)
994
+ * totalItemsCount: 23 // Total of 23 items in entire category tree
995
+ * };
996
+ * ```
997
+ */
998
+ interface AXPCategoryEntity<TKey = string> {
999
+ /** Unique identifier for the category */
1000
+ id: TKey;
1001
+ /** Display name of the category (required) */
1002
+ title: AXPMultiLanguageString;
1003
+ /** Optional description of the category */
1004
+ description?: AXPMultiLanguageString;
1005
+ /** Parent category ID (undefined for root categories) */
1006
+ parentId?: TKey;
1007
+ /**
1008
+ * Count of direct child categories only (not recursive)
1009
+ *
1010
+ * Used by UI components to determine if a category has children and should show an expand icon.
1011
+ * This enables efficient lazy loading - components can check this property without querying the API.
1012
+ *
1013
+ * @example
1014
+ * - Category with 2 direct children: `childrenCount: 2`
1015
+ * - Leaf category (no children): `childrenCount: 0`
1016
+ *
1017
+ * @remarks
1018
+ * - Always set to `0` for leaf categories
1019
+ * - Does not include grandchildren or nested descendants
1020
+ * - Automatically maintained by middleware for category entities
1021
+ */
1022
+ childrenCount: number;
1023
+ /**
1024
+ * Count of items directly assigned to this category (not recursive)
1025
+ *
1026
+ * Represents the number of items (e.g., reports, activities, workflows) that are directly
1027
+ * assigned to this category. Does not include items from child categories.
1028
+ *
1029
+ * Useful for:
1030
+ * - Displaying item counts per category in UI (e.g., "5 reports" badge)
1031
+ * - Optimizing queries (skip API call if itemsCount === 0)
1032
+ * - Showing category statistics
1033
+ *
1034
+ * @example
1035
+ * - Category with 5 reports directly assigned: `itemsCount: 5`
1036
+ * - Category with no direct items: `itemsCount: 0` or `undefined`
1037
+ *
1038
+ * @remarks
1039
+ * - Does not include items from child categories
1040
+ * - Can be calculated dynamically or stored
1041
+ * - Optional - may be undefined if not needed
1042
+ */
1043
+ itemsCount?: number;
1044
+ /**
1045
+ * Recursive count of all nested child categories (includes all descendants)
1046
+ *
1047
+ * Represents the total number of categories in the entire subtree starting from this category.
1048
+ * Includes children, grandchildren, and all nested descendants.
1049
+ *
1050
+ * Useful for:
1051
+ * - Analytics and summary displays
1052
+ * - Showing complete category tree scope
1053
+ * - Performance metrics
1054
+ *
1055
+ * @example
1056
+ * Root category with:
1057
+ * - 2 direct children
1058
+ * - Each child has 2 children (4 grandchildren)
1059
+ * Result: `totalChildrenCount: 6` (2 + 4)
1060
+ *
1061
+ * @remarks
1062
+ * - Optional - typically used for analytics
1063
+ * - Includes all nested levels (recursive)
1064
+ * - Can be expensive to calculate for large trees
1065
+ */
1066
+ totalChildrenCount?: number;
1067
+ /**
1068
+ * Recursive count of all items in this category and all descendants
1069
+ *
1070
+ * Represents the total number of items (e.g., reports, activities, workflows) in the entire
1071
+ * category tree, including items from this category and all nested child categories.
1072
+ *
1073
+ * Useful for:
1074
+ * - Analytics and summary displays
1075
+ * - Showing complete scope of a category branch
1076
+ * - Dashboard statistics
1077
+ *
1078
+ * @example
1079
+ * Category with:
1080
+ * - 5 items directly assigned
1081
+ * - 1 child category with 3 items
1082
+ * Result: `totalItemsCount: 8` (5 + 3)
1083
+ *
1084
+ * @remarks
1085
+ * - Optional - typically used for analytics
1086
+ * - Includes items from all nested categories (recursive)
1087
+ * - Can be expensive to calculate for large trees
1088
+ */
1089
+ totalItemsCount?: number;
1090
+ }
1091
+ interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {
1092
+ items: T[];
1093
+ children?: AXPCategoryEntityWithItems<T>[];
1094
+ }
1095
+ /**
1096
+ * Denormalized category row on entities and DTOs (id + localized display title).
1097
+ * Use for `categories` arrays expanded from {@link AXPCategoryEntity} assignments.
1098
+ */
1099
+ interface AXPCategoryListItem<TKey extends string = string> {
1100
+ id: TKey;
1101
+ title: AXPMultiLanguageString;
1102
+ }
1103
+ interface AXPCategorizedEntity {
1104
+ categoryIds: string[];
1105
+ }
1106
+ interface AXPCategorizedEntityDto {
1107
+ categoryIds: string[];
1108
+ categories: AXPCategoryListItem[];
1109
+ }
1110
+ type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
1111
+
1112
+ type AXPWidgetTrigger = {
1113
+ event: string;
1114
+ action: string | string[];
1115
+ disabled?: boolean;
1116
+ };
1117
+ type AXPWidgetTriggers = AXPWidgetTrigger[];
1118
+
1119
+ type AXPFileStatus = 'attached' | 'uploading' | 'uploaded' | 'deleted' | 'remote' | 'editing';
1120
+ interface AXPFileSource {
1121
+ kind: 'blob' | 'url' | 'preview' | 'none' | 'fileId' | 'reference';
1122
+ value?: Blob | string | AXPEntityReference;
1123
+ }
1124
+ interface AXPFileListItem {
1125
+ id?: string;
1126
+ name: string;
1127
+ size?: number;
1128
+ status: AXPFileStatus;
1129
+ source?: AXPFileSource;
1130
+ meta?: AXPMetaData;
1131
+ /**
1132
+ * When true, the item cannot be renamed, removed, or reverted from the UI.
1133
+ * Independent of widget `options.readonly` (widget-level disables all edits); use this for per-row locks from the server.
1134
+ */
1135
+ readOnly?: boolean;
1136
+ title?: string;
1137
+ description?: string;
1138
+ }
1139
+
1140
+ /**
1141
+ * Filter toolbar trigger entries (same shape as entity `schema.interface.triggers`).
1142
+ * Declared on `AXPFilterDefinition` and populated when building list filter definitions.
1143
+ */
1144
+ interface AXPFilterTriggerDefinition {
1145
+ event: string;
1146
+ action: string;
1147
+ disabled?: boolean;
1148
+ }
1149
+ interface AXPFilterClause extends AXDataSourceFilterOption {
1150
+ id?: string;
1151
+ order?: number;
1152
+ filters?: AXPFilterClause[];
1153
+ }
1154
+ interface AXPFilterDefinition extends AXPFilterClause {
1155
+ title: string;
1156
+ isParametric?: boolean;
1157
+ icon?: string;
1158
+ widget: {
1159
+ type: string;
1160
+ options?: AXPOptionsData;
1161
+ };
1162
+ filterType: {
1163
+ advance: boolean;
1164
+ inline: boolean;
1165
+ preload?: {
1166
+ enabled?: boolean;
1167
+ required?: boolean;
1168
+ };
1169
+ };
1170
+ hidden?: boolean;
1171
+ /**
1172
+ * When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)
1173
+ * using the current filters context.
1174
+ */
1175
+ disabled?: boolean | string;
1176
+ /** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */
1177
+ triggers?: AXPFilterTriggerDefinition[];
1178
+ }
1179
+ interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {
1180
+ filters?: AXPFilterQuery[];
1181
+ displayText?: string;
1182
+ }
1183
+
1184
+ type AXPActionMenuItem = {
1185
+ name?: string;
1186
+ title: string;
1187
+ icon?: string;
1188
+ iconOnly?: boolean;
1189
+ color?: string;
1190
+ break?: boolean;
1191
+ items?: AXPActionMenuItem[];
1192
+ command?: AXPExecuteCommand;
1193
+ disabled?: boolean | string;
1194
+ visible?: boolean | string;
1195
+ policy?: string;
1196
+ };
1197
+ type AXPBackButton = {
1198
+ title: string;
1199
+ };
1200
+ type AXPBreadcrumbItem = {
1201
+ name?: string;
1202
+ title: string;
1203
+ icon?: string;
1204
+ command?: AXPExecuteCommand;
1205
+ };
1206
+ type AXPBadge = {
1207
+ title: string;
1208
+ description?: string;
1209
+ color?: 'primary' | 'success' | 'warning' | 'danger';
1210
+ };
1211
+ type AXPPageStatus = {
1212
+ definitionKey: string;
1213
+ value: string;
1214
+ dataPath?: string;
1215
+ readonly?: boolean;
1216
+ };
1217
+ interface AXPCommandMessage {
1218
+ type?: 'info' | 'success' | 'warning' | 'error';
1219
+ code?: string;
1220
+ text: string;
1221
+ details?: unknown;
1222
+ }
1223
+ type AXPExecuteCommand = {
1224
+ name: string;
1225
+ options?: AXPMetaData;
1226
+ metadata?: AXPMetaData;
1227
+ };
1228
+ interface AXPExecuteCommandResult<T = any> {
1229
+ success: boolean;
1230
+ data?: T;
1231
+ message?: AXPCommandMessage;
1232
+ metadata?: AXPMetaData;
1233
+ }
1234
+ interface AXPQueryFetchResult<T = any> {
1235
+ success: boolean;
1236
+ data?: {
1237
+ items?: T[];
1238
+ total?: number;
1239
+ };
1240
+ message?: {
1241
+ code?: string;
1242
+ text?: string;
1243
+ details?: any;
1244
+ };
1245
+ }
1246
+ type AXPNavigateActionOptions = {
1247
+ router: {
1248
+ path: string;
1249
+ extras?: NavigationExtras & {
1250
+ target?: string;
1251
+ };
1252
+ };
1253
+ modal: {
1254
+ component: Type<any>;
1255
+ title: string;
1256
+ options?: any;
1257
+ };
1258
+ };
1259
+ interface AXPNavigateActionCommand<T extends keyof AXPNavigateActionOptions> {
1260
+ type: T;
1261
+ options: AXPNavigateActionOptions[T];
1262
+ }
1263
+ declare function applySystemActionDefault(action: AXPActionMenuItem, type: AXPSystemActionType): AXPActionMenuItem;
1264
+
1265
+ interface AXPGridPlacement {
1266
+ colStart?: number;
1267
+ colEnd?: number;
1268
+ colSpan?: number;
1269
+ rowStart?: number;
1270
+ rowEnd?: number;
1271
+ rowSpan?: number;
1272
+ order?: string | number;
1273
+ }
1274
+ interface AXPGridLayoutOptions {
1275
+ positions?: {
1276
+ sm?: AXPGridPlacement;
1277
+ md?: AXPGridPlacement;
1278
+ lg?: AXPGridPlacement;
1279
+ xl?: AXPGridPlacement;
1280
+ xxl?: AXPGridPlacement;
1281
+ xxxl?: AXPGridPlacement;
1282
+ };
1283
+ }
1284
+ type AXPFlowDirection = 'vertical' | 'horizontal';
1285
+ type AXPContentDirection = 'rtl' | 'ltr';
1286
+
1287
+ interface AXPLogoConfig {
1288
+ }
1289
+ declare class AXPImageUrlLogoConfig implements AXPLogoConfig {
1290
+ url: string;
1291
+ width?: number | undefined;
1292
+ height?: number | undefined;
1293
+ constructor(url: string, width?: number | undefined, height?: number | undefined);
1294
+ }
1295
+ declare class AXPComponentLogoConfig implements AXPLogoConfig {
1296
+ component: Type<any>;
1297
+ height?: number | undefined;
1298
+ width?: number | undefined;
1299
+ constructor(component: Type<any>);
1300
+ }
1301
+ declare class AXPIconLogoConfig implements AXPLogoConfig {
1302
+ icon: string;
1303
+ color?: string | undefined;
1304
+ constructor(icon: string, color?: string | undefined);
1305
+ }
1306
+
1307
+ type AXPPlatformScopeKey = 'P' | 'T' | 'U';
1308
+ declare enum AXPPlatformScope {
1309
+ Platform = "P",
1310
+ Tenant = "T",
1311
+ User = "U"
1312
+ }
1313
+ declare function resolvePlatformScopeKey(name: string): AXPPlatformScopeKey;
1314
+ declare function resolvePlatformScopeName(scope: AXPPlatformScopeKey): string;
1315
+
1316
+ interface AXPSortDefinition {
1317
+ name: string;
1318
+ title: string;
1319
+ dir?: 'asc' | 'desc';
1320
+ }
1321
+ interface AXPSortQuery extends Pick<AXPSortDefinition, 'name' | 'dir'> {
1322
+ }
1323
+
1324
+ type AXPValidationRule = {
1325
+ rule: string;
1326
+ message?: string;
1327
+ options?: any;
1328
+ disabled?: boolean | AXPExpression;
1329
+ };
1330
+ type AXPValidationRules = AXPValidationRule[];
1331
+ interface AXPRequiredValidationRule extends AXPValidationRule {
1332
+ rule: 'required';
1333
+ }
1334
+ interface AXPMinLengthValidationRule extends AXPValidationRule {
1335
+ rule: 'minLength';
1336
+ options: {
1337
+ minLength: number | AXPExpression;
1338
+ };
1339
+ }
1340
+ interface AXPMaxLengthValidationRule extends AXPValidationRule {
1341
+ rule: 'maxLength';
1342
+ options: {
1343
+ maxLength: number | AXPExpression;
1344
+ };
1345
+ }
1346
+ interface AXPEqualValidationRule<T> extends AXPValidationRule {
1347
+ rule: 'equal';
1348
+ options: {
1349
+ value: T | AXPExpression;
1350
+ };
1351
+ }
1352
+ interface AXPReqexValidationRule extends AXPValidationRule {
1353
+ rule: 'regex';
1354
+ options: {
1355
+ value: string;
1356
+ };
1357
+ }
1358
+ type AXPStringValidationRules = (AXPRequiredValidationRule | AXPMinLengthValidationRule | AXPMaxLengthValidationRule | AXPEqualValidationRule<string> | AXPReqexValidationRule)[];
1359
+
1360
+ interface AXPViewQuery {
1361
+ name: string;
1362
+ fixed: boolean;
1363
+ title: string;
1364
+ columns: string[];
1365
+ conditions: AXPFilterQuery[];
1366
+ sorts: AXPSortQuery[];
1367
+ }
1368
+
1369
+ interface AXPViewDefinition {
1370
+ key: string;
1371
+ title: string;
1372
+ description?: string;
1373
+ icon?: string;
1374
+ blocks: AXPViewBlockDefinition[];
1375
+ layout?: 'vertical' | 'horizontal' | 'grid' | 'custom';
1376
+ actions?: {
1377
+ primary?: AXPActionMenuItem[];
1378
+ secondary?: AXPActionMenuItem[];
1379
+ };
1380
+ }
1381
+ interface AXPViewBlockDefinition {
1382
+ key: string;
1383
+ type: 'form' | 'table' | 'tabs' | 'list' | 'card' | 'custom';
1384
+ title?: string;
1385
+ description?: string;
1386
+ icon?: string;
1387
+ actions?: {
1388
+ primary?: AXPActionMenuItem[];
1389
+ secondary?: AXPActionMenuItem[];
1390
+ };
1391
+ fields?: AXPViewFieldDefinition[];
1392
+ blocks?: AXPViewBlockDefinition[];
1393
+ }
1394
+ interface AXPViewFieldDefinition {
1395
+ key: string;
1396
+ title?: string;
1397
+ description?: string;
1398
+ icon?: string;
1399
+ widget?: string;
1400
+ }
1401
+
1402
+ interface AXPExportOptions {
1403
+ fileNameTemplate?: string;
1404
+ pdf?: AXPExportPdfOptions;
1405
+ excel?: AXPExportExcelOptions;
1406
+ csv?: AXPExportCsvOptions;
1407
+ print?: AXPExportPrintOptions;
1408
+ }
1409
+ interface AXPExportPdfOptions {
1410
+ enabled: boolean;
1411
+ pageSize?: 'A4' | 'A3' | 'Letter' | 'Legal';
1412
+ orientation?: 'portrait' | 'landscape';
1413
+ margin?: number | {
1414
+ top: number;
1415
+ bottom: number;
1416
+ left: number;
1417
+ right: number;
1418
+ };
1419
+ font?: string;
1420
+ fontSize?: number;
1421
+ headerEnabled?: boolean;
1422
+ footerEnabled?: boolean;
1423
+ showPageNumbers?: boolean;
1424
+ watermarkText?: string;
1425
+ watermarkOpacity?: number;
1426
+ compression?: boolean;
1427
+ embedImages?: boolean;
1428
+ }
1429
+ interface AXPExportExcelOptions {
1430
+ enabled: boolean;
1431
+ sheetName?: string;
1432
+ includeFilters?: boolean;
1433
+ freezeHeader?: boolean;
1434
+ autoFitColumns?: boolean;
1435
+ style?: {
1436
+ headerColor?: string;
1437
+ font?: string;
1438
+ fontSize?: number;
1439
+ numberFormat?: 'auto' | 'currency' | 'percent' | 'decimal';
1440
+ };
1441
+ summaryRowEnabled?: boolean;
1442
+ exportHiddenColumns?: boolean;
1443
+ }
1444
+ interface AXPExportCsvOptions {
1445
+ enabled: boolean;
1446
+ delimiter?: ',' | ';' | '\t';
1447
+ includeHeaders?: boolean;
1448
+ quoteValues?: boolean;
1449
+ encoding?: 'utf-8' | 'utf-16' | 'iso-8859-1';
1450
+ }
1451
+ interface AXPExportPrintOptions {
1452
+ enabled: boolean;
1453
+ includeHeader?: boolean;
1454
+ includeFooter?: boolean;
1455
+ showPageBreaks?: boolean;
1456
+ customCssUrl?: string;
1457
+ }
1458
+ declare enum AXPExportTemplateToken {
1459
+ Date = "{date}",
1460
+ Time = "{time}",
1461
+ User = "{user}",
1462
+ ReportTitle = "{title}",
1463
+ UUID = "{uuid}"
1464
+ }
1465
+
1466
+ interface AXPMiddlewareErrorResponse {
1467
+ success: false;
1468
+ error: {
1469
+ code?: string;
1470
+ message: string;
1471
+ status?: number;
1472
+ details?: any;
1473
+ };
1474
+ }
1475
+
1476
+ interface AXPActivityLogChange {
1477
+ type: AXPSystemActionType;
1478
+ description: string;
1479
+ /** I18n key for field label. When set with actionKey, used for translated display. */
1480
+ fieldKey?: string;
1481
+ /** Params for fieldKey translation (e.g. for unknown-field with {{name}}). */
1482
+ fieldKeyParams?: Record<string, string>;
1483
+ /** I18n key for action (e.g. @activity-log:changes.replaced). When set with fieldKey, overrides description. */
1484
+ actionKey?: string;
1485
+ oldValue?: unknown;
1486
+ newValue?: unknown;
1487
+ /** Short human-readable summary for Change History (e.g. "Updated from 'X' to 'Y'"). Used when layout is present. */
1488
+ summary?: string;
1489
+ /** Custom layout (AXPWidgetNode) for Change History. When set, rendered via AXPLayoutRenderer instead of default fieldKey/actionKey text. */
1490
+ layout?: unknown;
1491
+ }
1492
+ interface AXPActivityLog {
1493
+ id: string;
1494
+ title: string;
1495
+ date: Date;
1496
+ user: AXPApplicationUserReference;
1497
+ reference: AXPEntityReference;
1498
+ changeType: AXPSystemActionType.Create | AXPSystemActionType.Update | AXPSystemActionType.Delete;
1499
+ data: any;
1500
+ changes: AXPActivityLogChange[];
1501
+ }
1502
+
1503
+ declare abstract class AXPActivityLogProvider {
1504
+ abstract getHistory(refId: string, refType: string, options?: {
1505
+ from?: Date;
1506
+ to?: Date;
1507
+ limit?: number;
1508
+ offset?: number;
1509
+ }): Promise<AXPActivityLog[]>;
1510
+ abstract getHistoryByIds(refId: string, refType: string, ids: string[]): Promise<AXPActivityLog[]>;
1511
+ }
1512
+
1513
+ declare const AXP_ACTIVITY_LOG_PROVIDER: InjectionToken<AXPActivityLogProvider[]>;
1514
+ declare class AXPActivityLogService {
1515
+ private providers;
1516
+ getHistory(refId: string, refType: string, options?: {
1517
+ from?: Date;
1518
+ to?: Date;
1519
+ limit?: number;
1520
+ offset?: number;
1521
+ }): Promise<AXPActivityLog[]>;
1522
+ getHistoryByIds(refId: string, refType: string, ids: string[]): Promise<AXPActivityLog[]>;
1523
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPActivityLogService, never>;
1524
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPActivityLogService>;
1525
+ }
1526
+
1527
+ /**
1528
+ * Represents a color palette with a unique identifier and collection of colors
1529
+ */
1530
+ interface AXPColorPalette {
1531
+ /**
1532
+ * Unique identifier for the palette
1533
+ * @example 'material-design', 'brand-colors', 'pastel-theme'
1534
+ */
1535
+ name: string;
1536
+ /**
1537
+ * Display title for the palette
1538
+ * @example 'Material Design', 'Brand Colors', 'Pastel Theme'
1539
+ */
1540
+ title: string;
1541
+ /**
1542
+ * Array of color codes in any valid CSS color format
1543
+ * @example ['#FF6B6B', '#4ECDC4', 'rgb(255, 107, 107)']
1544
+ */
1545
+ colors: string[];
1546
+ /**
1547
+ * Optional description of the palette
1548
+ */
1549
+ description?: string;
1550
+ /**
1551
+ * Optional category for grouping palettes
1552
+ * @example 'brand', 'material', 'theme', 'custom'
1553
+ */
1554
+ category?: string;
1555
+ }
1556
+ /**
1557
+ * Options for filtering color palettes
1558
+ */
1559
+ interface AXPColorPaletteFilterOptions {
1560
+ category?: string;
1561
+ search?: string;
1562
+ }
1563
+
1564
+ /**
1565
+ * Abstract class for color palette providers
1566
+ * Implement this to provide palettes from different sources (system, app, module, etc.)
1567
+ */
1568
+ declare abstract class AXPColorPaletteProvider {
1569
+ /**
1570
+ * Unique name for this provider (e.g., 'system', 'app', 'module')
1571
+ */
1572
+ abstract name: string;
1573
+ /**
1574
+ * Provide color palettes from this source
1575
+ * @returns Promise of palettes
1576
+ */
1577
+ abstract provide(): Promise<AXPColorPalette[]>;
1578
+ }
1579
+ /**
1580
+ * Injection token for color palette providers
1581
+ * Use this to register multiple palette providers
1582
+ */
1583
+ declare const AXP_COLOR_PALETTE_PROVIDER: InjectionToken<AXPColorPaletteProvider[]>;
1584
+
1585
+ /**
1586
+ * Service for managing color palettes from multiple providers
1587
+ * Aggregates palettes from all registered providers
1588
+ */
1589
+ declare class AXPColorPaletteService {
1590
+ private providers;
1591
+ private cache;
1592
+ /**
1593
+ * Get all palettes from all providers
1594
+ * @param options Filter options
1595
+ * @returns Promise of palettes
1596
+ */
1597
+ getPalettes(options?: AXPColorPaletteFilterOptions): Promise<AXPColorPalette[]>;
1598
+ /**
1599
+ * Get a palette by name
1600
+ * @param name The unique name of the palette
1601
+ * @returns Promise of palette or undefined if not found
1602
+ */
1603
+ getPalette(name: string): Promise<AXPColorPalette | undefined>;
1604
+ /**
1605
+ * Get palettes by category
1606
+ * @param category The category to filter by
1607
+ * @returns Promise of palettes in the specified category
1608
+ */
1609
+ getByCategory(category: string): Promise<AXPColorPalette[]>;
1610
+ /**
1611
+ * Check if a palette exists
1612
+ * @param name The unique name of the palette
1613
+ * @returns Promise of true if the palette exists
1614
+ */
1615
+ has(name: string): Promise<boolean>;
1616
+ /**
1617
+ * Reload palettes from all providers
1618
+ */
1619
+ reload(): Promise<void>;
1620
+ /**
1621
+ * Get the default palette (material-design) or fallback colors
1622
+ * @returns Promise of default palette, never returns undefined
1623
+ */
1624
+ getDefaultPalette(): Promise<AXPColorPalette>;
1625
+ /**
1626
+ * Load palettes from all providers
1627
+ */
1628
+ private loadPalettes;
1629
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPColorPaletteService, never>;
1630
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPColorPaletteService>;
1631
+ }
1632
+
1633
+ /**
1634
+ * Default system color palette provider
1635
+ * Provides built-in color palettes
1636
+ */
1637
+ declare class AXPDefaultColorPalettesProvider extends AXPColorPaletteProvider {
1638
+ name: string;
1639
+ provide(): Promise<AXPColorPalette[]>;
1640
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDefaultColorPalettesProvider, never>;
1641
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultColorPalettesProvider>;
1642
+ }
1643
+
1644
+ /**
1645
+ * Column width value can be a number (converted to pixels) or a string with any CSS unit
1646
+ * @example 150 (becomes '150px'), '300px', '50%', '2rem', '20ch'
1647
+ */
1648
+ type ColumnWidthValue = string | number;
1649
+ /**
1650
+ * Matcher for column name - can be exact string match or RegExp pattern
1651
+ * @example 'title', /^user/, /.*name$/i
1652
+ */
1653
+ type ColumnNameMatcher = string | RegExp;
1654
+ /**
1655
+ * Matcher for widget type - can be exact string match or RegExp pattern (case-insensitive)
1656
+ * @example 'text-box', /^date/, /.*editor$/i
1657
+ */
1658
+ type WidgetTypeMatcher = string | RegExp;
1659
+ /**
1660
+ * Defines a single width matching rule
1661
+ */
1662
+ interface AXPColumnWidthMatcher {
1663
+ /**
1664
+ * Match by column name (exact string or RegExp pattern)
1665
+ * Takes precedence over widgetType matching
1666
+ * @example 'title', /^user/, /.*name$/i
1667
+ */
1668
+ name?: ColumnNameMatcher;
1669
+ /**
1670
+ * Match by widget type (exact string or RegExp pattern, case-insensitive)
1671
+ * Used as fallback when name doesn't match
1672
+ * @example 'text-box', /^date/, /.*editor$/i
1673
+ */
1674
+ widgetType?: WidgetTypeMatcher;
1675
+ /**
1676
+ * Width value to apply if this matcher matches
1677
+ * Numbers are converted to pixels (e.g., 150 -> '150px')
1678
+ * Strings can include any CSS unit (e.g., '300px', '50%', '2rem')
1679
+ */
1680
+ width: ColumnWidthValue;
1681
+ /**
1682
+ * Priority for this matcher within the provider (higher = more specific, applied first)
1683
+ * Default: 0
1684
+ */
1685
+ priority?: number;
1686
+ }
1687
+ /**
1688
+ * Provider configuration for column width rules
1689
+ */
1690
+ interface AXPColumnWidthProvider {
1691
+ /**
1692
+ * Array of matchers to evaluate
1693
+ * Evaluated in priority order (highest first), then by match type (name before widgetType)
1694
+ */
1695
+ matchers: AXPColumnWidthMatcher[];
1696
+ /**
1697
+ * Priority for this provider relative to other providers (higher = applied first)
1698
+ * Default: 100
1699
+ */
1700
+ priority?: number;
1701
+ }
1702
+ /**
1703
+ * Generic column interface for width resolution
1704
+ * Works with any column type that has these properties
1705
+ */
1706
+ interface IColumnWithWidth {
1707
+ /**
1708
+ * Column name
1709
+ */
1710
+ name: string;
1711
+ /**
1712
+ * Current width (if already set)
1713
+ */
1714
+ width?: string;
1715
+ /**
1716
+ * Widget type information (optional)
1717
+ */
1718
+ widget?: {
1719
+ type: string;
1720
+ };
1721
+ /**
1722
+ * Additional options that might contain width
1723
+ */
1724
+ options?: {
1725
+ width?: string;
1726
+ };
1727
+ /**
1728
+ * For entity columns - showAs configuration
1729
+ */
1730
+ showAs?: {
1731
+ type: string;
1732
+ };
1733
+ }
1734
+
1735
+ /**
1736
+ * Service for resolving column widths based on registered providers
1737
+ * Supports matching by column name (priority) and widget type (fallback)
1738
+ * Uses multi-provider pattern for extensibility
1739
+ */
1740
+ declare class AXPColumnWidthService {
1741
+ private readonly providers;
1742
+ /**
1743
+ * Resolve width for a column based on registered providers
1744
+ * Only returns a width if column doesn't already have one set
1745
+ *
1746
+ * @param column Column to resolve width for
1747
+ * @returns Resolved width string (normalized) or undefined if no match or column already has width
1748
+ */
1749
+ resolveWidth(column: IColumnWithWidth): string | undefined;
1750
+ /**
1751
+ * Apply resolved width to a column (mutates the column)
1752
+ * Only applies if column doesn't already have a width
1753
+ *
1754
+ * @param column Column to apply width to
1755
+ * @returns true if width was applied, false if column already had width or no match found
1756
+ */
1757
+ applyWidth(column: IColumnWithWidth): boolean;
1758
+ /**
1759
+ * Collect all matchers from all providers, sorted by provider priority and matcher priority
1760
+ */
1761
+ private collectMatchers;
1762
+ /**
1763
+ * Find first matching matcher by column name
1764
+ * Name matches take precedence over widget type matches
1765
+ */
1766
+ private findNameMatch;
1767
+ /**
1768
+ * Find first matching matcher by widget type (case-insensitive)
1769
+ */
1770
+ private findWidgetTypeMatch;
1771
+ /**
1772
+ * Normalize width value to string format
1773
+ * Numbers are converted to pixels (e.g., 150 -> '150px')
1774
+ * Strings are preserved as-is (supports any CSS unit)
1775
+ */
1776
+ private normalizeWidth;
1777
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPColumnWidthService, never>;
1778
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPColumnWidthService>;
1779
+ }
1780
+
1781
+ /**
1782
+ * Injection token for column width providers
1783
+ * Use this to register multiple column width providers with multi: true
1784
+ *
1785
+ * @example
1786
+ * ```typescript
1787
+ * providers: [
1788
+ * {
1789
+ * provide: AXP_COLUMN_WIDTH_PROVIDER,
1790
+ * useValue: {
1791
+ * matchers: [
1792
+ * { name: 'title', width: '300px', priority: 10 },
1793
+ * { widgetType: /text-box/i, width: '200px' }
1794
+ * ],
1795
+ * priority: 150
1796
+ * },
1797
+ * multi: true
1798
+ * }
1799
+ * ]
1800
+ * ```
1801
+ */
1802
+ declare const AXP_COLUMN_WIDTH_PROVIDER: InjectionToken<AXPColumnWidthProvider[]>;
1803
+
1804
+ /**
1805
+ * Default column width configuration
1806
+ * Migrated from DEFAULT_COLUMN_WIDTHS in column-width.middleware.ts
1807
+ * Provides sensible defaults for common column names
1808
+ */
1809
+ declare const defaultColumnWidthProvider: AXPColumnWidthProvider;
1810
+
1811
+ type AXPContextState = 'initiated' | 'restored' | 'changed' | 'patch';
1812
+ type AXPContextData = {
1813
+ [key: string]: any;
1814
+ };
1815
+ declare class AXPContextChangeEvent {
1816
+ oldValue?: any;
1817
+ newValue?: any;
1818
+ path?: string;
1819
+ state: AXPContextState;
1820
+ data: any;
1821
+ }
1822
+ declare const AXPContextStore: i0.Type<{
1823
+ data: i0.Signal<AXPContextData>;
1824
+ state: i0.Signal<AXPContextState>;
1825
+ initialSnapshot: i0.Signal<{}>;
1826
+ previousSnapshot: i0.Signal<{}>;
1827
+ lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
1828
+ isChanged: i0.Signal<boolean>;
1829
+ isReset: i0.Signal<boolean>;
1830
+ isInitiated: i0.Signal<boolean>;
1831
+ isEmpty: i0.Signal<boolean>;
1832
+ isDirty: i0.Signal<boolean>;
1833
+ snapshot: i0.Signal<AXPContextData>;
1834
+ initial: i0.Signal<{}>;
1835
+ previous: i0.Signal<{}>;
1836
+ changeEvent: i0.Signal<AXPContextChangeEvent>;
1837
+ update: (path: string, value: any) => void;
1838
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
1839
+ reset: () => void;
1840
+ set: (initialData: any) => void;
1841
+ getValue: (path: string) => any;
1842
+ hasValue: (path: string) => boolean;
1843
+ } & _ngrx_signals.StateSource<{
1844
+ data: AXPContextData;
1845
+ state: AXPContextState;
1846
+ initialSnapshot: {};
1847
+ previousSnapshot: {};
1848
+ lastChange: AXPContextChangeEvent;
1849
+ }>>;
1850
+
1851
+ interface AXPComponentSlotConfig {
1852
+ name: string;
1853
+ priority?: number;
1854
+ component?: Type<any>;
1855
+ condition?: ((context?: AXPContextData) => boolean | Promise<boolean>) | string;
1856
+ features?: string[];
1857
+ loadComponent?: () => Type<any> | Promise<Type<any>>;
1858
+ options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
1859
+ }
1860
+ interface AXPComponentSlotModuleConfigs {
1861
+ [slotName: string]: AXPComponentSlotConfig[];
1862
+ }
1863
+ declare abstract class AXPComponentSlot {
1864
+ host: any;
1865
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlot, never>;
1866
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlot, never, never, {}, {}, never, never, true, never>;
1867
+ }
1868
+
1869
+ declare class AXPComponentSlotDirective implements OnInit {
1870
+ name: i0.InputSignal<string>;
1871
+ host: i0.InputSignal<any>;
1872
+ context: i0.InputSignal<any>;
1873
+ private elementRef;
1874
+ private registryService;
1875
+ private injector;
1876
+ private evaluator;
1877
+ viewContainerRef: ViewContainerRef;
1878
+ contextStore: {
1879
+ data: i0.Signal<AXPContextData>;
1880
+ state: i0.Signal<_acorex_platform_core.AXPContextState>;
1881
+ initialSnapshot: i0.Signal<{}>;
1882
+ previousSnapshot: i0.Signal<{}>;
1883
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
1884
+ isChanged: i0.Signal<boolean>;
1885
+ isReset: i0.Signal<boolean>;
1886
+ isInitiated: i0.Signal<boolean>;
1887
+ isEmpty: i0.Signal<boolean>;
1888
+ isDirty: i0.Signal<boolean>;
1889
+ snapshot: i0.Signal<AXPContextData>;
1890
+ initial: i0.Signal<{}>;
1891
+ previous: i0.Signal<{}>;
1892
+ changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
1893
+ update: (path: string, value: any) => void;
1894
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
1895
+ reset: () => void;
1896
+ set: (initialData: any) => void;
1897
+ getValue: (path: string) => any;
1898
+ hasValue: (path: string) => boolean;
1899
+ } & _ngrx_signals.StateSource<{
1900
+ data: AXPContextData;
1901
+ state: _acorex_platform_core.AXPContextState;
1902
+ initialSnapshot: {};
1903
+ previousSnapshot: {};
1904
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
1905
+ }>;
1906
+ isEmpty: i0.Signal<boolean>;
1907
+ private _viewCount;
1908
+ private componentRefs;
1909
+ private placeholderRefs;
1910
+ constructor();
1911
+ ngOnInit(): Promise<void>;
1912
+ loadComponents(): Promise<void>;
1913
+ private evaluateCondition;
1914
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotDirective, never>;
1915
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlotDirective, "axp-component-slot", ["slot"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; "host": { "alias": "host"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
1916
+ }
1917
+
1918
+ declare class AXPComponentSlotRegistryService {
1919
+ private registry;
1920
+ register(slotName: string, config: AXPComponentSlotConfig): void;
1921
+ get(slotName: string): AXPComponentSlotConfig[];
1922
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotRegistryService, never>;
1923
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPComponentSlotRegistryService>;
1924
+ }
1925
+
1926
+ declare class AXPComponentSlotModule {
1927
+ static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
1928
+ static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
1929
+ /**
1930
+ * @ignore
1931
+ */
1932
+ constructor(instances: any[]);
1933
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotModule, [{ optional: true; }]>;
1934
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPComponentSlotModule, [typeof AXPComponentSlotDirective], never, [typeof AXPComponentSlotDirective]>;
1935
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
1936
+ }
1937
+
1938
+ declare class AXPDataGenerator {
1939
+ static uuid(): string;
1940
+ static number(max: number): number;
1941
+ static number(min: number, max: number): number;
1942
+ static date(): Date;
1943
+ static date(start: Date): Date;
1944
+ static date(start: Date, end: Date): Date;
1945
+ static array<T>(length: number | undefined, generator: () => T): T[];
1946
+ static pick<T>(items: T[]): T;
1947
+ static pick<T>(items: T[], count: number): T[];
1948
+ static string(length?: number): string;
1949
+ static boolean(): boolean;
1950
+ static item<T>(array?: T[]): T | undefined;
1951
+ static color(format?: 'hsl' | 'rgb' | 'hex'): string;
1952
+ private static hslToRgb;
1953
+ static alphanumeric(length?: number): string;
1954
+ static alphabet(length?: number): string;
1955
+ static phone(): string;
1956
+ static firstName(): string;
1957
+ static lastName(): string;
1958
+ static email(): string;
1959
+ static email(firstName: string, lastName: string): string;
1960
+ static country(): string;
1961
+ static city(): string;
1962
+ static state(): string;
1963
+ static address(): string;
1964
+ static avatar(): string;
1965
+ }
1966
+
1967
+ type AXPValueTransformerFunction = (value: any) => any;
1968
+ type AXPValueTransformerFunctions = {
1969
+ getter?: AXPValueTransformerFunction;
1970
+ setter?: AXPValueTransformerFunction;
1971
+ };
1972
+ declare function objectKeyValueTransforms(keyName: string): AXPValueTransformerFunctions;
1973
+
1974
+ interface AXPDataSourceDataFieldDefinition {
1975
+ name: string;
1976
+ title: string;
1977
+ datatype: string;
1978
+ type: string;
1979
+ options?: AXPOptionsData;
1980
+ }
1981
+ type AXPLazyDataSource<T = unknown> = AXPMaybePromise<AXDataSource<T>>;
1982
+ type AXPDataSourceArray<T = unknown> = AXPMaybePromise<Array<T>>;
1983
+ type AXPDataSourceValue<T = unknown> = AXPMaybePromise<T>;
1984
+ type AXPDataSourceType<T = any> = AXPLazyDataSource<T> | AXPDataSourceArray<T> | AXPDataSourceValue<T>;
1985
+ type AXPDataSourceSample<T = any> = AXPDataSourceArray<T> | AXPDataSourceValue<T>;
1986
+ interface AXPDataSourceDefinition<T = any> {
1987
+ name: string;
1988
+ title: string;
1989
+ valueField?: {
1990
+ name: string;
1991
+ title: string;
1992
+ };
1993
+ textField?: {
1994
+ name: string;
1995
+ title: string;
1996
+ };
1997
+ columns: AXPDataSourceDataFieldDefinition[];
1998
+ filters: AXPFilterDefinition[];
1999
+ samples?: AXPDataSourceSample<T>;
2000
+ visible?: boolean;
2001
+ source: () => AXPDataSourceType<T>;
2002
+ }
2003
+ interface AXPDataSourceDefinitionProvider {
2004
+ items(): Promise<AXPDataSourceDefinition[]>;
2005
+ }
2006
+ declare const AXP_DATASOURCE_DEFINITION_PROVIDER: InjectionToken<AXPDataSourceDefinitionProvider[]>;
2007
+ declare class AXPDataSourceDefinitionProviderService implements AXPDataSourceDefinitionProvider {
2008
+ private providers;
2009
+ items(): Promise<AXPDataSourceDefinition[]>;
2010
+ get<T = any>(name: string): Promise<AXPDataSourceDefinition<T> | undefined>;
2011
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDataSourceDefinitionProviderService, never>;
2012
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPDataSourceDefinitionProviderService>;
2013
+ }
2014
+
2015
+ declare class AXPContentCheckerDirective {
2016
+ viewContainerRef: ViewContainerRef;
2017
+ elementRef: ElementRef<HTMLDivElement>;
2018
+ isEmpty: i0.Signal<boolean>;
2019
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
2020
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
2021
+ }
2022
+
2023
+ declare class AXPDblClickDirective {
2024
+ onDblClick: EventEmitter<Event>;
2025
+ private lastTap;
2026
+ private readonly doubleTapThreshold;
2027
+ handleOnDblClick(event: Event): void;
2028
+ onTouchEnd(event: TouchEvent): void;
2029
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
2030
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
2031
+ }
2032
+
2033
+ declare class AXPElementDataDirective implements OnInit {
2034
+ private elementRef;
2035
+ data: i0.InputSignal<any>;
2036
+ path: i0.InputSignal<string>;
2037
+ constructor(elementRef: ElementRef<HTMLElement>);
2038
+ ngOnInit(): void;
2039
+ private updateEffect;
2040
+ /**
2041
+ * Get data from the element
2042
+ */
2043
+ getData(): any;
2044
+ /**
2045
+ * Update data at runtime
2046
+ */
2047
+ setData(data: any): void;
2048
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPElementDataDirective, never>;
2049
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPElementDataDirective, "[axp-data]", never, { "data": { "alias": "axp-data"; "required": false; "isSignal": true; }; "path": { "alias": "axp-data-path"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2050
+ }
2051
+
2052
+ declare class AXPGridLayoutDirective implements OnChanges {
2053
+ private el;
2054
+ private renderer;
2055
+ options: i0.InputSignal<AXPGridLayoutOptions>;
2056
+ constructor(el: ElementRef, renderer: Renderer2);
2057
+ ngOnChanges(changes: SimpleChanges): void;
2058
+ private applyTailwindClasses;
2059
+ private setClasses;
2060
+ private clearClasses;
2061
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPGridLayoutDirective, never>;
2062
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPGridLayoutDirective, "[axp-grid-layout]", never, { "options": { "alias": "axp-grid-layout"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2063
+ }
2064
+
2065
+ type AXPDistributedEventListenerProviderToken<T> = AXPDistributedEventListenerProvider<T> | Promise<AXPDistributedEventListenerProvider<T>>;
2066
+ declare const AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER: InjectionToken<AXPDistributedEventListenerProviderToken<any>[]>;
2067
+ interface AXPDistributedEventListenerProvider<TInput = any, TOutput = void> {
2068
+ key: string;
2069
+ execute(data: TInput): Promise<TOutput> | TOutput;
2070
+ priority?: number;
2071
+ }
2072
+
2073
+ declare class AXPDistributedEventListenerService {
2074
+ private readonly listenerProviders;
2075
+ private readonly injector;
2076
+ /** Cache for listeners by key. */
2077
+ private listenersByKey;
2078
+ /** Flag to track if providers have been loaded */
2079
+ private providersLoaded;
2080
+ /**
2081
+ * Dispatches an event to all registered listeners for the given key.
2082
+ * @param key The event key.
2083
+ * @param data The event data to pass to listeners.
2084
+ */
2085
+ dispatch(key: string, data?: any): Promise<void>;
2086
+ /**
2087
+ * Dispatch with async response (first matching provider, with retry/timeout)
2088
+ */
2089
+ dispatchAsync<T, R>(key: string, data: T, options?: {
2090
+ timeout: number;
2091
+ retries: number;
2092
+ retryDelay: number;
2093
+ }): Promise<R>;
2094
+ /**
2095
+ * Resolve all providers (handle both direct provider and Promise<provider>)
2096
+ */
2097
+ private resolveProviders;
2098
+ /**
2099
+ * Returns all listeners for a specific event key.
2100
+ * @param key The event key.
2101
+ * @returns Array of listeners for the key.
2102
+ */
2103
+ getListeners(key: string): Promise<AXPDistributedEventListenerProvider<any>[]>;
2104
+ /**
2105
+ * Returns all registered event keys.
2106
+ * @returns Array of all event keys that have listeners.
2107
+ */
2108
+ getRegisteredKeys(): Promise<string[]>;
2109
+ /**
2110
+ * Ensures that all providers have been loaded and cached.
2111
+ */
2112
+ private ensureProvidersLoaded;
2113
+ /** Clears the listeners cache and forces reload on next access. */
2114
+ clearListenersCache(): void;
2115
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDistributedEventListenerService, never>;
2116
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPDistributedEventListenerService>;
2117
+ }
2118
+
2119
+ declare class AXPBroadcastEventService implements OnDestroy {
2120
+ private channel;
2121
+ private eventSubjects;
2122
+ private pendingRequests;
2123
+ private multiTabEventHistory;
2124
+ private readonly instanceId;
2125
+ constructor();
2126
+ /**
2127
+ * Publish an event without expecting a response
2128
+ */
2129
+ publish<T>(type: string, payload?: T): void;
2130
+ /**
2131
+ * Subscribe to an event
2132
+ */
2133
+ listen<T>(type: string): Observable<{
2134
+ data: T;
2135
+ requestId?: string;
2136
+ }>;
2137
+ /**
2138
+ * Unsubscribe from an event
2139
+ */
2140
+ unsubscribe(type: string): void;
2141
+ /**
2142
+ * Send a message and wait for a response with retry logic
2143
+ */
2144
+ sendAndWaitForResponse<T, R>(type: string, payload?: T, options?: {
2145
+ timeout: number;
2146
+ retries: number;
2147
+ retryDelay: number;
2148
+ }): Promise<R>;
2149
+ /**
2150
+ * Respond to a request
2151
+ */
2152
+ respondToRequest(requestId: string, response: any): void;
2153
+ /**
2154
+ * Cleanup when the service is destroyed
2155
+ */
2156
+ ngOnDestroy(): void;
2157
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBroadcastEventService, never>;
2158
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPBroadcastEventService>;
2159
+ }
2160
+
2161
+ type AXPExpressionEvaluatorScope = {
2162
+ [name: string]: {
2163
+ [name: string]: Function;
2164
+ };
2165
+ };
2166
+ declare class AXPExpressionEvaluatorService {
2167
+ private expressionCache;
2168
+ private providerService;
2169
+ private getOrCompileFunction;
2170
+ private getMergedScope;
2171
+ evaluate(source: any | any[], scope?: AXPExpressionEvaluatorScope): Promise<any>;
2172
+ private evaluateStringExpression;
2173
+ isExpression(expression: string): boolean;
2174
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPExpressionEvaluatorService, never>;
2175
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPExpressionEvaluatorService>;
2176
+ }
2177
+
2178
+ interface AXPExpressionEvaluatorScopeProvider {
2179
+ provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
2180
+ }
2181
+ declare class AXPExpressionEvaluatorScopeProviderContext {
2182
+ private scopes;
2183
+ addScope(namespace: string, functions: {
2184
+ [name: string]: Function;
2185
+ }): void;
2186
+ getScopes(): AXPExpressionEvaluatorScope;
2187
+ }
2188
+ type AXPExpressionEvaluatorScopeProviders = AXPExpressionEvaluatorScopeProvider[] | (() => AXPExpressionEvaluatorScopeProvider[]);
2189
+ declare const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER: InjectionToken<AXPExpressionEvaluatorScopeProviders>;
2190
+ declare class AXPExpressionEvaluatorScopeProviderService {
2191
+ private readonly injector;
2192
+ private cache;
2193
+ private load;
2194
+ getScopesAsync(): Promise<AXPExpressionEvaluatorScope>;
2195
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPExpressionEvaluatorScopeProviderService, never>;
2196
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPExpressionEvaluatorScopeProviderService>;
2197
+ }
2198
+
2199
+ declare class AXPHookService {
2200
+ private readonly listenerProviders;
2201
+ private readonly injector;
2202
+ /**
2203
+ * Resolve all providers (handle both direct providers and Promise<provider>)
2204
+ */
2205
+ private resolveProviders;
2206
+ /**
2207
+ * Fire sync hooks (fire-and-forget).
2208
+ * All providers with the given key will be executed.
2209
+ * Execution is not awaited.
2210
+ */
2211
+ fire<T>(key: string, data: T): void;
2212
+ /**
2213
+ * Run async hooks sequentially (waterfall).
2214
+ * The output of each hook is passed as input to the next hook.
2215
+ * Returns the final merged data after all hooks are executed.
2216
+ */
2217
+ runAsync<T>(key: string, initialData: T): Promise<T>;
2218
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPHookService, never>;
2219
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPHookService>;
2220
+ }
2221
+
2222
+ /**
2223
+ * Feature definition in module manifest.
2224
+ * Defines available features with default values.
2225
+ */
2226
+ interface AXPModuleFeatureDefinition {
2227
+ /**
2228
+ * Feature title (translation key or literal)
2229
+ */
2230
+ title: string;
2231
+ /**
2232
+ * Feature description (translation key or literal)
2233
+ */
2234
+ description?: string;
2235
+ /**
2236
+ * Default value for the feature.
2237
+ * Used when user doesn't have explicit feature value.
2238
+ */
2239
+ defaultValue: boolean | number | string | string[] | null;
2240
+ /**
2241
+ * Type hint for validation and UI rendering
2242
+ */
2243
+ type?: 'boolean' | 'number' | 'string' | 'array';
2244
+ /**
2245
+ * Widget interface for feature configuration UI (optional)
2246
+ */
2247
+ interface?: {
2248
+ type: string;
2249
+ options?: Record<string, any>;
2250
+ };
2251
+ }
2252
+ /**
2253
+ * Feature definition in array format (with key).
2254
+ * Used when features are defined as an array in manifest.
2255
+ */
2256
+ interface AXPModuleFeatureDefinitionWithKey extends AXPModuleFeatureDefinition {
2257
+ /**
2258
+ * Full feature key (ModuleName.FeatureKey format).
2259
+ * When using array format, this must be provided.
2260
+ */
2261
+ key: string;
2262
+ }
2263
+ /**
2264
+ * Module manifest structure.
2265
+ * Defines module metadata and dependencies.
2266
+ * Features are provided via AXP_FEATURE_DEFINITION_PROVIDER token.
2267
+ */
2268
+ interface AXPModuleManifest {
2269
+ /**
2270
+ * Module name (must match RootConfig.module.name)
2271
+ */
2272
+ name: string;
2273
+ /**
2274
+ * Module version
2275
+ */
2276
+ version: string;
2277
+ /**
2278
+ * Module title (can reference const.ts or be translation key)
2279
+ */
2280
+ title: string;
2281
+ /**
2282
+ * Module description (optional)
2283
+ */
2284
+ description?: string;
2285
+ /**
2286
+ * Module icon (can reference const.ts)
2287
+ */
2288
+ icon?: string;
2289
+ /**
2290
+ * i18n scope name (can reference const.ts)
2291
+ */
2292
+ i18n?: string;
2293
+ /**
2294
+ * Module dependencies.
2295
+ * Simple array format: module names (e.g., "MeasurementCore") or feature keys (e.g., "DataManagement.MetaDataDefinitions").
2296
+ * Features use ModuleName.FeatureKey format (dot separator).
2297
+ */
2298
+ dependencies?: string[];
2299
+ /**
2300
+ * Whether this module is required (always enabled, cannot be disabled).
2301
+ * Required modules like 'auth' and 'common' are always available.
2302
+ */
2303
+ required?: boolean;
2304
+ /**
2305
+ * Additional metadata
2306
+ */
2307
+ metadata?: {
2308
+ [key: string]: any;
2309
+ };
2310
+ }
2311
+ /**
2312
+ * Full feature name with module prefix.
2313
+ * Format: ModuleName.FeatureKey
2314
+ */
2315
+ type AXPFeatureName = string;
2316
+ /**
2317
+ * Feature definition with full name.
2318
+ */
2319
+ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
2320
+ /**
2321
+ * Full feature name (ModuleName.FeatureKey)
2322
+ */
2323
+ name: AXPFeatureName;
2324
+ /**
2325
+ * Module name
2326
+ */
2327
+ module: string;
2328
+ /**
2329
+ * Feature key (short name)
2330
+ */
2331
+ key: string;
2332
+ }
2333
+
2334
+ /**
2335
+ * Registered module manifests for select widgets via dataSource name {@link MODULE_MANIFESTS_DATASOURCE_NAME}.
2336
+ */
2337
+ declare const MODULE_MANIFESTS_DATASOURCE_NAME = "platform-module-manifests";
2338
+ /**
2339
+ * Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
2340
+ */
2341
+ declare class AXPModuleManifestsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
2342
+ private readonly manifestRegistry;
2343
+ items(): Promise<AXPDataSourceDefinition[]>;
2344
+ }
2345
+
2346
+ /**
2347
+ * Registry service for module manifests.
2348
+ * Collects and manages all registered module manifests.
2349
+ */
2350
+ declare class AXPModuleManifestRegistry {
2351
+ private readonly manifests;
2352
+ private readonly featureDefinitions;
2353
+ private readonly injector;
2354
+ private initializationPromise;
2355
+ private isInitialized;
2356
+ /**
2357
+ * Initialize registry by loading all manifest providers.
2358
+ * Should be called during app startup.
2359
+ * Safe to call multiple times - will only initialize once.
2360
+ */
2361
+ initialize(): Promise<void>;
2362
+ /**
2363
+ * Internal initialization logic.
2364
+ */
2365
+ private _doInitialize;
2366
+ /**
2367
+ * Register a module manifest.
2368
+ */
2369
+ register(manifest: AXPModuleManifest): Promise<void>;
2370
+ /**
2371
+ * Get manifest for a module.
2372
+ */
2373
+ get(moduleName: string): AXPModuleManifest | undefined;
2374
+ /**
2375
+ * Get all registered manifests.
2376
+ */
2377
+ getAll(): AXPModuleManifest[];
2378
+ /**
2379
+ * Check if a module manifest is registered.
2380
+ */
2381
+ has(moduleName: string): boolean;
2382
+ /**
2383
+ * Load feature definitions from all registered feature definition providers.
2384
+ * Features are automatically associated with modules based on the module name in the feature key.
2385
+ */
2386
+ private loadFeatureDefinitions;
2387
+ /**
2388
+ * Get all feature definitions from all manifests.
2389
+ */
2390
+ getAllFeatureDefinitions(): AXPFeatureDefinition[];
2391
+ /**
2392
+ * Get feature definition by full name.
2393
+ */
2394
+ getFeatureDefinition(featureName: AXPFeatureName): AXPFeatureDefinition | undefined;
2395
+ /**
2396
+ * Check if a feature is defined in any manifest.
2397
+ */
2398
+ isFeatureDefined(featureName: AXPFeatureName): boolean;
2399
+ /**
2400
+ * Get default value for a feature.
2401
+ * Returns undefined if feature is not defined.
2402
+ */
2403
+ getFeatureDefault(featureName: AXPFeatureName): any;
2404
+ /**
2405
+ * Get all feature definitions for a specific module.
2406
+ */
2407
+ getModuleFeatures(moduleName: string): AXPFeatureDefinition[];
2408
+ /**
2409
+ * Register a feature definition dynamically (e.g., from feature definition provider).
2410
+ * Used to add features that are defined at runtime via AXP_FEATURE_DEFINITION_PROVIDER.
2411
+ */
2412
+ registerFeatureDefinition(definition: AXPFeatureDefinition): void;
2413
+ /**
2414
+ * Check if module dependencies are satisfied.
2415
+ * Returns array of missing dependencies.
2416
+ * Dependencies can be module names or feature keys (ModuleName.FeatureKey format).
2417
+ */
2418
+ checkDependencies(moduleName: string): {
2419
+ missingModules: string[];
2420
+ missingFeatures: string[];
2421
+ };
2422
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleManifestRegistry, never>;
2423
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPModuleManifestRegistry>;
2424
+ }
2425
+
2426
+ interface AXPStartUpTask {
2427
+ name: string;
2428
+ statusText: string;
2429
+ priority: number;
2430
+ run: () => Promise<void>;
2431
+ }
2432
+
2433
+ declare class AXPAppStartUpService {
2434
+ private tasks;
2435
+ registerTask(task: AXPStartUpTask): void;
2436
+ runAllTasks(): Promise<void>;
2437
+ private updateStatus;
2438
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPAppStartUpService, never>;
2439
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppStartUpService>;
2440
+ }
2441
+ declare const AXPAppStartUpProvider: i0.EnvironmentProviders;
2442
+
2443
+ /**
2444
+ * Module for managing module manifests initialization.
2445
+ * Handles the registration of manifest startup tasks.
2446
+ */
2447
+ declare class AXPModuleManifestModule {
2448
+ /**
2449
+ * @ignore
2450
+ * Initializes module manifest tasks on module construction.
2451
+ */
2452
+ constructor(appInitService: AXPAppStartUpService, injector: Injector);
2453
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleManifestModule, never>;
2454
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPModuleManifestModule, never, never, never>;
2455
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXPModuleManifestModule>;
2456
+ }
2457
+
2458
+ /**
2459
+ * Context for feature definition providers.
2460
+ * Allows providers to add additional feature definitions dynamically.
2461
+ */
2462
+ declare class AXPFeatureDefinitionProviderContext {
2463
+ private readonly features;
2464
+ /**
2465
+ * Add a feature definition.
2466
+ * @param key Full feature key (ModuleName:FeatureKey format with colon separator)
2467
+ * @param definition Feature definition
2468
+ */
2469
+ addFeature(key: string, definition: AXPModuleFeatureDefinition): void;
2470
+ /**
2471
+ * Get all feature definitions.
2472
+ */
2473
+ getFeatures(): Map<string, AXPModuleFeatureDefinition>;
2474
+ }
2475
+ /**
2476
+ * Interface for feature definition providers.
2477
+ * Used to dynamically provide feature definitions for modules.
2478
+ */
2479
+ interface AXPFeatureDefinitionProvider {
2480
+ /**
2481
+ * Provide feature definitions.
2482
+ * @param context Context for adding feature definitions
2483
+ */
2484
+ provide(context: AXPFeatureDefinitionProviderContext): Promise<void>;
2485
+ }
2486
+ /**
2487
+ * Injection token for feature definition providers.
2488
+ */
2489
+ declare const AXP_FEATURE_DEFINITION_PROVIDER: InjectionToken<AXPFeatureDefinitionProvider[]>;
2490
+
2491
+ /**
2492
+ * Session service interface for module provider operations.
2493
+ * Implementation: @acorex/platform/auth
2494
+ */
2495
+ interface AXPISessionService {
2496
+ isLoading$: any;
2497
+ status$: any;
2498
+ tenant: any | null;
2499
+ application: any | null;
2500
+ user: any | null;
2501
+ }
2502
+ /**
2503
+ * Injection token for session service.
2504
+ * Implementation: @acorex/platform/auth
2505
+ */
2506
+ declare const AXP_SESSION_SERVICE: InjectionToken<AXPISessionService>;
2507
+ /**
2508
+ * Injection token for module manifest providers.
2509
+ * Modules register their manifest providers using this token.
2510
+ */
2511
+ declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
2512
+
2513
+ /**
2514
+ * Resolves {@link AXPMultiLanguageString} using the active app locale, and exposes
2515
+ * {@link currentLocale$} for code that prefers an observable (e.g. manual subscriptions).
2516
+ * Templates usually use {@link AXPResolveMultiLanguageStringPipe} instead.
2517
+ */
2518
+ declare class AXPMultiLanguageStringResolverService {
2519
+ private readonly translation;
2520
+ /**
2521
+ * Emits the active locale on subscribe and whenever the language changes.
2522
+ */
2523
+ readonly currentLocale$: Observable<string>;
2524
+ /**
2525
+ * Resolves multi-language content for an optional locale (defaults to active).
2526
+ */
2527
+ resolve(content: AXPMultiLanguageString | null | undefined, locale?: string): string;
2528
+ /**
2529
+ * Normalizes multi-language content to a locale map for editors (e.g. multi-language popup `values`).
2530
+ * If `content` is already a locale-to-string map, returns a shallow copy.
2531
+ * If it is a plain string or empty, wraps it as `{ [activeLocale]: text }`.
2532
+ */
2533
+ toLocaleMap(content: AXPMultiLanguageString | null | undefined, activeLocale: string): Record<string, string>;
2534
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPMultiLanguageStringResolverService, never>;
2535
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPMultiLanguageStringResolverService>;
2536
+ }
2537
+
2538
+ /**
2539
+ * Resolves {@link AXPMultiLanguageString} via {@link AXPMultiLanguageStringResolverService}.
2540
+ * Impure and subscribes to {@link AXPMultiLanguageStringResolverService#currentLocale$} so
2541
+ * OnPush hosts (e.g. grid cells) still refresh when the language changes.
2542
+ *
2543
+ * Optional second argument: explicit locale (e.g. from a host `locale` input). When omitted or null/empty,
2544
+ * the active language is used.
2545
+ *
2546
+ * @example
2547
+ * ```html
2548
+ * {{ value | axpResolveMultiLanguageString }}
2549
+ * {{ value | axpResolveMultiLanguageString: locale() }}
2550
+ * ```
2551
+ */
2552
+ declare class AXPResolveMultiLanguageStringPipe implements PipeTransform, OnDestroy {
2553
+ private readonly resolver;
2554
+ private readonly cdr;
2555
+ private readonly localeSubscription;
2556
+ transform(value: AXPMultiLanguageString | null | undefined, locale?: string | null): string;
2557
+ ngOnDestroy(): void;
2558
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPResolveMultiLanguageStringPipe, never>;
2559
+ static ɵpipe: i0.ɵɵPipeDeclaration<AXPResolveMultiLanguageStringPipe, "axpResolveMultiLanguageString", true>;
2560
+ }
2561
+
2562
+ /**
2563
+ * Resolves {@link AXPMultiLanguageString} to a single string for the given locale.
2564
+ * Fallback order: `currentLocale` → `en-US` → first map value.
2565
+ */
2566
+ declare function resolveMultiLanguageString(content: AXPMultiLanguageString | null | undefined, currentLocale: string): string;
2567
+ /**
2568
+ * Creates an {@link AXPMultiLanguageString} with `en-US` and `fa-IR` entries.
2569
+ * Use for seed data, tests, and demos that supply English and Persian copy explicitly.
2570
+ */
2571
+ declare function createMultiLanguageString(enUs: string, faIr: string): AXPMultiLanguageString;
2572
+ /**
2573
+ * True when there is no displayable text in any locale (plain string or ML map).
2574
+ * Pure helper for predicates (e.g. default section detection); prefer widgets / pipes for display.
2575
+ */
2576
+ declare function isEffectivelyEmptyLocalizedValue(value: unknown): boolean;
2577
+
2578
+ /**
2579
+ * Represents a tag with text, color, and metadata
2580
+ */
2581
+ interface AXPTag {
2582
+ id?: string;
2583
+ title: string;
2584
+ color: string;
2585
+ description?: string;
2586
+ scope?: 'system' | 'tenant' | 'user';
2587
+ }
2588
+ /**
2589
+ * Options for filtering tags
2590
+ */
2591
+ interface AXPTagFilterOptions {
2592
+ scope?: ('system' | 'tenant' | 'user')[];
2593
+ search?: string;
2594
+ }
2595
+
2596
+ /**
2597
+ * Abstract class for tag providers
2598
+ * Implement this to provide tags from different sources (system, tenant, user, etc.)
2599
+ */
2600
+ declare abstract class AXPTagProvider {
2601
+ /**
2602
+ * Unique name for this provider (e.g., 'system', 'tenant', 'user')
2603
+ */
2604
+ abstract name: string;
2605
+ /**
2606
+ * Provide tags from this source
2607
+ * @returns Promise of tags
2608
+ */
2609
+ abstract provide(): Promise<AXPTag[]>;
2610
+ /**
2611
+ * Create a new tag (optional - not all providers support creation)
2612
+ * @param tag Tag to create
2613
+ * @returns Created tag with id
2614
+ */
2615
+ create?(tag: Omit<AXPTag, 'id'>): Promise<AXPTag>;
2616
+ /**
2617
+ * Update an existing tag (optional)
2618
+ * @param tag Tag to update
2619
+ * @returns Updated tag
2620
+ */
2621
+ update?(tag: AXPTag): Promise<AXPTag>;
2622
+ /**
2623
+ * Delete a tag (optional)
2624
+ * @param id Tag id to delete
2625
+ */
2626
+ delete?(id: string): Promise<void>;
2627
+ }
2628
+ /**
2629
+ * Injection token for tag providers
2630
+ * Use this to register multiple tag providers
2631
+ */
2632
+ declare const AXP_TAG_PROVIDER: InjectionToken<AXPTagProvider[]>;
2633
+
2634
+ /**
2635
+ * Service for managing tags from multiple providers
2636
+ * Aggregates tags from all registered providers
2637
+ */
2638
+ declare class AXPTagService {
2639
+ private providers;
2640
+ private cache;
2641
+ /**
2642
+ * Get all tags from all providers
2643
+ * @param options Filter options
2644
+ * @returns Promise of tags
2645
+ */
2646
+ getTags(options?: AXPTagFilterOptions): Promise<AXPTag[]>;
2647
+ /**
2648
+ * Create a new tag using the appropriate provider
2649
+ * @param tag Tag to create
2650
+ * @param providerName Provider to use (defaults to first writable provider)
2651
+ * @returns Created tag
2652
+ */
2653
+ createTag(tag: Omit<AXPTag, 'id'>, providerName?: string): Promise<AXPTag>;
2654
+ /**
2655
+ * Update an existing tag
2656
+ * @param tag Tag to update
2657
+ * @returns Updated tag
2658
+ */
2659
+ updateTag(tag: AXPTag): Promise<AXPTag>;
2660
+ /**
2661
+ * Delete a tag
2662
+ * @param tagId Tag id to delete
2663
+ * @param scope Tag scope
2664
+ */
2665
+ deleteTag(tagId: string, scope: string): Promise<void>;
2666
+ /**
2667
+ * Reload tags from all providers
2668
+ */
2669
+ reload(): Promise<void>;
2670
+ /**
2671
+ * Load tags from all providers
2672
+ */
2673
+ private loadTags;
2674
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPTagService, never>;
2675
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPTagService>;
2676
+ }
2677
+
2678
+ declare class AXPCountdownPipe implements PipeTransform {
2679
+ private calendarService;
2680
+ private countdownSignal;
2681
+ private targetDate;
2682
+ private prevValue;
2683
+ transform(value: number): Observable<string>;
2684
+ private setupTimer;
2685
+ private updateTargetDate;
2686
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPCountdownPipe, never>;
2687
+ static ɵpipe: i0.ɵɵPipeDeclaration<AXPCountdownPipe, "countdown", true>;
2688
+ }
2689
+
2690
+ declare function applyFilterArray(dataArray: any[], filters?: AXDataSourceFilterOption[], logic?: 'and' | 'or'): any[];
2691
+ declare function applySortArray(dataArray: any, sorts: AXDataSourceSortOption[]): any;
2692
+ declare function applyPagination<T>(dataArray: T[], skip: number, take: number): T[];
2693
+ declare function applyQueryArray<T>(dataArray: T[], query: AXDataSourceQuery): Promise<AXDataSourceCallbackResult<T>>;
2694
+
2695
+ /**
2696
+ * Screen Size Enum
2697
+ */
2698
+ declare enum AXPScreenSize {
2699
+ Small = "small",
2700
+ Medium = "medium",
2701
+ Large = "large"
2702
+ }
2703
+ /**
2704
+ * Device Type Enum
2705
+ */
2706
+ declare enum AXPDeviceType {
2707
+ Mobile = "mobile",
2708
+ Tablet = "tablet",
2709
+ Desktop = "desktop"
2710
+ }
2711
+ /**
2712
+ * Injectable service that provides reactive device and screen size information.
2713
+ * Monitors window resize events and updates signals accordingly.
2714
+ */
2715
+ declare class AXPDeviceService {
2716
+ /**
2717
+ * Current screen size (Small, Medium, Large)
2718
+ */
2719
+ readonly screenSize: i0.WritableSignal<AXPScreenSize>;
2720
+ /**
2721
+ * Current device type (Mobile, Tablet, Desktop)
2722
+ */
2723
+ readonly deviceType: i0.WritableSignal<AXPDeviceType>;
2724
+ /**
2725
+ * Whether the device supports touch input
2726
+ */
2727
+ readonly isTouchDevice: i0.WritableSignal<boolean>;
2728
+ /**
2729
+ * Whether the screen size is Small
2730
+ */
2731
+ readonly isSmall: i0.Signal<boolean>;
2732
+ /**
2733
+ * Whether the screen size is Medium
2734
+ */
2735
+ readonly isMedium: i0.Signal<boolean>;
2736
+ /**
2737
+ * Whether the screen size is Large
2738
+ */
2739
+ readonly isLarge: i0.Signal<boolean>;
2740
+ /**
2741
+ * Whether the device is Mobile
2742
+ */
2743
+ readonly isMobileDevice: i0.Signal<boolean>;
2744
+ /**
2745
+ * Whether the device is Tablet
2746
+ */
2747
+ readonly isTabletDevice: i0.Signal<boolean>;
2748
+ /**
2749
+ * Whether the device is Desktop
2750
+ */
2751
+ readonly isDesktopDevice: i0.Signal<boolean>;
2752
+ /**
2753
+ * Whether the device supports touch (alias for isTouchDevice)
2754
+ */
2755
+ readonly isTouchScreen: i0.Signal<boolean>;
2756
+ private _resizeListener;
2757
+ constructor();
2758
+ /**
2759
+ * Update screen size and device type based on window width
2760
+ */
2761
+ private _updateScreenSize;
2762
+ /**
2763
+ * Set up event listener for window resize
2764
+ */
2765
+ private _setupResizeListener;
2766
+ /**
2767
+ * Remove event listener for window resize
2768
+ */
2769
+ private _removeResizeListener;
2770
+ /**
2771
+ * Clean up resources when service is destroyed
2772
+ */
2773
+ destroy(): void;
2774
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDeviceService, never>;
2775
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPDeviceService>;
2776
+ }
2777
+
2778
+ /**
2779
+ * Service for applying and resetting text highlighting within specified HTML elements.
2780
+ */
2781
+ declare class AXHighlightService {
2782
+ private querySelector;
2783
+ private searchValue;
2784
+ constructor();
2785
+ /**
2786
+ * Highlights all occurrences of a search value within the elements matching the provided query selector.
2787
+ *
2788
+ * @param querySelector - CSS selector to identify target elements.
2789
+ * @param searchValue - Text to search and highlight.
2790
+ */
2791
+ highlight(querySelector: string, searchValue: string): void;
2792
+ /**
2793
+ * Resets all highlighted text within the elements matching the previously used query selector.
2794
+ */
2795
+ clear(): void;
2796
+ /**
2797
+ * Applies highlighting to a specific element by matching text against the search value.
2798
+ *
2799
+ * @param element - The HTML element to apply highlights to.
2800
+ */
2801
+ private applyHighlight;
2802
+ /**
2803
+ * Recursively applies highlighting to text nodes within an element.
2804
+ *
2805
+ * @param element - The current node being processed.
2806
+ * @param searchRegex - Regular expression for matching text to highlight.
2807
+ */
2808
+ private recursivelyHighlight;
2809
+ /**
2810
+ * Generates the HTML structure for highlighted text.
2811
+ *
2812
+ * @param textContent - The original text content to process.
2813
+ * @param searchRegex - Regular expression for matching text to highlight.
2814
+ * @returns A string of HTML with highlighted portions wrapped in span elements.
2815
+ */
2816
+ private createHighlightedHTML;
2817
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXHighlightService, never>;
2818
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXHighlightService>;
2819
+ }
2820
+
2821
+ declare function extractNestedFieldsWildcard(obj: any, basePath: string, fields: string[]): any;
2822
+ declare function setSmart(obj: any, smartPath: string, value: any): any;
2823
+ declare function getSmart(obj: any, smartPath: string): any;
2824
+ declare function extractValue<T = any>(value: any, key?: string): T | null;
2825
+ declare function cleanDeep(obj: any): any;
2826
+ type ChangeEntry = {
2827
+ path: string;
2828
+ oldValue: any;
2829
+ newValue: any;
2830
+ arrayDiff?: {
2831
+ added: any[];
2832
+ removed: any[];
2833
+ };
2834
+ };
2835
+ declare function getChangedPaths(obj1: any, obj2: any): string[];
2836
+ declare function getDetailedChanges(obj1: any, obj2: any): ChangeEntry[];
2837
+ declare function getEnumValues(enumType: any): {
2838
+ id: string;
2839
+ title: string;
2840
+ }[];
2841
+
2842
+ /**
2843
+ * Creates a provider instance within an injection context.
2844
+ * Handles dynamic import, injector resolution, and provider instantiation.
2845
+ *
2846
+ * @param loader - Function that returns a promise resolving to the provider class
2847
+ * @returns Promise that resolves to the provider instance
2848
+ *
2849
+ * @example
2850
+ * ```typescript
2851
+ * useFactory: () => createProviderWithInjectionContext(() =>
2852
+ * import('./settings.provider').then(m => m.AXMSettingProvider)
2853
+ * )
2854
+ * ```
2855
+ */
2856
+ declare function createProviderWithInjectionContext<T>(loader: () => Promise<new () => T>): Promise<T>;
2857
+ /**
2858
+ * Creates a provider configuration for lazy-loaded providers with injection context.
2859
+ * Simplifies provider registration in NgModule providers array.
2860
+ *
2861
+ * @param token - The injection token to provide
2862
+ * @param loader - Function that returns a promise resolving to the provider class
2863
+ * @param multi - Optional. Whether the provider is a multi-provider (array of values). Defaults to `true`. Pass `false` for a single provider.
2864
+ * @returns Provider configuration object
2865
+ *
2866
+ * @example
2867
+ * ```typescript
2868
+ * // Multi-provider (default)
2869
+ * provideLazyProvider(
2870
+ * AXP_DATASOURCE_DEFINITION_PROVIDER,
2871
+ * () => import('./datasource.provider').then(m => m.AXMDataSourceProvider)
2872
+ * )
2873
+ *
2874
+ * // Single provider
2875
+ * provideLazyProvider(
2876
+ * SOME_TOKEN,
2877
+ * () => import('./my.provider').then(m => m.MyProvider),
2878
+ * false
2879
+ * )
2880
+ * ```
2881
+ */
2882
+ declare function provideLazyProvider<TProvider>(token: InjectionToken<any>, loader: () => Promise<new () => TProvider>, multi?: boolean): Provider;
2883
+
2884
+ declare function extractTextFromHtml(value: string): string;
2885
+ /**
2886
+ * True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.
2887
+ * Used to choose innerHTML vs text interpolation for multilingual fields.
2888
+ */
2889
+ declare function containsHtmlMarkup(value: string | null | undefined): boolean;
2890
+ /**
2891
+ * Generate kebab-case group name from title
2892
+ */
2893
+ declare function generateKebabCase(title: string): string;
2894
+
2895
+ export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPMultiLanguageStringResolverService, AXPPlatformScope, AXPResolveMultiLanguageStringPipe, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, MODULE_MANIFESTS_DATASOURCE_NAME, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, containsHtmlMarkup, createMultiLanguageString, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, isEffectivelyEmptyLocalizedValue, objectKeyValueTransforms, provideLazyProvider, resolveActionLook, resolveMultiLanguageString, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart };
2896
+ export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPCategoryListItem, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPColumnWidthMatcher, AXPColumnWidthProvider, AXPCommandMessage, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceArray, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataSourceSample, AXPDataSourceType, AXPDataSourceValue, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityOp, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFilterTriggerDefinition, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPISessionService, AXPLazyDataSource, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMaybePromise, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPMultiLanguageString, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPageStatus, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers, ColumnNameMatcher, ColumnWidthValue, IColumnWithWidth, WidgetTypeMatcher };