http-request-manager 19.0.0 → 19.2.5

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 (166) hide show
  1. package/README.md +585 -300
  2. package/fesm2022/http-request-manager.mjs +9434 -3133
  3. package/fesm2022/http-request-manager.mjs.map +1 -1
  4. package/package.json +7 -9
  5. package/types/http-request-manager.d.ts +3546 -0
  6. package/esm2022/http-request-manager.mjs +0 -5
  7. package/esm2022/lib/http-request-manager.module.mjs +0 -186
  8. package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +0 -71
  9. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +0 -45
  10. package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +0 -173
  11. package/esm2022/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.mjs +0 -184
  12. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +0 -80
  13. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +0 -42
  14. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +0 -88
  15. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +0 -11
  16. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +0 -29
  17. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +0 -9
  18. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +0 -12
  19. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +0 -14
  20. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +0 -315
  21. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +0 -270
  22. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +0 -67
  23. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.mjs +0 -9
  24. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.mjs +0 -12
  25. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.mjs +0 -14
  26. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.mjs +0 -336
  27. package/esm2022/lib/index.mjs +0 -4
  28. package/esm2022/lib/interceptors/credentials.interceptor.mjs +0 -14
  29. package/esm2022/lib/interceptors/index.mjs +0 -5
  30. package/esm2022/lib/interceptors/models/error-settings.model.mjs +0 -10
  31. package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +0 -47
  32. package/esm2022/lib/interceptors/request-error.interceptor.mjs +0 -49
  33. package/esm2022/lib/interceptors/request-header.interceptor.mjs +0 -41
  34. package/esm2022/lib/models/config-http-options.model.mjs +0 -18
  35. package/esm2022/lib/models/config-local-storage-options.model.mjs +0 -12
  36. package/esm2022/lib/models/config-options.model.mjs +0 -12
  37. package/esm2022/lib/models/config-token.model.mjs +0 -8
  38. package/esm2022/lib/models/data-type.enum.mjs +0 -7
  39. package/esm2022/lib/models/database-storage.model.mjs +0 -10
  40. package/esm2022/lib/models/index.mjs +0 -7
  41. package/esm2022/lib/models/retry-options.model.mjs +0 -10
  42. package/esm2022/lib/services/database-manager-services/database.manager.service.mjs +0 -119
  43. package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +0 -143
  44. package/esm2022/lib/services/database-manager-services/index.mjs +0 -4
  45. package/esm2022/lib/services/database-manager-services/models/table-schema.mjs +0 -20
  46. package/esm2022/lib/services/index.mjs +0 -6
  47. package/esm2022/lib/services/local-storage-manager-service/index.mjs +0 -4
  48. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +0 -302
  49. package/esm2022/lib/services/local-storage-manager-service/local-storage-signals-manager.service.mjs +0 -277
  50. package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +0 -13
  51. package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +0 -6
  52. package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +0 -17
  53. package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +0 -10
  54. package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +0 -12
  55. package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +0 -7
  56. package/esm2022/lib/services/request-manager-services/http-manager-signals.service.mjs +0 -199
  57. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +0 -207
  58. package/esm2022/lib/services/request-manager-services/index.mjs +0 -6
  59. package/esm2022/lib/services/request-manager-services/request-signals.service.mjs +0 -170
  60. package/esm2022/lib/services/request-manager-services/request.service.mjs +0 -191
  61. package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +0 -9
  62. package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +0 -10
  63. package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +0 -5
  64. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +0 -33
  65. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +0 -19
  66. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +0 -360
  67. package/esm2022/lib/services/request-manager-state-service/index.mjs +0 -3
  68. package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +0 -21
  69. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +0 -3
  70. package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +0 -10
  71. package/esm2022/lib/services/request-manager-state-service/models/ws-options.model.mjs +0 -12
  72. package/esm2022/lib/services/utils/app.service.mjs +0 -26
  73. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +0 -186
  74. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +0 -35
  75. package/esm2022/lib/services/utils/encryption/index.mjs +0 -4
  76. package/esm2022/lib/services/utils/encryption/random.mjs +0 -52
  77. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +0 -77
  78. package/esm2022/lib/services/utils/headers.service.mjs +0 -21
  79. package/esm2022/lib/services/utils/index.mjs +0 -6
  80. package/esm2022/lib/services/utils/object-merger.service.mjs +0 -70
  81. package/esm2022/lib/services/utils/path-query.service.mjs +0 -54
  82. package/esm2022/lib/services/utils/utils.service.mjs +0 -155
  83. package/esm2022/lib/services/ws-manager-service/models/assortment-data.model.mjs +0 -10
  84. package/esm2022/lib/services/ws-manager-service/websocket.service.mjs +0 -133
  85. package/esm2022/public-api.mjs +0 -11
  86. package/http-request-manager-19.0.0.tgz +0 -0
  87. package/index.d.ts +0 -5
  88. package/lib/http-request-manager.module.d.ts +0 -35
  89. package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +0 -19
  90. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +0 -32
  91. package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +0 -56
  92. package/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.d.ts +0 -55
  93. package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +0 -26
  94. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +0 -13
  95. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +0 -27
  96. package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +0 -12
  97. package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +0 -16
  98. package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +0 -8
  99. package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +0 -14
  100. package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +0 -14
  101. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +0 -107
  102. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +0 -122
  103. package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +0 -15
  104. package/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.d.ts +0 -8
  105. package/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.d.ts +0 -14
  106. package/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.d.ts +0 -14
  107. package/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.d.ts +0 -106
  108. package/lib/index.d.ts +0 -3
  109. package/lib/interceptors/credentials.interceptor.d.ts +0 -8
  110. package/lib/interceptors/index.d.ts +0 -4
  111. package/lib/interceptors/models/error-settings.model.d.ts +0 -10
  112. package/lib/interceptors/proxy-debugger.interceptor.d.ts +0 -12
  113. package/lib/interceptors/request-error.interceptor.d.ts +0 -10
  114. package/lib/interceptors/request-header.interceptor.d.ts +0 -15
  115. package/lib/models/config-http-options.model.d.ts +0 -21
  116. package/lib/models/config-local-storage-options.model.d.ts +0 -13
  117. package/lib/models/config-options.model.d.ts +0 -12
  118. package/lib/models/config-token.model.d.ts +0 -8
  119. package/lib/models/data-type.enum.d.ts +0 -5
  120. package/lib/models/database-storage.model.d.ts +0 -10
  121. package/lib/models/index.d.ts +0 -6
  122. package/lib/models/retry-options.model.d.ts +0 -10
  123. package/lib/services/database-manager-services/database.manager.service.d.ts +0 -31
  124. package/lib/services/database-manager-services/db.storage.service.d.ts +0 -26
  125. package/lib/services/database-manager-services/index.d.ts +0 -3
  126. package/lib/services/database-manager-services/models/table-schema.d.ts +0 -11
  127. package/lib/services/index.d.ts +0 -4
  128. package/lib/services/local-storage-manager-service/index.d.ts +0 -3
  129. package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +0 -86
  130. package/lib/services/local-storage-manager-service/local-storage-signals-manager.service.d.ts +0 -64
  131. package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +0 -15
  132. package/lib/services/local-storage-manager-service/models/index.d.ts +0 -5
  133. package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +0 -15
  134. package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +0 -10
  135. package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +0 -13
  136. package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +0 -5
  137. package/lib/services/request-manager-services/http-manager-signals.service.d.ts +0 -38
  138. package/lib/services/request-manager-services/http-manager.service.d.ts +0 -41
  139. package/lib/services/request-manager-services/index.d.ts +0 -4
  140. package/lib/services/request-manager-services/request-signals.service.d.ts +0 -26
  141. package/lib/services/request-manager-services/request.service.d.ts +0 -28
  142. package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +0 -2
  143. package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +0 -2
  144. package/lib/services/request-manager-services/rxjs-operators/index.d.ts +0 -4
  145. package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +0 -2
  146. package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +0 -2
  147. package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +0 -64
  148. package/lib/services/request-manager-state-service/index.d.ts +0 -2
  149. package/lib/services/request-manager-state-service/models/api-request.model.d.ts +0 -30
  150. package/lib/services/request-manager-state-service/models/index.d.ts +0 -2
  151. package/lib/services/request-manager-state-service/models/request-options.model.d.ts +0 -10
  152. package/lib/services/request-manager-state-service/models/ws-options.model.d.ts +0 -14
  153. package/lib/services/utils/app.service.d.ts +0 -8
  154. package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +0 -17
  155. package/lib/services/utils/encryption/encryption-test.service.d.ts +0 -10
  156. package/lib/services/utils/encryption/index.d.ts +0 -3
  157. package/lib/services/utils/encryption/random.d.ts +0 -7
  158. package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +0 -14
  159. package/lib/services/utils/headers.service.d.ts +0 -10
  160. package/lib/services/utils/index.d.ts +0 -5
  161. package/lib/services/utils/object-merger.service.d.ts +0 -14
  162. package/lib/services/utils/path-query.service.d.ts +0 -11
  163. package/lib/services/utils/utils.service.d.ts +0 -24
  164. package/lib/services/ws-manager-service/models/assortment-data.model.d.ts +0 -10
  165. package/lib/services/ws-manager-service/websocket.service.d.ts +0 -21
  166. package/public-api.d.ts +0 -7
@@ -0,0 +1,3546 @@
1
+ import * as rxjs from 'rxjs';
2
+ import { Observable, Subscription, BehaviorSubject, OperatorFunction } from 'rxjs';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, OnDestroy, Injector, OnInit, EventEmitter, ModuleWithProviders } from '@angular/core';
5
+ import { ComponentStore } from '@ngrx/component-store';
6
+ import { HttpClient, HttpHeaders, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
7
+ import * as i17 from 'toast-message-display';
8
+ import { ToastMessageDisplayService } from 'toast-message-display';
9
+ import Dexie, { Table } from 'dexie';
10
+ import * as i35 from '@ngx-translate/core';
11
+ import { TranslateService } from '@ngx-translate/core';
12
+ import * as _angular_forms from '@angular/forms';
13
+ import { FormArray, FormBuilder, FormControl } from '@angular/forms';
14
+ import { DataSource } from '@angular/cdk/collections';
15
+ import * as i4 from '@angular/common';
16
+ import * as i7 from '@angular/material/button';
17
+ import * as i20 from '@angular/material/tabs';
18
+ import * as i21 from '@angular/material/select';
19
+ import * as i22 from '@angular/material/chips';
20
+ import * as i23 from '@angular/material/menu';
21
+ import * as i5 from '@angular/material/icon';
22
+ import * as i25 from '@angular/material/table';
23
+ import * as i26 from '@angular/material/button-toggle';
24
+ import * as i27 from '@angular/material/autocomplete';
25
+ import * as i28 from '@angular/material/progress-bar';
26
+ import * as i6 from '@angular/material/progress-spinner';
27
+ import { ProgressSpinnerMode } from '@angular/material/progress-spinner';
28
+ import * as i30 from '@angular/material/slide-toggle';
29
+ import * as i31 from '@angular/material/divider';
30
+ import * as i32 from '@angular/material/form-field';
31
+ import * as i33 from '@angular/material/input';
32
+ import * as i34 from '@angular/material/toolbar';
33
+ import * as i36 from '@angular/material/sidenav';
34
+ import * as i37 from '@angular/material/datepicker';
35
+ import * as i38 from '@angular/material/core';
36
+ import { ThemePalette } from '@angular/material/core';
37
+ import * as i39 from '@angular/material/card';
38
+
39
+ declare enum StorageType {
40
+ GLOBAL = 0,
41
+ SESSION = 1,
42
+ DB = 2
43
+ }
44
+
45
+ interface SettingOptionsInterface {
46
+ storage?: StorageType;
47
+ expires?: number;
48
+ expiresIn?: string;
49
+ encrypted?: boolean;
50
+ }
51
+ declare class SettingOptions implements SettingOptionsInterface {
52
+ storage?: StorageType | undefined;
53
+ expires?: number | undefined;
54
+ expiresIn?: string | undefined;
55
+ encrypted?: boolean | undefined;
56
+ constructor(storage?: StorageType | undefined, expires?: number | undefined, expiresIn?: string | undefined, encrypted?: boolean | undefined);
57
+ static adapt(item?: any): SettingOptions;
58
+ }
59
+
60
+ interface StorageOptionInterface {
61
+ id?: string;
62
+ name: string;
63
+ data?: any;
64
+ options?: SettingOptions;
65
+ }
66
+ declare class StorageOption implements StorageOptionInterface {
67
+ id?: string | undefined;
68
+ name: string;
69
+ data?: any;
70
+ options?: SettingOptions | undefined;
71
+ constructor(id?: string | undefined, name?: string, data?: any, options?: SettingOptions | undefined);
72
+ static adapt(item?: any): StorageOption;
73
+ }
74
+
75
+ interface GlobalStoreOptionsInterface {
76
+ encryption?: boolean;
77
+ expiresIn?: string;
78
+ expires?: number;
79
+ stores: StorageOption[] | null;
80
+ }
81
+ declare class GlobalStoreOptions implements GlobalStoreOptionsInterface {
82
+ encryption: boolean;
83
+ expiresIn?: string | undefined;
84
+ expires?: number | undefined;
85
+ stores: StorageOption[] | null;
86
+ constructor(encryption?: boolean, expiresIn?: string | undefined, expires?: number | undefined, stores?: StorageOption[] | null);
87
+ static adapt(item?: any): GlobalStoreOptions;
88
+ }
89
+
90
+ interface StorageDataInterface {
91
+ id?: string;
92
+ data?: any;
93
+ }
94
+ declare class StorageData implements StorageDataInterface {
95
+ id?: string | undefined;
96
+ data?: any;
97
+ constructor(id?: string | undefined, data?: any);
98
+ static adapt(item?: any): StorageData;
99
+ }
100
+
101
+ declare class UtilsService {
102
+ http: HttpClient;
103
+ constructor();
104
+ isString(x: string | number): boolean;
105
+ isObject(obj: any): boolean;
106
+ JSONToString(value: any): any;
107
+ stringToJSON(value: string): any;
108
+ isJSON(str: any): boolean;
109
+ getValueByProp(obj: any, prop: string): any;
110
+ objectsEqual(x: any, y: any): boolean;
111
+ getJSON(file: string): rxjs.Observable<Object>;
112
+ get today(): number;
113
+ base32ToHex(base32: string): string;
114
+ binaryToHex(binary: string): string;
115
+ expires(str?: string): number | undefined;
116
+ hasExpired(expiryDate: number): boolean;
117
+ hasExpiry(setting: any): boolean;
118
+ expiresIn(expiryDate: number): string | undefined;
119
+ lc: (str: string) => string;
120
+ static ɵfac: i0.ɵɵFactoryDeclaration<UtilsService, never>;
121
+ static ɵprov: i0.ɵɵInjectableDeclaration<UtilsService>;
122
+ }
123
+
124
+ declare class SymmetricalEncryptionService {
125
+ appID: string;
126
+ private appService;
127
+ constructor();
128
+ generateCipherKey(): string;
129
+ encrypt(str: any, key?: string): string | undefined;
130
+ decrypt(str: string, key?: string): string | null | undefined;
131
+ createSignature(url: string, len?: number): string;
132
+ normalizeURL(url: string): string;
133
+ generateSignature(url: string): string;
134
+ static ɵfac: i0.ɵɵFactoryDeclaration<SymmetricalEncryptionService, never>;
135
+ static ɵprov: i0.ɵɵInjectableDeclaration<SymmetricalEncryptionService>;
136
+ }
137
+
138
+ declare class EncryptionTestService {
139
+ constructor();
140
+ private isBase64;
141
+ private isHexadecimal;
142
+ private hasHighEntropy;
143
+ isEncrypted(str: string): boolean;
144
+ static ɵfac: i0.ɵɵFactoryDeclaration<EncryptionTestService, never>;
145
+ static ɵprov: i0.ɵɵInjectableDeclaration<EncryptionTestService>;
146
+ }
147
+
148
+ declare class AppService {
149
+ private id;
150
+ appID: string;
151
+ constructor(id: string);
152
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppService, never>;
153
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppService>;
154
+ }
155
+
156
+ interface WSOptionsInterface {
157
+ id: string;
158
+ wsServer: string;
159
+ jwtToken: string;
160
+ permissions?: string[];
161
+ channels?: string[];
162
+ wsUpdateChannels?: string[];
163
+ user?: any;
164
+ retry?: RetryOptions;
165
+ }
166
+ declare class WSOptions implements WSOptionsInterface {
167
+ id: string;
168
+ wsServer: string;
169
+ jwtToken: string;
170
+ permissions?: string[] | undefined;
171
+ channels?: string[] | undefined;
172
+ wsUpdateChannels?: string[] | undefined;
173
+ user?: any;
174
+ retry?: RetryOptions | undefined;
175
+ constructor(id?: string, wsServer?: string, jwtToken?: string, permissions?: string[] | undefined, channels?: string[] | undefined, wsUpdateChannels?: string[] | undefined, user?: any, retry?: RetryOptions | undefined);
176
+ static adapt(item?: any): WSOptions;
177
+ }
178
+
179
+ /**
180
+ * Enum representing valid streaming format types
181
+ *
182
+ * This enum defines all supported streaming formats for HTTP requests.
183
+ * Each enum value corresponds to a specific data format and parsing strategy.
184
+ */
185
+ declare enum StreamType {
186
+ JSON = "json",
187
+ NDJSON = "ndjson",
188
+ AI_STREAMING = "ai_streaming",
189
+ EVENT_STREAM = "event_stream",
190
+ AUTO = "auto"
191
+ }
192
+
193
+ interface ApiRequestInterface {
194
+ server: string;
195
+ path?: any[];
196
+ headers?: any;
197
+ adapter?: any;
198
+ mapper?: any;
199
+ polling?: number;
200
+ retry?: RetryOptions;
201
+ stream?: boolean;
202
+ streamType?: StreamType;
203
+ displayError?: boolean;
204
+ saveAs?: string;
205
+ fileContentHeader?: string;
206
+ ws?: WSOptions;
207
+ env?: string;
208
+ }
209
+ declare class ApiRequest implements ApiRequestInterface {
210
+ server: string;
211
+ path?: any[] | undefined;
212
+ headers?: any;
213
+ adapter?: any;
214
+ mapper?: any;
215
+ polling?: number | undefined;
216
+ retry?: RetryOptions | undefined;
217
+ stream?: boolean | undefined;
218
+ streamType?: StreamType | undefined;
219
+ displayError?: boolean | undefined;
220
+ saveAs?: string | undefined;
221
+ fileContentHeader?: string | undefined;
222
+ ws?: WSOptions | undefined;
223
+ env?: string | undefined;
224
+ constructor(server?: string, path?: any[] | undefined, headers?: any, adapter?: any, mapper?: any, polling?: number | undefined, retry?: RetryOptions | undefined, stream?: boolean | undefined, streamType?: StreamType | undefined, displayError?: boolean | undefined, saveAs?: string | undefined, fileContentHeader?: string | undefined, ws?: WSOptions | undefined, env?: string | undefined);
225
+ static adapt(item?: any): ApiRequest;
226
+ }
227
+
228
+ interface WSUserInterface {
229
+ id: string;
230
+ ldap?: string;
231
+ name?: string;
232
+ email?: string;
233
+ [key: string]: any;
234
+ }
235
+ declare class WSUser implements WSUserInterface {
236
+ id: string;
237
+ ldap: string;
238
+ name: string;
239
+ email: string;
240
+ constructor(id?: string, ldap?: string, name?: string, email?: string);
241
+ static adapt(item?: any): WSUser;
242
+ }
243
+
244
+ interface StateMessageInterface {
245
+ sessionId: {
246
+ id: string;
247
+ ldap?: string;
248
+ name?: string;
249
+ email?: string;
250
+ };
251
+ content: any;
252
+ }
253
+ declare class StateMessage implements StateMessageInterface {
254
+ sessionId: {
255
+ id: string;
256
+ ldap?: string;
257
+ name?: string;
258
+ email?: string;
259
+ };
260
+ content: any;
261
+ constructor(sessionId?: {
262
+ id: string;
263
+ ldap?: string;
264
+ name?: string;
265
+ email?: string;
266
+ }, content?: any);
267
+ static adapt(item?: any): StateMessage;
268
+ }
269
+
270
+ interface PublicMessageInterface {
271
+ sessionId: {
272
+ id: string;
273
+ ldap?: string;
274
+ name?: string;
275
+ email?: string;
276
+ };
277
+ content: {
278
+ message: string;
279
+ [key: string]: any;
280
+ };
281
+ }
282
+ declare class PublicMessage implements PublicMessageInterface {
283
+ sessionId: {
284
+ id: string;
285
+ ldap?: string;
286
+ name?: string;
287
+ email?: string;
288
+ };
289
+ content: {
290
+ message: string;
291
+ [key: string]: any;
292
+ };
293
+ constructor(sessionId?: {
294
+ id: string;
295
+ ldap?: string;
296
+ name?: string;
297
+ email?: string;
298
+ }, content?: {
299
+ message: string;
300
+ [key: string]: any;
301
+ });
302
+ static adapt(item?: any): PublicMessage;
303
+ }
304
+
305
+ interface NotificationMessageInterface {
306
+ sessionId: {
307
+ id: string;
308
+ ldap?: string;
309
+ name?: string;
310
+ email?: string;
311
+ color?: string;
312
+ };
313
+ message: string;
314
+ [key: string]: any;
315
+ }
316
+ declare class NotificationMessage implements NotificationMessageInterface {
317
+ sessionId: {
318
+ id: string;
319
+ ldap?: string;
320
+ name?: string;
321
+ email?: string;
322
+ color?: string;
323
+ };
324
+ message: string;
325
+ [key: string]: any;
326
+ constructor(sessionId?: {
327
+ id: string;
328
+ ldap?: string;
329
+ name?: string;
330
+ email?: string;
331
+ color?: string;
332
+ }, message?: string, additionalProperties?: any);
333
+ static adapt(item?: any): NotificationMessage;
334
+ }
335
+
336
+ interface DatabaseStorageInterface {
337
+ table: string;
338
+ expiresIn: string;
339
+ }
340
+ declare class DatabaseStorage implements DatabaseStorageInterface {
341
+ table: string;
342
+ expiresIn: '';
343
+ constructor(table: string, expiresIn: '');
344
+ static adapt(item?: any): any;
345
+ }
346
+
347
+ interface RequestOptionsInterface {
348
+ path: any[];
349
+ headers: any;
350
+ }
351
+ declare class RequestOptions implements RequestOptionsInterface {
352
+ path: any[];
353
+ headers: {};
354
+ constructor(path?: any[], headers?: {});
355
+ static adapt(item?: any): RequestOptions;
356
+ }
357
+
358
+ interface TableSchemaDefInterface {
359
+ table: string;
360
+ schema: string;
361
+ }
362
+ declare class TableSchemaDef implements TableSchemaDefInterface {
363
+ table: string;
364
+ schema: string;
365
+ constructor(table?: string, schema?: string);
366
+ static adapt(item?: any): TableSchemaDef;
367
+ static cleanString(str: string): string;
368
+ }
369
+
370
+ declare class DbService extends Dexie {
371
+ readonly storageDB = "global_storage_db";
372
+ get db(): this;
373
+ private dbReady;
374
+ constructor();
375
+ private init;
376
+ protected createNewDatabase(): Promise<void>;
377
+ get vr(): number;
378
+ get nextVr(): number;
379
+ get getTables(): string[];
380
+ hasDatabase(): Promise<boolean>;
381
+ getTable(tableName: string): Table<any, any> | undefined;
382
+ tableExists(tableName: string): boolean;
383
+ protected updateTable(tableName: string, find: {
384
+ key: string;
385
+ value: string | number;
386
+ }, data: any): Promise<boolean>;
387
+ protected createTable(tableName: string, schema: string): Promise<void>;
388
+ protected DBOpened(): Promise<boolean>;
389
+ private getCurrentSchema;
390
+ protected cleanTableName(str: string): string;
391
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbService, never>;
392
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbService>;
393
+ }
394
+
395
+ declare class DatabaseManagerService extends DbService {
396
+ constructor();
397
+ getDatabaseTables(): Observable<any[]>;
398
+ databaseExists(): Observable<boolean>;
399
+ hasDatabaseTable(table: string): Observable<boolean>;
400
+ getDatabaseTable(table: string): Observable<any>;
401
+ getDatabaseTableSchema(table: string): Observable<string[]>;
402
+ createDatabaseTable(tableDef: TableSchemaDef): Observable<boolean>;
403
+ updateDatabaseTableSchema(tableDef: TableSchemaDef): Observable<any>;
404
+ findTableRecords(table: string, column: string, value: any): Observable<unknown>;
405
+ findTableRecord(table: string, column: string, value: any): Observable<any>;
406
+ getTableRecords(table: string): Observable<unknown>;
407
+ getTableRecord(table: string, id: number): Observable<any>;
408
+ createTableRecord(table: string, record: any): Observable<any>;
409
+ createTableRecords(table: string, records: any[]): Observable<{
410
+ [key: string]: any;
411
+ }[]>;
412
+ updateTableRecord(table: string, record: any): Observable<{
413
+ [key: string]: any;
414
+ } | null>;
415
+ updateTableRecords(table: string, records: any[]): Observable<{
416
+ [key: string]: any;
417
+ }[]>;
418
+ deleteTableRecord<T>(table: string, id: number): Observable<number | null>;
419
+ deleteTableRecords(table: string, ids: number[]): Observable<number[]>;
420
+ clearTable(table: string): Observable<never[]>;
421
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatabaseManagerService, never>;
422
+ static ɵprov: i0.ɵɵInjectableDeclaration<DatabaseManagerService>;
423
+ }
424
+
425
+ interface ChannelMessageInterface {
426
+ messageId?: number;
427
+ channel?: string;
428
+ isReplay?: boolean;
429
+ sessionId: any;
430
+ content: any;
431
+ timestamp?: string;
432
+ }
433
+ declare class ChannelMessage implements ChannelMessageInterface {
434
+ messageId?: number | undefined;
435
+ channel?: string | undefined;
436
+ isReplay?: boolean | undefined;
437
+ sessionId: any;
438
+ content: any;
439
+ timestamp?: string | undefined;
440
+ constructor(messageId?: number | undefined, channel?: string | undefined, isReplay?: boolean | undefined, sessionId?: any, content?: any, timestamp?: string | undefined);
441
+ static adapt(item?: any): ChannelMessage;
442
+ }
443
+
444
+ /**
445
+ * LoggerService for http-request-manager library
446
+ *
447
+ * Automatically enables debug logging in development mode,
448
+ * disables it in production mode.
449
+ *
450
+ * Usage:
451
+ * ```typescript
452
+ * constructor(private logger: LoggerService) {}
453
+ *
454
+ * this.logger.debug('WebSocket', 'Connected successfully');
455
+ * this.logger.info('HTTP', 'Request completed', { status: 200 });
456
+ * this.logger.warn('State', 'Cache miss for key', { key: 'user' });
457
+ * this.logger.error('Database', 'Connection failed', error);
458
+ * ```
459
+ */
460
+ declare class LoggerService {
461
+ private debugMode;
462
+ constructor();
463
+ /**
464
+ * Debug level logging - only shown in development mode
465
+ * Use for: Detailed diagnostic information, state changes, connection events
466
+ */
467
+ debug(context: string, message: string, data?: any): void;
468
+ /**
469
+ * Info level logging - only shown in development mode
470
+ * Use for: Important operational messages, successful operations
471
+ */
472
+ info(context: string, message: string, data?: any): void;
473
+ /**
474
+ * Warning level logging - always shown
475
+ * Use for: Potential issues, deprecated usage, recoverable errors
476
+ */
477
+ warn(context: string, message: string, data?: any): void;
478
+ /**
479
+ * Error level logging - always shown
480
+ * Use for: Actual errors, failures, exceptions
481
+ */
482
+ error(context: string, message: string, data?: any): void;
483
+ /**
484
+ * Check if debug mode is enabled (development mode)
485
+ */
486
+ isDebugEnabled(): boolean;
487
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoggerService, never>;
488
+ static ɵprov: i0.ɵɵInjectableDeclaration<LoggerService>;
489
+ }
490
+
491
+ /**
492
+ * Channel type enum for different communication purposes
493
+ * - STATE: Private channels for state synchronization (SYS- prefix)
494
+ * - MESSAGE: Public messaging/communication channels (PUB- prefix)
495
+ * - NOTIFICATION: Notification channels with DB persistence (MES- prefix)
496
+ */
497
+ declare enum ChannelType {
498
+ STATE = "SYS",
499
+ MESSAGE = "PUB",
500
+ NOTIFICATION = "MES"
501
+ }
502
+ /**
503
+ * Utility function to create prefixed channel name
504
+ * @param channelType - The type of channel
505
+ * @param channelName - The base channel name
506
+ * @returns Prefixed channel name (e.g., 'SYS-USERS123')
507
+ */
508
+ declare function createChannelName(channelType: ChannelType, channelName: string): string;
509
+ interface APIStateManagerData<T> {
510
+ data: T[];
511
+ dataObject: T | null;
512
+ }
513
+ declare class HTTPManagerStateService<T extends {
514
+ id: number | string;
515
+ }> extends ComponentStore<APIStateManagerData<T>> {
516
+ private apiOptions;
517
+ private dataType;
518
+ httpManagerService: HTTPManagerService<any>;
519
+ dbManagerService: DatabaseManagerService;
520
+ localStorageManagerService: LocalStorageManagerService;
521
+ utils: UtilsService;
522
+ logger: LoggerService;
523
+ error$: Observable<boolean>;
524
+ isPending$: Observable<boolean>;
525
+ private page;
526
+ page$: Observable<number>;
527
+ private totalPages;
528
+ totalPages$: Observable<number>;
529
+ private percentage;
530
+ percentage$: Observable<number>;
531
+ private hasDatabase;
532
+ streamedResponse: never[];
533
+ private maxRetries;
534
+ private retryDelay;
535
+ private shouldRetry;
536
+ private connectionStatusSubscription?;
537
+ private databaseOptions?;
538
+ private wsRetryAttempts;
539
+ wsRetryAttempts$: Observable<number>;
540
+ private wsNextRetry;
541
+ wsNextRetry$: Observable<number>;
542
+ private messages;
543
+ messages$: Observable<any[]>;
544
+ private userListByChannel;
545
+ userListByChannel$: Observable<Map<string, any[]>>;
546
+ getUsersForChannel$(channel: string): Observable<any[]>;
547
+ private userList;
548
+ userList$: Observable<any[]>;
549
+ private user;
550
+ user$: Observable<WSUser | null>;
551
+ private channels;
552
+ channels$: Observable<string[] | null>;
553
+ private notificationChannels;
554
+ notificationChannels$: Observable<string[]>;
555
+ private todaysNotificationChannels;
556
+ todaysNotificationChannels$: Observable<string[]>;
557
+ private notificationMessages;
558
+ notificationMessages$: Observable<any[]>;
559
+ private latestNotification;
560
+ latestNotification$: Observable<any>;
561
+ private communicationMessages;
562
+ communicationMessages$: Observable<any[]>;
563
+ private latestCommunicationMessages;
564
+ latestCommunicationMessages$: Observable<any>;
565
+ private userAction;
566
+ userAction$: Observable<any>;
567
+ private static wsCommunicationQueue;
568
+ private ownSessionId;
569
+ wsOptions: WSOptions;
570
+ connectionStatus$: Observable<boolean>;
571
+ constructor(apiOptions: ApiRequest, dataType: DataType | undefined, database?: DatabaseStorage);
572
+ /**
573
+ * Add appropriate prefix to a channel name if not already present
574
+ */
575
+ private prefixChannel;
576
+ /**
577
+ * Remove any known prefix from a channel name
578
+ */
579
+ private stripChannelPrefix;
580
+ /**
581
+ * Get the base channel name without prefix (for display/user reference)
582
+ */
583
+ getBaseChannelName(channel: string): string;
584
+ setApiRequestOptions(apiOptions?: ApiRequest, dataType?: DataType, database?: DatabaseStorage): void;
585
+ private setupConnectionStatus;
586
+ readonly initWS: (observableOrValue: WSOptions | Observable<WSOptions>) => Subscription;
587
+ appendMessages(message: any): void;
588
+ latestMessage(): void;
589
+ clearMessages(): void;
590
+ get ApiRequestOptions(): ApiRequest;
591
+ readonly initDBStorage: (observableOrValue?: void | Observable<void> | undefined) => Subscription;
592
+ initializeState(data: any): void;
593
+ readonly data$: Observable<T | T[] | null>;
594
+ readonly selectRecord$: (id: number) => Observable<T | T[] | null>;
595
+ private readonly setData$;
596
+ private updateArrayState;
597
+ private readonly addData$;
598
+ private readonly deleteData$;
599
+ private readonly updateData$;
600
+ readonly clearRecords: (observableOrValue?: void | Observable<void> | undefined) => Subscription;
601
+ readonly fetchRecords: (options?: RequestOptions) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
602
+ private initDBStorageAsync;
603
+ readonly fetchRecord: (options: RequestOptions, method: string) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
604
+ readonly createRecord: (data: any | null, options?: RequestOptions) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
605
+ readonly updateRecord: (data: any | null, options?: RequestOptions) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
606
+ readonly deleteRecord: (options?: RequestOptions) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
607
+ readonly createStream: (data: any | null, options?: RequestOptions) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
608
+ readonly fetchStream: (options?: RequestOptions) => ((observableOrValue?: any) => Subscription) | ((observableOrValue: any) => Subscription);
609
+ private wsCommunication;
610
+ /**
611
+ * Actually send the WebSocket message (called when connected or from queue)
612
+ */
613
+ private sendWsCommunication;
614
+ /**
615
+ * Send a message to channel(s)
616
+ * @param message - The message content
617
+ * @param channels - Optional array of channel names (passed as-is, caller should include prefix)
618
+ * Use 'allChannels' to broadcast to all
619
+ */
620
+ wsMessaging(message: ChannelMessage, channels?: string[]): void;
621
+ /**
622
+ * Subscribe to a messaging channel
623
+ * @param channel - Base channel name (MES- prefix added automatically)
624
+ */
625
+ subscribeToMessageChannel(channel: string): void;
626
+ /**
627
+ * Unsubscribe from a messaging channel
628
+ * @param channel - Base channel name (MES- prefix added automatically)
629
+ */
630
+ unsubscribeFromMessageChannel(channel: string): void;
631
+ /**
632
+ * Subscribe to a single channel (no automatic prefix)
633
+ * Use subscribeToMessageChannel() for MES- prefixed channels
634
+ */
635
+ subscribeToChannel(channel: string): void;
636
+ /**
637
+ * Subscribe to multiple channels at once
638
+ */
639
+ subscribeToChannels(channels: string[]): void;
640
+ /**
641
+ * Unsubscribe from a channel
642
+ */
643
+ unsubscribeFromChannel(channel: string): void;
644
+ /**
645
+ * Get observable of currently subscribed channels
646
+ */
647
+ get subscribedChannels$(): Observable<Set<string>>;
648
+ /**
649
+ * Get current subscribed channels synchronously
650
+ */
651
+ getSubscribedChannels(): Set<string>;
652
+ /**
653
+ * Create a new channel on the server
654
+ */
655
+ createChannel(channel: string): void;
656
+ /**
657
+ * Delete a channel from the server
658
+ */
659
+ deleteChannel(channel: string): void;
660
+ /**
661
+ * Request list of all channels from server
662
+ */
663
+ getAllChannels(): void;
664
+ /**
665
+ * Get users in a specific channel
666
+ */
667
+ getUsersInChannel(channel: string): void;
668
+ /**
669
+ * Create a notification channel on the server
670
+ * @param channel - Base channel name (MES- prefix added automatically)
671
+ */
672
+ createNotificationChannel(channel: string): void;
673
+ /**
674
+ * Request list of all notification channels from server (in-memory)
675
+ */
676
+ getNotificationChannels(): void;
677
+ /**
678
+ * Request list of today's notification channels from database
679
+ * Returns unique channels that have notifications posted today
680
+ */
681
+ getTodaysNotificationChannels(): void;
682
+ /**
683
+ * Subscribe to a notification channel with optional date filters
684
+ * @param channel - Base channel name (MES- prefix added automatically)
685
+ */
686
+ subscribeToNotificationChannel(channel: string, options?: {
687
+ startEpoch?: number;
688
+ endEpoch?: number;
689
+ }, user?: any): void;
690
+ /**
691
+ * Unsubscribe from a notification channel
692
+ * @param channel - Base channel name (MES- prefix added automatically)
693
+ */
694
+ unsubscribeFromNotificationChannel(channel: string): void;
695
+ /**
696
+ * Send a notification to a channel
697
+ * @param channel - Base channel name (MES- prefix added automatically)
698
+ */
699
+ sendNotification(channel: string, content: any): void;
700
+ /**
701
+ * Clear/flush all records from the database table
702
+ * Does not clear localStorage metadata (expires info)
703
+ * Does not re-fetch from API - leaves state empty for manual refresh
704
+ */
705
+ clearDatabase(): void;
706
+ private isEmpty;
707
+ private updateRequestOptions;
708
+ static ɵfac: i0.ɵɵFactoryDeclaration<HTTPManagerStateService<any>, never>;
709
+ static ɵprov: i0.ɵɵInjectableDeclaration<HTTPManagerStateService<any>>;
710
+ }
711
+
712
+ declare class WebsocketService {
713
+ private logger;
714
+ private socket;
715
+ private messages;
716
+ messages$: Observable<any>;
717
+ private connectionStatus;
718
+ connectionStatus$: Observable<boolean>;
719
+ private isSubscribed;
720
+ private subscribedChannels;
721
+ subscribedChannels$: Observable<Set<string>>;
722
+ private lastOptions;
723
+ private getSessionId;
724
+ private sendSubscribe;
725
+ connect(options: WSOptions, jwtToken: string): void;
726
+ disconnect(): void;
727
+ subscribeToChannel(channelName: string): void;
728
+ subscribeToChannels(channelNames: string[]): void;
729
+ unsubscribeFromChannel(channel: string): void;
730
+ unsubscribeToChannel(channel: string): void;
731
+ getSubscribedChannels(): Set<string>;
732
+ sendBroadcast(content: any): void;
733
+ sendMessageInChannel(channel: string, content: any): void;
734
+ /**
735
+ * Send a message to a specific channel for channel-based messaging
736
+ * This uses the 'message' type which broadcasts to all subscribers in the channel
737
+ */
738
+ sendChannelMessage(channel: string, content: any): void;
739
+ /**
740
+ * Send a message to multiple channels at once (batch)
741
+ * Sends the new batch format and falls back to legacy per-channel messages for compatibility
742
+ */
743
+ sendChannelMessageToChannels(channels: string[], content: any): void;
744
+ sendMessageToUser(user: string, content: any): void;
745
+ getAllChannels(): void;
746
+ createChannel(channel: string): void;
747
+ deleteChannel(channel: string): void;
748
+ getUsersInChannel(channel: string): void;
749
+ /**
750
+ * Create a notification channel
751
+ */
752
+ createNotificationChannel(channel: string): void;
753
+ /**
754
+ * Get all notification channels (in-memory)
755
+ */
756
+ getNotificationChannels(): void;
757
+ getTodaysNotificationChannels(): void;
758
+ subscribeToNotificationChannel(channel: string, options?: {
759
+ startEpoch?: number;
760
+ endEpoch?: number;
761
+ }, user?: any): void;
762
+ unsubscribeFromNotificationChannel(channel: string): void;
763
+ sendNotification(channel: string, content: any): void;
764
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebsocketService, never>;
765
+ static ɵprov: i0.ɵɵInjectableDeclaration<WebsocketService>;
766
+ }
767
+
768
+ /**
769
+ * WebSocketManagerService - Singleton WebSocket connection manager
770
+ *
771
+ * This service ensures only ONE WebSocket connection exists across ALL instances
772
+ * of HTTPManagerStateService. It uses static properties to track connection state
773
+ * globally, preventing duplicate connections when multiple state services are created.
774
+ *
775
+ * Usage:
776
+ * - Inject into HTTPManagerService (or directly into state services)
777
+ * - Call connect() with WSOptions - only the first call establishes connection
778
+ * - Subsequent calls detect existing connection and skip reconnection
779
+ * - All instances share the same connectionStatus$ and messages$ observables
780
+ */
781
+ declare class WebSocketManagerService {
782
+ private static socket;
783
+ private static isConnecting;
784
+ private static connectionInitialized;
785
+ private static lastOptions;
786
+ private static messages;
787
+ messages$: Observable<any>;
788
+ private static connectionStatus;
789
+ connectionStatus$: Observable<boolean>;
790
+ private static isSubscribed;
791
+ private static subscribedChannels;
792
+ subscribedChannels$: Observable<Set<string>>;
793
+ static getSubscribedChannels(): Set<string>;
794
+ static addSubscribedChannel(channelName: string): void;
795
+ private static onReconnect;
796
+ onReconnect$: Observable<void>;
797
+ private getSessionId;
798
+ /**
799
+ * Connect to WebSocket server
800
+ *
801
+ * IMPORTANT: Only the first call across ALL instances will establish a connection.
802
+ * Subsequent calls will detect the existing connection and return immediately.
803
+ *
804
+ * @param options - WebSocket configuration options
805
+ * @param jwtToken - Optional JWT token for authentication
806
+ */
807
+ connect(options: WSOptions, jwtToken: string): void;
808
+ /**
809
+ * Disconnect from WebSocket server
810
+ */
811
+ disconnect(): void;
812
+ private sendSubscribe;
813
+ /**
814
+ * Send subscribe with lastSeenId for message sync support
815
+ * @param channelName - Channel name to subscribe to
816
+ * @param user - User data
817
+ * @param lastSeenId - Last message ID seen (for replay)
818
+ */
819
+ sendSubscribeWithLastSeen(channelName: string, user: any, lastSeenId: number): void;
820
+ /**
821
+ * Subscribe to a channel
822
+ * @param channelName - Channel name to subscribe to
823
+ */
824
+ subscribeToChannel(channelName: string): void;
825
+ /**
826
+ * Subscribe to multiple channels
827
+ * @param channelNames - Array of channel names to subscribe to
828
+ */
829
+ subscribeToChannels(channelNames: string[]): void;
830
+ /**
831
+ * Unsubscribe from a channel
832
+ * @param channel - Channel name to unsubscribe from
833
+ */
834
+ unsubscribeFromChannel(channel: string): void;
835
+ /**
836
+ * Get currently subscribed channels
837
+ * @returns Set of subscribed channel names
838
+ */
839
+ getSubscribedChannels(): Set<string>;
840
+ /**
841
+ * Generic send method for message tracking (acks, gap requests, etc.)
842
+ * @param message - Message object to send
843
+ */
844
+ send(message: any): void;
845
+ /**
846
+ * Send broadcast message
847
+ * @param content - Message content to broadcast
848
+ */
849
+ sendBroadcast(content: any): void;
850
+ /**
851
+ * Send message in channel (state manager message)
852
+ * @param channel - Channel name
853
+ * @param content - Message content
854
+ */
855
+ sendMessageInChannel(channel: string, content: any): void;
856
+ /**
857
+ * Send channel message (broadcasts to all subscribers in the channel)
858
+ * @param channel - Channel name
859
+ * @param content - Message content
860
+ */
861
+ sendChannelMessage(channel: string, content: any): void;
862
+ /**
863
+ * Send message to multiple channels at once (batch)
864
+ * @param channels - Array of channel names
865
+ * @param content - Message content
866
+ */
867
+ sendChannelMessageToChannels(channels: string[], content: any): void;
868
+ /**
869
+ * Send message to specific user
870
+ * @param user - User identifier
871
+ * @param content - Message content
872
+ */
873
+ sendMessageToUser(user: string, content: any): void;
874
+ /**
875
+ * Request list of all channels from server
876
+ */
877
+ getAllChannels(): void;
878
+ /**
879
+ * Create a new channel on server
880
+ * @param channel - Channel name to create
881
+ */
882
+ createChannel(channel: string): void;
883
+ /**
884
+ * Delete a channel from server
885
+ * @param channel - Channel name to delete
886
+ */
887
+ deleteChannel(channel: string): void;
888
+ /**
889
+ * Get users in a specific channel
890
+ * @param channel - Channel name
891
+ */
892
+ getUsersInChannel(channel: string): void;
893
+ /**
894
+ * Create a notification channel
895
+ * @param channel - Channel name (should include MES- prefix)
896
+ */
897
+ createNotificationChannel(channel: string): void;
898
+ /**
899
+ * Get all notification channels (in-memory)
900
+ */
901
+ getNotificationChannels(): void;
902
+ /**
903
+ * Get today's notification channels from database
904
+ */
905
+ getTodaysNotificationChannels(): void;
906
+ /**
907
+ * Subscribe to a notification channel with optional date filters
908
+ * @param channel - Channel name
909
+ * @param options - Optional start/end epoch filters
910
+ * @param user - User information
911
+ */
912
+ subscribeToNotificationChannel(channel: string, options?: {
913
+ startEpoch?: number;
914
+ endEpoch?: number;
915
+ }, user?: any): void;
916
+ /**
917
+ * Unsubscribe from a notification channel
918
+ * @param channel - Channel name
919
+ */
920
+ unsubscribeFromNotificationChannel(channel: string): void;
921
+ /**
922
+ * Send notification to channel
923
+ * @param channel - Channel name (should include MES- prefix)
924
+ * @param content - Notification content
925
+ */
926
+ sendNotification(channel: string, content: any): void;
927
+ /**
928
+ * Check if WebSocket connection is currently open
929
+ * @returns true if connected, false otherwise
930
+ */
931
+ static isConnected(): boolean;
932
+ /**
933
+ * Check if connection has been initialized (attempted at least once)
934
+ * @returns true if connection was initialized, false otherwise
935
+ */
936
+ static isInitialized(): boolean;
937
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebSocketManagerService, never>;
938
+ static ɵprov: i0.ɵɵInjectableDeclaration<WebSocketManagerService>;
939
+ }
940
+
941
+ /**
942
+ * WebSocketMessageService - Unified service for sending WebSocket messages
943
+ *
944
+ * Provides type-safe methods for sending messages with automatic prefix management.
945
+ * Supports three message types: State (SYS-), Public (PUB-), and Notification (MES-).
946
+ *
947
+ * Features:
948
+ * - Type-safe message models
949
+ * - Automatic prefix management
950
+ * - Runtime validation
951
+ * - Boolean return values for success/failure
952
+ * - Silent failure with console errors
953
+ */
954
+ declare class WebSocketMessageService {
955
+ private wsManagerService;
956
+ private logger;
957
+ /**
958
+ * Send state message (SYS- prefix)
959
+ * Used for CRUD operations and state synchronization
960
+ *
961
+ * @param path - Path array (e.g., ['ai', 'tests'])
962
+ * @param payload - StateMessage with sessionId and content
963
+ * @returns true if sent successfully, false otherwise
964
+ */
965
+ sendStateMessage(path: (string | number)[], payload: StateMessage): boolean;
966
+ /**
967
+ * Send public message (PUB- prefix)
968
+ * Used for chat, broadcast, general messaging
969
+ *
970
+ * @param channel - Channel name (without prefix)
971
+ * @param payload - PublicMessage with sessionId and content.message
972
+ * @returns true if sent successfully, false otherwise
973
+ */
974
+ sendPublicMessage(channel: string, payload: PublicMessage): boolean;
975
+ /**
976
+ * Send notification (MES- prefix)
977
+ * Used for persistent notifications with history
978
+ *
979
+ * @param channel - Channel name (without prefix)
980
+ * @param payload - NotificationMessage with sessionId and message
981
+ * @returns true if sent successfully, false otherwise
982
+ */
983
+ sendNotification(channel: string, payload: NotificationMessage): boolean;
984
+ /**
985
+ * Send to custom channel (no prefix)
986
+ * User provides full channel name
987
+ *
988
+ * @param channel - Full channel name
989
+ * @param payload - Any message payload
990
+ * @returns true if sent successfully, false otherwise
991
+ */
992
+ sendToCustomChannel(channel: string, payload: any): boolean;
993
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebSocketMessageService, never>;
994
+ static ɵprov: i0.ɵɵInjectableDeclaration<WebSocketMessageService>;
995
+ }
996
+
997
+ declare class RequestService extends WebsocketService {
998
+ private http;
999
+ private pathQueryService;
1000
+ private headersService;
1001
+ isPending: BehaviorSubject<boolean>;
1002
+ isPending$: Observable<boolean>;
1003
+ progress: BehaviorSubject<number>;
1004
+ progress$: Observable<number>;
1005
+ getRecordRequest<T>(options: ApiRequest): Observable<T>;
1006
+ getRecordRequest<T>(options: ApiRequest): Observable<T>;
1007
+ getRecordRequest<T>(options: ApiRequest & {
1008
+ stream: true;
1009
+ }): Observable<T[]>;
1010
+ createRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
1011
+ createRecordRequest<T>(options: ApiRequest & {
1012
+ stream: true;
1013
+ }, data: any): Observable<T[]>;
1014
+ createRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
1015
+ createRecordRequest<T>(options: ApiRequest & {
1016
+ stream: true;
1017
+ }, data: any): Observable<T[]>;
1018
+ updateRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
1019
+ deleteRecordRequest<T>(options: ApiRequest): Observable<T>;
1020
+ private buildUrlPath;
1021
+ private buildHeaders;
1022
+ private buildCombinedHeaders;
1023
+ private request;
1024
+ private requestStreaming;
1025
+ downloadFileRequest(options: ApiRequest): Observable<any>;
1026
+ private handleFinalize;
1027
+ private downloadFile;
1028
+ private createFileType;
1029
+ private combineHeaders;
1030
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestService, never>;
1031
+ static ɵprov: i0.ɵɵInjectableDeclaration<RequestService>;
1032
+ }
1033
+
1034
+ interface RetryOptionsInterface {
1035
+ times?: number;
1036
+ delay?: number;
1037
+ }
1038
+ declare class RetryOptions implements RetryOptionsInterface {
1039
+ times: number;
1040
+ delay: number;
1041
+ constructor(times?: number, delay?: number);
1042
+ static adapt(item?: any): RetryOptions;
1043
+ }
1044
+
1045
+ interface BatchOptionsInterface {
1046
+ mode?: 'sequential' | 'parallel';
1047
+ stopOnError?: boolean;
1048
+ concurrency?: number;
1049
+ ignoreErrors?: boolean;
1050
+ logErrors?: boolean;
1051
+ }
1052
+ declare class BatchOptions implements BatchOptionsInterface {
1053
+ mode: 'sequential' | 'parallel';
1054
+ stopOnError: boolean;
1055
+ concurrency: number;
1056
+ ignoreErrors: boolean;
1057
+ logErrors: boolean;
1058
+ constructor(mode?: 'sequential' | 'parallel', stopOnError?: boolean, concurrency?: number, ignoreErrors?: boolean, logErrors?: boolean);
1059
+ static adapt(item?: any): BatchOptions;
1060
+ }
1061
+
1062
+ interface BatchResultInterface<T = any> {
1063
+ request: any;
1064
+ success: boolean;
1065
+ data?: T;
1066
+ error?: any;
1067
+ index: number;
1068
+ timestamp: number;
1069
+ }
1070
+ declare class BatchResult<T = any> implements BatchResultInterface<T> {
1071
+ request: any;
1072
+ success: boolean;
1073
+ data?: T | undefined;
1074
+ error?: any;
1075
+ index: number;
1076
+ timestamp: number;
1077
+ constructor(request: any, success: boolean, data?: T | undefined, error?: any, index?: number, timestamp?: number);
1078
+ static adapt<T>(item?: any): BatchResult<T>;
1079
+ }
1080
+
1081
+ type BatchRequestState<T> = BatchPendingState | BatchSuccessState<T> | BatchErrorState;
1082
+ interface BatchPendingState {
1083
+ index: number;
1084
+ request: any;
1085
+ isPending: true;
1086
+ data?: undefined;
1087
+ error?: undefined;
1088
+ }
1089
+ interface BatchSuccessState<T> {
1090
+ index: number;
1091
+ request: any;
1092
+ isPending: false;
1093
+ data: T;
1094
+ error?: undefined;
1095
+ }
1096
+ interface BatchErrorState {
1097
+ index: number;
1098
+ request: any;
1099
+ isPending: false;
1100
+ data?: undefined;
1101
+ error: any;
1102
+ }
1103
+ declare function isPendingState<T>(state: BatchRequestState<T>): state is BatchPendingState;
1104
+ declare function isSuccessState<T>(state: BatchRequestState<T>): state is BatchSuccessState<T>;
1105
+ declare function isErrorState<T>(state: BatchRequestState<T>): state is BatchErrorState;
1106
+
1107
+ interface BatchProgress {
1108
+ total: number;
1109
+ pending: number;
1110
+ completed: number;
1111
+ failed: number;
1112
+ percent: number;
1113
+ }
1114
+ declare function calculateBatchProgress<T>(states: BatchRequestState<T>[]): BatchProgress;
1115
+
1116
+ declare enum DataType {
1117
+ ANY = 0,
1118
+ ARRAY = 1,
1119
+ OBJECT = 2
1120
+ }
1121
+
1122
+ interface ConfigHTTPOptionsInterface {
1123
+ server: string;
1124
+ path?: any[];
1125
+ headers?: any;
1126
+ polling?: number;
1127
+ retry?: RetryOptions;
1128
+ stream?: boolean;
1129
+ displayError?: boolean;
1130
+ }
1131
+ declare class ConfigHTTPOptions implements ConfigHTTPOptionsInterface {
1132
+ server: string;
1133
+ path?: any[] | undefined;
1134
+ headers?: any;
1135
+ polling?: number | undefined;
1136
+ retry?: RetryOptions | undefined;
1137
+ stream?: boolean | undefined;
1138
+ displayError?: boolean | undefined;
1139
+ constructor(server?: string, path?: any[] | undefined, headers?: any, polling?: number | undefined, retry?: RetryOptions | undefined, stream?: boolean | undefined, displayError?: boolean | undefined);
1140
+ static adapt(item?: any): ConfigHTTPOptions;
1141
+ }
1142
+
1143
+ interface LocalStorageOptionsInterface {
1144
+ storageName?: string;
1145
+ storageSettingsName?: string;
1146
+ options?: SettingOptions;
1147
+ }
1148
+ declare class LocalStorageOptions implements LocalStorageOptionsInterface {
1149
+ storageName?: string | undefined;
1150
+ storageSettingsName?: string | undefined;
1151
+ options?: SettingOptions | undefined;
1152
+ constructor(storageName?: string | undefined, storageSettingsName?: string | undefined, options?: SettingOptions | undefined);
1153
+ static adapt(item?: any): LocalStorageOptions;
1154
+ }
1155
+
1156
+ interface ConfigOptionsInterface {
1157
+ httpRequestOptions?: ConfigHTTPOptions;
1158
+ LocalStorageOptions?: LocalStorageOptions;
1159
+ }
1160
+ declare class ConfigOptions implements ConfigOptionsInterface {
1161
+ httpRequestOptions?: ConfigHTTPOptions | undefined;
1162
+ LocalStorageOptions?: LocalStorageOptions | undefined;
1163
+ constructor(httpRequestOptions?: ConfigHTTPOptions | undefined, LocalStorageOptions?: LocalStorageOptions | undefined);
1164
+ static adapt(item?: any): ConfigOptions;
1165
+ }
1166
+
1167
+ /**
1168
+ * An injection token that provides the configuration settings for the application.
1169
+ * This token can be used to inject the `ConfigSettings` instance into components or services
1170
+ * that require access to the application configuration.
1171
+ */
1172
+ declare const CONFIG_SETTINGS_TOKEN: InjectionToken<ConfigOptions>;
1173
+
1174
+ interface UserDataInterface {
1175
+ ldap: string;
1176
+ name: string;
1177
+ email: string;
1178
+ color: string;
1179
+ }
1180
+ declare class UserData implements UserDataInterface {
1181
+ ldap: string;
1182
+ name: string;
1183
+ email: string;
1184
+ color: string;
1185
+ constructor(ldap?: string, name?: string, email?: string, color?: string);
1186
+ static adapt(item?: any): UserData;
1187
+ }
1188
+
1189
+ declare class ObjectMergerService {
1190
+ private configOptions?;
1191
+ utils: UtilsService;
1192
+ constructor(configOptions?: ConfigOptions | undefined);
1193
+ mergeOptions(options?: ApiRequest): ApiRequest;
1194
+ mergeStorageOptions(options?: SettingOptions): SettingOptions;
1195
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectMergerService, [{ optional: true; }]>;
1196
+ static ɵprov: i0.ɵɵInjectableDeclaration<ObjectMergerService>;
1197
+ }
1198
+
1199
+ /**
1200
+ * Message Tracker Service - Guaranteed Message Delivery
1201
+ *
1202
+ * Tracks message IDs, detects gaps, manages acknowledgments, and handles sync.
1203
+ * Ensures frontend clients never miss messages even during disconnections.
1204
+ *
1205
+ * Features:
1206
+ * - Per-channel message sequence tracking
1207
+ * - Automatic gap detection and recovery
1208
+ * - Batch acknowledgments (configurable interval)
1209
+ * - Reconnection sync with last-seen tracking
1210
+ * - Gap threshold alerting (10 messages before UI notification)
1211
+ */
1212
+ declare class MessageTrackerService implements OnDestroy {
1213
+ private wsManager;
1214
+ /** Batch acknowledgment interval in milliseconds */
1215
+ private readonly BATCH_ACK_INTERVAL_MS;
1216
+ /** Maximum gap before alerting UI */
1217
+ private readonly GAP_THRESHOLD;
1218
+ /** Maximum messages to store in pending acks before forcing batch */
1219
+ private readonly MAX_PENDING_ACKS;
1220
+ /**
1221
+ * Track last seen message ID per channel
1222
+ * Map<channelName, lastMessageId>
1223
+ */
1224
+ private lastSeen;
1225
+ /**
1226
+ * Expected next message ID per channel (for gap detection)
1227
+ * Map<channelName, nextExpectedId>
1228
+ */
1229
+ private expectedSequence;
1230
+ /**
1231
+ * Pending acknowledgments per channel
1232
+ * Map<channelName, Set<messageId>>
1233
+ */
1234
+ private pendingAcks;
1235
+ /**
1236
+ * Gap count per channel (for threshold alerting)
1237
+ * Map<channelName, gapCount>
1238
+ */
1239
+ private gapCounts;
1240
+ /**
1241
+ * Replay mode tracking (per channel)
1242
+ * Used to distinguish replay vs live messages
1243
+ */
1244
+ private inReplayMode;
1245
+ /**
1246
+ * Gap retry count (for retry logic)
1247
+ * Map<channel, retryCount>
1248
+ */
1249
+ private gapRetryCount;
1250
+ /** Batch acknowledgment timer */
1251
+ private batchAckTimer;
1252
+ /** Subscription to WebSocket messages */
1253
+ private messagesSubscription;
1254
+ /**
1255
+ * Track channels we want to be subscribed to (survives disconnect/reconnect)
1256
+ * This is separate from WebSocketManagerService.subscribedChannels which tracks
1257
+ * actual active subscriptions
1258
+ */
1259
+ private intendedChannels;
1260
+ /** Observable to emit processed messages to UI components */
1261
+ private messagesSubject;
1262
+ messages$: Observable<any>;
1263
+ constructor(wsManager: WebSocketManagerService);
1264
+ ngOnDestroy(): void;
1265
+ /**
1266
+ * Process incoming message
1267
+ * Tracks ID, detects gaps, queues acknowledgment
1268
+ */
1269
+ private onMessage;
1270
+ /**
1271
+ * Track message ID and detect gaps
1272
+ */
1273
+ private trackMessage;
1274
+ /**
1275
+ * Queue message for batch acknowledgment
1276
+ */
1277
+ private queueAck;
1278
+ /**
1279
+ * Start batch acknowledgment timer
1280
+ */
1281
+ private startBatchAckTimer;
1282
+ /**
1283
+ * Stop batch acknowledgment timer
1284
+ */
1285
+ private stopBatchAckTimer;
1286
+ /**
1287
+ * Send batch acknowledgments for all channels with pending acks
1288
+ */
1289
+ private sendAllBatchAcks;
1290
+ /**
1291
+ * Send batch acknowledgment for a specific channel
1292
+ */
1293
+ private sendBatchAck;
1294
+ /**
1295
+ * Request missing messages from server
1296
+ */
1297
+ private requestGapFill;
1298
+ /**
1299
+ * Handle gap threshold exceeded (optional: alert UI)
1300
+ */
1301
+ private onGapThresholdExceeded;
1302
+ /**
1303
+ * Subscribe to channel with sync support
1304
+ * Automatically includes lastSeenId for replay
1305
+ */
1306
+ subscribeToChannel(channel: string, userData?: any): void;
1307
+ /**
1308
+ * Re-subscribe to all previously subscribed channels after reconnect
1309
+ * Includes lastSeenId for each channel to trigger message replay
1310
+ */
1311
+ private reSubscribeAllChannels;
1312
+ /**
1313
+ * Persist lastSeen to sessionStorage (survives page reload)
1314
+ */
1315
+ private persistLastSeen;
1316
+ /**
1317
+ * Restore lastSeen from sessionStorage
1318
+ */
1319
+ private restoreLastSeen;
1320
+ /**
1321
+ * Persist intendedChannels to sessionStorage
1322
+ */
1323
+ private persistIntendedChannels;
1324
+ /**
1325
+ * Restore intendedChannels from sessionStorage
1326
+ */
1327
+ private restoreIntendedChannels;
1328
+ /**
1329
+ * Get last seen message ID for a channel
1330
+ */
1331
+ getLastSeenId(channel: string): number;
1332
+ /**
1333
+ * Get expected next message ID for a channel
1334
+ */
1335
+ getExpectedNextId(channel: string): number;
1336
+ /**
1337
+ * Check if currently in replay mode for a channel
1338
+ */
1339
+ isInReplayMode(channel: string): boolean;
1340
+ /**
1341
+ * Get gap count for a channel
1342
+ */
1343
+ getGapCount(channel: string): number;
1344
+ /**
1345
+ * Get skipped IDs between expected and received (for detailed gap reporting)
1346
+ */
1347
+ private getSkippedIds;
1348
+ /**
1349
+ * Clear all tracking state (useful for debugging or manual reset)
1350
+ */
1351
+ clearState(): void;
1352
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageTrackerService, never>;
1353
+ static ɵprov: i0.ɵɵInjectableDeclaration<MessageTrackerService>;
1354
+ }
1355
+
1356
+ declare class HTTPManagerService<T> extends RequestService {
1357
+ private configOptions?;
1358
+ toastMessage: ToastMessageDisplayService;
1359
+ ng_injector: Injector;
1360
+ objectMergerService: ObjectMergerService;
1361
+ wsManager: WebSocketManagerService;
1362
+ messageTracker: MessageTrackerService;
1363
+ connectionStatus$: Observable<boolean>;
1364
+ messages$: Observable<any>;
1365
+ subscribedChannels$: Observable<Set<string>>;
1366
+ private countdown;
1367
+ countdown$: Observable<number>;
1368
+ private error;
1369
+ error$: Observable<boolean>;
1370
+ private data;
1371
+ data$: Observable<any>;
1372
+ private polling$;
1373
+ config: ApiRequest;
1374
+ constructor(configOptions?: ConfigOptions | undefined);
1375
+ /**
1376
+ * Connect to WebSocket server
1377
+ * Only the first call across ALL instances will establish a connection
1378
+ */
1379
+ connect(options: any, jwtToken: string): void;
1380
+ /**
1381
+ * Disconnect from WebSocket server
1382
+ */
1383
+ disconnect(): void;
1384
+ /**
1385
+ * Subscribe to a channel
1386
+ */
1387
+ subscribeToChannel(channel: string, userData?: any): void;
1388
+ /**
1389
+ * Subscribe to multiple channels
1390
+ */
1391
+ subscribeToChannels(channels: string[], userData?: any): void;
1392
+ /**
1393
+ * Unsubscribe from a channel
1394
+ */
1395
+ unsubscribeFromChannel(channel: string): void;
1396
+ /**
1397
+ * Get currently subscribed channels
1398
+ */
1399
+ getSubscribedChannels(): Set<string>;
1400
+ /**
1401
+ * Send broadcast message
1402
+ */
1403
+ sendBroadcast(content: any): void;
1404
+ /**
1405
+ * Send message in channel (state manager message)
1406
+ */
1407
+ sendMessageInChannel(channel: string, content: any): void;
1408
+ /**
1409
+ * Send channel message
1410
+ */
1411
+ sendChannelMessage(channel: string, content: any): void;
1412
+ /**
1413
+ * Send message to multiple channels
1414
+ */
1415
+ sendChannelMessageToChannels(channels: string[], content: any): void;
1416
+ /**
1417
+ * Send message to user
1418
+ */
1419
+ sendMessageToUser(user: string, content: any): void;
1420
+ /**
1421
+ * Get all channels
1422
+ */
1423
+ getAllChannels(): void;
1424
+ /**
1425
+ * Create channel
1426
+ */
1427
+ createChannel(channel: string): void;
1428
+ /**
1429
+ * Delete channel
1430
+ */
1431
+ deleteChannel(channel: string): void;
1432
+ /**
1433
+ * Get users in channel
1434
+ */
1435
+ getUsersInChannel(channel: string): void;
1436
+ /**
1437
+ * Create notification channel
1438
+ */
1439
+ createNotificationChannel(channel: string): void;
1440
+ /**
1441
+ * Get notification channels
1442
+ */
1443
+ getNotificationChannels(): void;
1444
+ /**
1445
+ * Get today's notification channels
1446
+ */
1447
+ getTodaysNotificationChannels(): void;
1448
+ /**
1449
+ * Subscribe to notification channel
1450
+ */
1451
+ subscribeToNotificationChannel(channel: string, options?: any, user?: any): void;
1452
+ /**
1453
+ * Unsubscribe from notification channel
1454
+ */
1455
+ unsubscribeFromNotificationChannel(channel: string): void;
1456
+ /**
1457
+ * Send notification to channel
1458
+ */
1459
+ sendNotification(channel: string, content: any): void;
1460
+ getRequest<T>(options?: ApiRequest, params?: any[]): Observable<T>;
1461
+ postRequest<T extends {
1462
+ id?: number | string;
1463
+ }>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
1464
+ putRequest<T extends {
1465
+ id?: number | string;
1466
+ }>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
1467
+ deleteRequest<T>(options: ApiRequest, params?: any[]): Observable<T>;
1468
+ downloadRequest<T>(options: ApiRequest, params?: any[], saveAs?: string): Observable<T>;
1469
+ private createObservable;
1470
+ private createRequest;
1471
+ private prepareRequestData;
1472
+ private handleError;
1473
+ private handleErrorWithSnackBar;
1474
+ private stopPolling;
1475
+ private defineReqOptions;
1476
+ /**
1477
+ * Execute multiple HTTP requests with configurable execution strategy
1478
+ * @param requests Array of ApiRequest configurations
1479
+ * @param options Optional batch configuration (all properties optional)
1480
+ * @returns Observable emitting array of data in the order of requests provided
1481
+ */
1482
+ getBatchRequests<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<U[]>;
1483
+ /**
1484
+ * Execute requests sequentially (one at a time, in order)
1485
+ * @param requests Array of ApiRequest configurations
1486
+ * @param options Optional batch configuration
1487
+ * @returns Observable emitting array of data when all requests complete
1488
+ */
1489
+ getSequentialRequest<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<U[]>;
1490
+ /**
1491
+ * Execute requests in parallel with concurrency control
1492
+ * @param requests Array of ApiRequest configurations
1493
+ * @param options Optional batch configuration with concurrency limit
1494
+ * @returns Observable emitting array of data when all requests complete
1495
+ */
1496
+ getParallelRequest<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<U[]>;
1497
+ /**
1498
+ * Execute multiple HTTP requests and emit individual state changes in real-time
1499
+ * @param requests Array of ApiRequest configurations
1500
+ * @param options Optional batch configuration (all properties optional)
1501
+ * @returns Observable stream of individual request states
1502
+ */
1503
+ getBatchRequestsStream<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<BatchRequestState<U>>;
1504
+ /**
1505
+ * Execute requests sequentially and emit state changes
1506
+ */
1507
+ private getSequentialStream;
1508
+ /**
1509
+ * Execute requests in parallel and emit state changes
1510
+ */
1511
+ private getParallelStream;
1512
+ private handleSequentialError;
1513
+ private handleParallelError;
1514
+ static ɵfac: i0.ɵɵFactoryDeclaration<HTTPManagerService<any>, [{ optional: true; }]>;
1515
+ static ɵprov: i0.ɵɵInjectableDeclaration<HTTPManagerService<any>>;
1516
+ }
1517
+
1518
+ declare class RequestSignalsService extends WebsocketService {
1519
+ private http;
1520
+ private pathQueryService;
1521
+ private headersService;
1522
+ isPending: i0.WritableSignal<boolean>;
1523
+ progress: i0.WritableSignal<number>;
1524
+ isIdle: i0.Signal<boolean>;
1525
+ getRecordRequest<T>(options: ApiRequest): Observable<T>;
1526
+ getRecordRequest<T>(options: ApiRequest & {
1527
+ stream: true;
1528
+ }): Observable<T[]>;
1529
+ createRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
1530
+ createRecordRequest<T>(options: ApiRequest & {
1531
+ stream: true;
1532
+ }, data: any): Observable<T[]>;
1533
+ updateRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
1534
+ deleteRecordRequest<T>(options: ApiRequest): Observable<T>;
1535
+ private buildUrlPath;
1536
+ private buildHeaders;
1537
+ private buildCombinedHeaders;
1538
+ private request;
1539
+ private requestStreamingOperator;
1540
+ downloadFileRequest(options: ApiRequest): Observable<any>;
1541
+ private handleFinalize;
1542
+ private downloadFile;
1543
+ private createFileType;
1544
+ private combineHeaders;
1545
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestSignalsService, never>;
1546
+ static ɵprov: i0.ɵɵInjectableDeclaration<RequestSignalsService>;
1547
+ }
1548
+
1549
+ declare class HTTPManagerSignalsService<T> extends RequestSignalsService {
1550
+ private configOptions?;
1551
+ toastMessage: ToastMessageDisplayService;
1552
+ ng_injector: Injector;
1553
+ objectMergerService: ObjectMergerService;
1554
+ wsManager: WebSocketManagerService;
1555
+ messageTracker: MessageTrackerService;
1556
+ connectionStatus$: Observable<boolean>;
1557
+ messages$: Observable<any>;
1558
+ subscribedChannels$: Observable<Set<string>>;
1559
+ countdown: i0.WritableSignal<number>;
1560
+ error: i0.WritableSignal<string | boolean>;
1561
+ data: i0.WritableSignal<any>;
1562
+ private polling$;
1563
+ config: ApiRequest;
1564
+ constructor(configOptions?: ConfigOptions | undefined);
1565
+ /**
1566
+ * Connect to WebSocket server
1567
+ */
1568
+ connect(options: any, jwtToken: string): void;
1569
+ /**
1570
+ * Disconnect from WebSocket server
1571
+ */
1572
+ disconnect(): void;
1573
+ /**
1574
+ * Subscribe to a channel
1575
+ */
1576
+ subscribeToChannel(channel: string, userData?: any): void;
1577
+ /**
1578
+ * Subscribe to multiple channels
1579
+ */
1580
+ subscribeToChannels(channels: string[], userData?: any): void;
1581
+ /**
1582
+ * Unsubscribe from a channel
1583
+ */
1584
+ unsubscribeFromChannel(channel: string): void;
1585
+ /**
1586
+ * Get currently subscribed channels
1587
+ */
1588
+ getSubscribedChannels(): Set<string>;
1589
+ /**
1590
+ * Send broadcast message
1591
+ */
1592
+ sendBroadcast(content: any): void;
1593
+ /**
1594
+ * Send message in channel (state manager message)
1595
+ */
1596
+ sendMessageInChannel(channel: string, content: any): void;
1597
+ /**
1598
+ * Send channel message
1599
+ */
1600
+ sendChannelMessage(channel: string, content: any): void;
1601
+ /**
1602
+ * Send message to multiple channels
1603
+ */
1604
+ sendChannelMessageToChannels(channels: string[], content: any): void;
1605
+ /**
1606
+ * Send message to user
1607
+ */
1608
+ sendMessageToUser(user: string, content: any): void;
1609
+ /**
1610
+ * Get all channels
1611
+ */
1612
+ getAllChannels(): void;
1613
+ /**
1614
+ * Create channel
1615
+ */
1616
+ createChannel(channel: string): void;
1617
+ /**
1618
+ * Delete channel
1619
+ */
1620
+ deleteChannel(channel: string): void;
1621
+ /**
1622
+ * Get users in channel
1623
+ */
1624
+ getUsersInChannel(channel: string): void;
1625
+ /**
1626
+ * Create notification channel
1627
+ */
1628
+ createNotificationChannel(channel: string): void;
1629
+ /**
1630
+ * Get notification channels
1631
+ */
1632
+ getNotificationChannels(): void;
1633
+ /**
1634
+ * Get today's notification channels
1635
+ */
1636
+ getTodaysNotificationChannels(): void;
1637
+ /**
1638
+ * Subscribe to notification channel
1639
+ */
1640
+ subscribeToNotificationChannel(channel: string, options?: any, user?: any): void;
1641
+ /**
1642
+ * Unsubscribe from notification channel
1643
+ */
1644
+ unsubscribeFromNotificationChannel(channel: string): void;
1645
+ /**
1646
+ * Send notification to channel
1647
+ */
1648
+ sendNotification(channel: string, content: any): void;
1649
+ getRequest<T>(options?: ApiRequest, params?: any[]): Observable<T>;
1650
+ postRequest<T extends {
1651
+ id?: number | string;
1652
+ }>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
1653
+ putRequest<T extends {
1654
+ id?: number | string;
1655
+ }>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
1656
+ deleteRequest<T>(options: ApiRequest, params?: any[]): Observable<T>;
1657
+ downloadRequest<T>(options: ApiRequest, params?: any[], saveAs?: string): Observable<T>;
1658
+ private createObservable;
1659
+ private createRequest;
1660
+ private prepareRequestData;
1661
+ private handleError;
1662
+ private handleErrorWithSnackBar;
1663
+ private stopPolling;
1664
+ private defineReqOptions;
1665
+ /**
1666
+ * Execute multiple HTTP requests with configurable execution strategy
1667
+ * @param requests Array of ApiRequest configurations
1668
+ * @param options Optional batch configuration (all properties optional)
1669
+ * @returns Observable emitting array of data in the order of requests provided
1670
+ */
1671
+ getBatchRequests<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<U[]>;
1672
+ /**
1673
+ * Execute requests sequentially (one at a time, in order)
1674
+ * @param requests Array of ApiRequest configurations
1675
+ * @param options Optional batch configuration
1676
+ * @returns Observable emitting array of data when all requests complete
1677
+ */
1678
+ getSequentialRequest<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<U[]>;
1679
+ /**
1680
+ * Execute requests in parallel with concurrency control
1681
+ * @param requests Array of ApiRequest configurations
1682
+ * @param options Optional batch configuration with concurrency limit
1683
+ * @returns Observable emitting array of data when all requests complete
1684
+ */
1685
+ getParallelRequest<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<U[]>;
1686
+ /**
1687
+ * Execute multiple HTTP requests and emit individual state changes in real-time
1688
+ * @param requests Array of ApiRequest configurations
1689
+ * @param options Optional batch configuration (all properties optional)
1690
+ * @returns Observable stream of individual request states
1691
+ */
1692
+ getBatchRequestsStream<U = T>(requests: ApiRequest[], options?: BatchOptions): Observable<BatchRequestState<U>>;
1693
+ /**
1694
+ * Execute requests sequentially and emit state changes
1695
+ */
1696
+ private getSequentialStream;
1697
+ /**
1698
+ * Execute requests in parallel and emit state changes
1699
+ */
1700
+ private getParallelStream;
1701
+ private handleSequentialError;
1702
+ private handleParallelError;
1703
+ static ɵfac: i0.ɵɵFactoryDeclaration<HTTPManagerSignalsService<any>, [{ optional: true; }]>;
1704
+ static ɵprov: i0.ɵɵInjectableDeclaration<HTTPManagerSignalsService<any>>;
1705
+ }
1706
+
1707
+ declare function countdown(duration: number): Observable<number>;
1708
+
1709
+ declare function delayedRetry<T>(delayMs: number, maxRetry?: number): (src: Observable<T>) => Observable<T>;
1710
+
1711
+ declare function requestPolling<T>(pollInterval: number, stopCondition$: Observable<any>, isPending$: any): (source: Observable<T>) => Observable<T>;
1712
+
1713
+ interface StreamConfig {
1714
+ streamType: StreamType;
1715
+ }
1716
+ interface StreamEvent<T = any> {
1717
+ type: 'progress' | 'complete' | 'data';
1718
+ data: T;
1719
+ metadata?: {
1720
+ timestamp: Date;
1721
+ streamType: StreamType;
1722
+ contentLength?: number;
1723
+ };
1724
+ }
1725
+ interface ParsingResult<T = any> {
1726
+ success: boolean;
1727
+ data?: T[];
1728
+ error?: string;
1729
+ }
1730
+ /**
1731
+ * COMPREHENSIVE REQUEST STREAMING OPERATOR - FULLY ABSTRACTED
1732
+ * Refactored for better type safety and memory management
1733
+ *
1734
+ * Single function that handles ALL streaming formats without hardcoded assumptions:
1735
+ * - JSON format (Individual JSON objects)
1736
+ * - NDJSON format (Newline delimited JSON)
1737
+ * - AI streaming format (Real-time AI responses)
1738
+ * - Server-Sent Events format
1739
+ * - Auto-detection mode
1740
+ *
1741
+ * Usage:
1742
+ * this.http.get(url, options).pipe(requestStreaming()).subscribe(data => {...})
1743
+ * this.http.get(url, options).pipe(requestStreaming({ streamType: StreamType.NDJSON })).subscribe(data => {...})
1744
+ */
1745
+ declare function requestStreaming<T = any>(config?: StreamConfig): OperatorFunction<any, T[]>;
1746
+ /**
1747
+ * Convenience functions for common use cases
1748
+ */
1749
+ declare function streamJSON<T = any>(): OperatorFunction<any, T[]>;
1750
+ declare function streamNDJSON<T = any>(): OperatorFunction<any, T[]>;
1751
+ declare function streamAI<T = any>(): OperatorFunction<any, T[]>;
1752
+ declare function streamEvents<T = any>(): OperatorFunction<any, T[]>;
1753
+ declare function streamAuto<T = any>(): OperatorFunction<any, T[]>;
1754
+
1755
+ interface State {
1756
+ localStores: StorageData[];
1757
+ sessionStores: StorageData[];
1758
+ settings: StorageOption[];
1759
+ }
1760
+ declare class LocalStorageManagerService extends ComponentStore<State> implements OnDestroy {
1761
+ private configOptions?;
1762
+ storageName: string;
1763
+ storageSettingsName: string;
1764
+ defaultOptions: SettingOptions;
1765
+ stateRetrieved: boolean;
1766
+ encrypted: boolean;
1767
+ app: AppService;
1768
+ utils: UtilsService;
1769
+ objectMergerService: ObjectMergerService;
1770
+ encryption: SymmetricalEncryptionService;
1771
+ encryptionTest: EncryptionTestService;
1772
+ private readonly data$;
1773
+ readonly stores$: rxjs.Observable<StorageOption[]>;
1774
+ readonly storeExists$: (store: string) => rxjs.Observable<boolean>;
1775
+ readonly store$: (store: string) => rxjs.Observable<any>;
1776
+ readonly settings$: rxjs.Observable<StorageOption[]>;
1777
+ readonly setting$: (store: string) => rxjs.Observable<StorageOption | null>;
1778
+ persistence$: rxjs.Subscription;
1779
+ startTimer(): void;
1780
+ private updateState;
1781
+ constructor(configOptions?: ConfigOptions | undefined);
1782
+ readonly setStore: (observableOrValue: {
1783
+ id: string;
1784
+ name: string;
1785
+ data: any;
1786
+ options: SettingOptions;
1787
+ } | rxjs.Observable<{
1788
+ id: string;
1789
+ name: string;
1790
+ data: any;
1791
+ options: SettingOptions;
1792
+ }>) => rxjs.Subscription;
1793
+ readonly createStore: (observableOrValue: {
1794
+ id?: string;
1795
+ name: string;
1796
+ data: any;
1797
+ options: SettingOptions;
1798
+ } | rxjs.Observable<{
1799
+ id?: string;
1800
+ name: string;
1801
+ data: any;
1802
+ options: SettingOptions;
1803
+ }>) => rxjs.Subscription;
1804
+ readonly updateStore: (observableOrValue: {
1805
+ name: string;
1806
+ data: any;
1807
+ } | rxjs.Observable<{
1808
+ name: string;
1809
+ data: any;
1810
+ }>) => rxjs.Subscription;
1811
+ readonly deleteStore: (observableOrValue: {
1812
+ name: string;
1813
+ } | rxjs.Observable<{
1814
+ name: string;
1815
+ }>) => rxjs.Subscription;
1816
+ resetStore(): void;
1817
+ private persistState;
1818
+ private expired;
1819
+ retrieveState(): void;
1820
+ private isObjectOrArray;
1821
+ private isString;
1822
+ private fixAndParseJSON;
1823
+ private validStoreName;
1824
+ private hasGlobalStorage;
1825
+ ngOnDestroy(): void;
1826
+ /**
1827
+ * Clears all stored data from localStorage and sessionStorage
1828
+ * Use this method to recover from corrupted data errors
1829
+ */
1830
+ clearAllStoredData(): void;
1831
+ /**
1832
+ * Checks if stored data appears to be corrupted
1833
+ * Returns true if data appears corrupted
1834
+ */
1835
+ checkForCorruptedData(): boolean;
1836
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageManagerService, [{ optional: true; }]>;
1837
+ static ɵprov: i0.ɵɵInjectableDeclaration<LocalStorageManagerService>;
1838
+ }
1839
+
1840
+ declare class LocalStorageSignalsManagerService {
1841
+ private configOptions?;
1842
+ private state;
1843
+ storageName: string;
1844
+ storageSettingsName: string;
1845
+ defaultOptions: SettingOptions;
1846
+ stateRetrieved: boolean;
1847
+ encrypted: boolean;
1848
+ app: AppService;
1849
+ utils: UtilsService;
1850
+ objectMergerService: ObjectMergerService;
1851
+ encryption: SymmetricalEncryptionService;
1852
+ encryptionTest: EncryptionTestService;
1853
+ readonly stores: i0.Signal<StorageOption[]>;
1854
+ readonly storeExists: (store: string) => i0.Signal<boolean>;
1855
+ readonly store: (store: string) => i0.Signal<any>;
1856
+ readonly settings: i0.Signal<StorageOption[]>;
1857
+ readonly setting: (store: string) => i0.Signal<StorageOption | null>;
1858
+ constructor(configOptions?: ConfigOptions | undefined);
1859
+ setStore(store: {
1860
+ id: string;
1861
+ name: string;
1862
+ data: any;
1863
+ options: SettingOptions;
1864
+ }): void;
1865
+ createStore(store: {
1866
+ id?: string;
1867
+ name: string;
1868
+ data: any;
1869
+ options: SettingOptions;
1870
+ }): void;
1871
+ updateStore(store: {
1872
+ name: string;
1873
+ data: any;
1874
+ }): void;
1875
+ deleteStore(store: {
1876
+ name: string;
1877
+ }): void;
1878
+ resetStore(): void;
1879
+ private persistState;
1880
+ private expired;
1881
+ retrieveState(): void;
1882
+ private hasGlobalStorage;
1883
+ private isObjectOrArray;
1884
+ private isString;
1885
+ private validStoreName;
1886
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageSignalsManagerService, [{ optional: true; }]>;
1887
+ static ɵprov: i0.ɵɵInjectableDeclaration<LocalStorageSignalsManagerService>;
1888
+ }
1889
+
1890
+ interface StateStorageOptionsInterface {
1891
+ store?: string;
1892
+ options?: SettingOptions;
1893
+ model?: (state: any) => any;
1894
+ }
1895
+ declare class StateStorageOptions implements StateStorageOptionsInterface {
1896
+ store?: string | undefined;
1897
+ options?: SettingOptions | undefined;
1898
+ model?: ((state: any) => any) | undefined;
1899
+ constructor(store?: string | undefined, options?: SettingOptions | undefined, model?: ((state: any) => any) | undefined);
1900
+ static adapt(item?: any): StateStorageOptions;
1901
+ }
1902
+
1903
+ interface StateStoreManagerData$1<T> {
1904
+ }
1905
+ declare class StoreStateManagerService<T extends object = StateStoreManagerData$1<any>> extends ComponentStore<T> {
1906
+ private options;
1907
+ localStorageManagerService: LocalStorageManagerService;
1908
+ subscriptions: Subscription;
1909
+ settings: any;
1910
+ private isRestoring;
1911
+ constructor(options?: StateStorageOptions);
1912
+ private static init;
1913
+ init(options?: StateStorageOptions): void;
1914
+ restoreState(): Subscription;
1915
+ updateState(state: any): void;
1916
+ readonly data$: rxjs.Observable<any>;
1917
+ readonly updateData: (() => void) | ((observableOrValue: any) => Subscription);
1918
+ static ɵfac: i0.ɵɵFactoryDeclaration<StoreStateManagerService<any>, never>;
1919
+ static ɵprov: i0.ɵɵInjectableDeclaration<StoreStateManagerService<any>>;
1920
+ }
1921
+
1922
+ interface StateStoreManagerData<T> {
1923
+ }
1924
+ declare class StoreStateManagerSignalsService<T extends object = StateStoreManagerData<any>> {
1925
+ private localStorageManagerService;
1926
+ private state;
1927
+ private isRestoring;
1928
+ private settings;
1929
+ readonly data: i0.Signal<T | null>;
1930
+ readonly transformedData: i0.Signal<any>;
1931
+ constructor();
1932
+ init(options: StateStorageOptions): void;
1933
+ restoreState(): void;
1934
+ updateState(state: Partial<T>): void;
1935
+ updateData(data: Partial<T>): void;
1936
+ resetState(): void;
1937
+ static ɵfac: i0.ɵɵFactoryDeclaration<StoreStateManagerSignalsService<any>, never>;
1938
+ static ɵprov: i0.ɵɵInjectableDeclaration<StoreStateManagerSignalsService<any>>;
1939
+ }
1940
+
1941
+ declare class HeadersService {
1942
+ headers: {};
1943
+ generateHeaders(headers?: Record<string, string>): {
1944
+ headers: HttpHeaders;
1945
+ };
1946
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeadersService, never>;
1947
+ static ɵprov: i0.ɵɵInjectableDeclaration<HeadersService>;
1948
+ }
1949
+
1950
+ declare class PathQueryService {
1951
+ buildAPIPath(server: string | string[], params?: any[] | any): string;
1952
+ private buildRestPath;
1953
+ private buildQueryPath;
1954
+ private cleanUrlPath;
1955
+ private isObject;
1956
+ private removeEmptyParams;
1957
+ static ɵfac: i0.ɵɵFactoryDeclaration<PathQueryService, never>;
1958
+ static ɵprov: i0.ɵɵInjectableDeclaration<PathQueryService>;
1959
+ }
1960
+
1961
+ /**
1962
+ * Generate a random hex color code
1963
+ * @returns A random hex color string (e.g., "#FF5733")
1964
+ */
1965
+ declare const RandomHexColor: () => string;
1966
+ /**
1967
+ * Generate a random hex color with constraints to ensure good visibility
1968
+ * @param options Optional constraints for color generation
1969
+ * @returns A random hex color string with good contrast
1970
+ */
1971
+ declare const RandomVisibleColor: (options?: {
1972
+ minBrightness?: number;
1973
+ maxBrightness?: number;
1974
+ }) => string;
1975
+ /**
1976
+ * Generate a random color from a predefined palette
1977
+ * @returns A hex color from a set of visually distinct colors
1978
+ */
1979
+ declare const RandomPaletteColor: () => string;
1980
+ /**
1981
+ * Generate a random HSL color
1982
+ * @param options Optional constraints for HSL generation
1983
+ * @returns A random HSL color string (e.g., "hsl(120, 100%, 50%)")
1984
+ */
1985
+ declare const RandomHSLColor: (options?: {
1986
+ saturation?: [number, number];
1987
+ lightness?: [number, number];
1988
+ }) => string;
1989
+
1990
+ declare class AsymmetricalEncryptionService {
1991
+ constructor();
1992
+ generateKeyPair(modulusLength?: number): Observable<CryptoKeyPair>;
1993
+ encryptData(publicKey: CryptoKey, data: string): Observable<string>;
1994
+ decryptData(privateKey: CryptoKey, encryptedData: string): Observable<string>;
1995
+ pemToArrayBuffer(pem: string): ArrayBuffer;
1996
+ base64ToArrayBuffer(base64: string): ArrayBuffer;
1997
+ arrayBufferToBase64(buffer: ArrayBuffer): string;
1998
+ base64ToPEM(base64Key: string, publicKey?: boolean): string;
1999
+ pemToCryptoKey(pem: string, algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], format?: any): Observable<CryptoKey>;
2000
+ testGenerateKeys(): Observable<string>;
2001
+ testDecryptionWithKeys(): Observable<string>;
2002
+ static ɵfac: i0.ɵɵFactoryDeclaration<AsymmetricalEncryptionService, never>;
2003
+ static ɵprov: i0.ɵɵInjectableDeclaration<AsymmetricalEncryptionService>;
2004
+ }
2005
+
2006
+ declare const Random: () => number;
2007
+ declare const RandomNumber: (min: number, max: number) => number;
2008
+ declare const RandomNumbers: (min: number, max: number, length: number) => number[];
2009
+ declare const RandomNumbersUnique: (min: number, max: number, length: number) => number[];
2010
+ declare const RandomStr: () => string;
2011
+ declare const RandomSignature: () => number;
2012
+ declare const UUID: () => `${string}-${string}-${string}-${string}-${string}`;
2013
+ /**
2014
+ * Generate a UUID string (legacy format)
2015
+ */
2016
+ declare const UUID_STR: () => string;
2017
+
2018
+ interface ErrorDisplaySettingsInterface {
2019
+ displayTime: number;
2020
+ position: string;
2021
+ }
2022
+ declare class ErrorDisplaySettings implements ErrorDisplaySettingsInterface {
2023
+ displayTime: number;
2024
+ position: string;
2025
+ constructor(displayTime?: number, position?: string);
2026
+ static adapt(item?: any): ErrorDisplaySettings;
2027
+ }
2028
+
2029
+ declare class WithCredentialsInterceptor implements HttpInterceptor {
2030
+ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
2031
+ static ɵfac: i0.ɵɵFactoryDeclaration<WithCredentialsInterceptor, never>;
2032
+ static ɵprov: i0.ɵɵInjectableDeclaration<WithCredentialsInterceptor>;
2033
+ }
2034
+
2035
+ declare class RequestHeadersInterceptor implements HttpInterceptor {
2036
+ private translate;
2037
+ subscriptions: Subscription;
2038
+ language: string;
2039
+ get currentDate(): string;
2040
+ constructor(translate: TranslateService);
2041
+ intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
2042
+ ngOnDestroy(): void;
2043
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestHeadersInterceptor, never>;
2044
+ static ɵprov: i0.ɵɵInjectableDeclaration<RequestHeadersInterceptor>;
2045
+ }
2046
+
2047
+ declare class RequestErrorInterceptor implements HttpInterceptor {
2048
+ toastMessage: ToastMessageDisplayService;
2049
+ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
2050
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestErrorInterceptor, never>;
2051
+ static ɵprov: i0.ɵɵInjectableDeclaration<RequestErrorInterceptor>;
2052
+ }
2053
+
2054
+ interface ClientInfoInterface$2 {
2055
+ domain: string;
2056
+ service: string;
2057
+ id: number;
2058
+ name: string;
2059
+ }
2060
+ declare class ClientInfo$2 implements ClientInfoInterface$2 {
2061
+ domain: string;
2062
+ service: string;
2063
+ id: number;
2064
+ name: string;
2065
+ constructor(domain?: string, service?: string, id?: number, name?: string);
2066
+ static adapt(item?: any): ClientInfo$2;
2067
+ }
2068
+
2069
+ interface ClientInfoMapperInterface$2 {
2070
+ id: number;
2071
+ first_name: string;
2072
+ last_name: string;
2073
+ email: string;
2074
+ }
2075
+ declare class ClientInfoMapper$2 implements ClientInfoMapperInterface$2 {
2076
+ id: number;
2077
+ first_name: string;
2078
+ last_name: string;
2079
+ email: string;
2080
+ constructor(id?: number, first_name?: string, last_name?: string, email?: string);
2081
+ static adapt(item?: any): ClientInfoMapper$2;
2082
+ }
2083
+
2084
+ interface AIPromptInterface$2 {
2085
+ response: string;
2086
+ }
2087
+ declare class AIPrompt$2 implements AIPromptInterface$2 {
2088
+ response: string;
2089
+ constructor(response?: string);
2090
+ static adapt(item?: any): AIPrompt$2;
2091
+ }
2092
+
2093
+ declare class RequestManagerBasicDemoComponent implements OnInit {
2094
+ server: string;
2095
+ adapter?: Function;
2096
+ mapper?: Function;
2097
+ displayedColumns: string[];
2098
+ getColumnsFromData(data: any[]): string[];
2099
+ updateDisplayedColumns(data: any[]): void;
2100
+ isObject(value: any): boolean;
2101
+ private fb;
2102
+ private toastMessage;
2103
+ questionControl: _angular_forms.FormControl<string | null>;
2104
+ httpManagerService: HTTPManagerService<any>;
2105
+ isPending$: Observable<boolean>;
2106
+ countdown$: Observable<number>;
2107
+ GET_error$: BehaviorSubject<string>;
2108
+ POST_error$: BehaviorSubject<string>;
2109
+ PUT_error$: BehaviorSubject<string>;
2110
+ DELETE_error$: BehaviorSubject<string>;
2111
+ STREAM_error$: BehaviorSubject<string>;
2112
+ STREAM_AI_error$: BehaviorSubject<string>;
2113
+ GET$?: Observable<any>;
2114
+ POST$?: Observable<any>;
2115
+ PUT$?: Observable<any>;
2116
+ DELETE$?: Observable<any>;
2117
+ STREAM$?: Observable<any>;
2118
+ STREAM_AI$?: Observable<any>;
2119
+ requestParams: {
2120
+ GET: ApiRequest;
2121
+ POST: ApiRequest;
2122
+ PUT: ApiRequest;
2123
+ DELETE: ApiRequest;
2124
+ STREAM: ApiRequest;
2125
+ };
2126
+ streamTypes: {
2127
+ id: string;
2128
+ value: string;
2129
+ }[];
2130
+ streamType: string;
2131
+ failedState: any;
2132
+ pollingState: any;
2133
+ downloadRequest: ApiRequest;
2134
+ sampleClientData: {
2135
+ id: number;
2136
+ name: string;
2137
+ domain: string;
2138
+ service: string;
2139
+ spiffe: string;
2140
+ secret: string;
2141
+ created: number;
2142
+ modified: number;
2143
+ icon: string;
2144
+ imageFile: string;
2145
+ email: string;
2146
+ };
2147
+ requestForm: _angular_forms.FormGroup<{
2148
+ path: _angular_forms.FormControl<string | null>;
2149
+ headers: FormArray<_angular_forms.FormControl<unknown>>;
2150
+ adapter: _angular_forms.FormControl<null>;
2151
+ mapper: _angular_forms.FormControl<null>;
2152
+ retry: _angular_forms.FormGroup<{
2153
+ times: _angular_forms.FormControl<number | null>;
2154
+ delay: _angular_forms.FormControl<number | null>;
2155
+ }>;
2156
+ polling: _angular_forms.FormControl<number | null>;
2157
+ }>;
2158
+ AIType: number;
2159
+ sampleAdaptors: ({
2160
+ label: string;
2161
+ value: typeof ClientInfo$2.adapt;
2162
+ } | {
2163
+ label: string;
2164
+ value: typeof AIPrompt$2.adapt;
2165
+ })[];
2166
+ sampleMappers: ({
2167
+ label: string;
2168
+ value: typeof ClientInfoMapper$2.adapt;
2169
+ } | {
2170
+ label: string;
2171
+ value: typeof AIPrompt$2.adapt;
2172
+ })[];
2173
+ get retry(): {
2174
+ times: number | null;
2175
+ delay: number | null;
2176
+ } | undefined;
2177
+ get headers(): FormArray;
2178
+ get isValid(): boolean;
2179
+ hasId: (arr: any[]) => boolean;
2180
+ props: (adapter: any) => any;
2181
+ arrayObjectsToObjects: (arr: any[]) => any;
2182
+ constructor();
2183
+ ngOnInit(): void;
2184
+ onStreamType(type: string): void;
2185
+ addHeader(): void;
2186
+ removeHeader(index: number): void;
2187
+ compileRequest(): {
2188
+ apiOptions: ApiRequest;
2189
+ path: string[];
2190
+ };
2191
+ onGetRequest(): void;
2192
+ onCreateRequest(): void;
2193
+ onUpdateRequest(): void;
2194
+ onDeleteRequest(): void;
2195
+ onStreamPostRequest(): void;
2196
+ onStreamRequest(): void;
2197
+ onDownloadCompleted(): void;
2198
+ onDownloadFailed(err: string): void;
2199
+ errorHandling(err: any, type: string): void;
2200
+ onSelectAIType(type: number): void;
2201
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestManagerBasicDemoComponent, never>;
2202
+ static ɵcmp: i0.ɵɵComponentDeclaration<RequestManagerBasicDemoComponent, "app-request-manager-basic-demo", never, {}, {}, never, never, false, never>;
2203
+ }
2204
+
2205
+ declare class HttpRequestServicesDemoComponent implements OnInit {
2206
+ private configOptions?;
2207
+ wsServer: string;
2208
+ jwtToken: string;
2209
+ server: string;
2210
+ user?: UserData;
2211
+ path: string[];
2212
+ adapter?: Function;
2213
+ mapper?: Function;
2214
+ requestTypes: ({
2215
+ name: string;
2216
+ value: string;
2217
+ new?: undefined;
2218
+ divider?: undefined;
2219
+ disabled?: undefined;
2220
+ } | {
2221
+ name: string;
2222
+ value: string;
2223
+ new: boolean;
2224
+ divider?: undefined;
2225
+ disabled?: undefined;
2226
+ } | {
2227
+ name: string;
2228
+ value: string;
2229
+ divider: boolean;
2230
+ disabled: boolean;
2231
+ new?: undefined;
2232
+ } | {
2233
+ name: string;
2234
+ value: string;
2235
+ divider: boolean;
2236
+ new?: undefined;
2237
+ disabled?: undefined;
2238
+ })[];
2239
+ selectedService: string;
2240
+ injectionOptions?: ConfigOptions;
2241
+ constructor(configOptions?: ConfigOptions | undefined);
2242
+ ngOnInit(): void;
2243
+ onSelected(type: number): void;
2244
+ static ɵfac: i0.ɵɵFactoryDeclaration<HttpRequestServicesDemoComponent, never>;
2245
+ static ɵcmp: i0.ɵɵComponentDeclaration<HttpRequestServicesDemoComponent, "app-http-request-services-demo", never, { "wsServer": { "alias": "wsServer"; "required": false; }; "jwtToken": { "alias": "jwtToken"; "required": false; }; "server": { "alias": "server"; "required": false; }; "user": { "alias": "user"; "required": false; }; "path": { "alias": "path"; "required": false; }; "adapter": { "alias": "adapter"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; }, {}, never, never, false, never>;
2246
+ }
2247
+
2248
+ interface ClientInfoInterface$1 {
2249
+ domain: string;
2250
+ service: string;
2251
+ id: number;
2252
+ name: string;
2253
+ }
2254
+ declare class ClientInfo$1 implements ClientInfoInterface$1 {
2255
+ domain: string;
2256
+ service: string;
2257
+ id: number;
2258
+ name: string;
2259
+ constructor(domain?: string, service?: string, id?: number, name?: string);
2260
+ static adapt(item?: any): ClientInfo$1;
2261
+ }
2262
+
2263
+ declare class StateManagerDemoService extends HTTPManagerStateService<any> {
2264
+ constructor();
2265
+ setAPIOptions(apiOptions: ApiRequest, dataType: DataType, database?: DatabaseStorage): void;
2266
+ getClients(): void;
2267
+ createClient(data: any): void;
2268
+ updateClient(data: ClientInfo$1): void;
2269
+ deleteClient(data: ClientInfo$1): void;
2270
+ streamRequest(): void;
2271
+ static ɵfac: i0.ɵɵFactoryDeclaration<StateManagerDemoService, never>;
2272
+ static ɵprov: i0.ɵɵInjectableDeclaration<StateManagerDemoService>;
2273
+ }
2274
+
2275
+ interface ClientInfoMapperInterface$1 {
2276
+ id: number;
2277
+ first_name: string;
2278
+ last_name: string;
2279
+ email: string;
2280
+ }
2281
+ declare class ClientInfoMapper$1 implements ClientInfoMapperInterface$1 {
2282
+ id: number;
2283
+ first_name: string;
2284
+ last_name: string;
2285
+ email: string;
2286
+ constructor(id?: number, first_name?: string, last_name?: string, email?: string);
2287
+ static adapt(item?: any): ClientInfoMapper$1;
2288
+ }
2289
+
2290
+ interface AIPromptInterface$1 {
2291
+ response: string;
2292
+ }
2293
+ declare class AIPrompt$1 implements AIPromptInterface$1 {
2294
+ response: string;
2295
+ constructor(response?: string);
2296
+ static adapt(item?: any): AIPrompt$1;
2297
+ }
2298
+
2299
+ declare class RequestManagerStateDemoComponent implements OnInit {
2300
+ server: string;
2301
+ adapter?: Function;
2302
+ mapper?: Function;
2303
+ stateManagerDemoService: StateManagerDemoService;
2304
+ displayedColumns: string[];
2305
+ getColumnsFromData(data: any[]): string[];
2306
+ updateDisplayedColumns(data: any[]): void;
2307
+ isObject(value: any): boolean;
2308
+ getDataLength(data: any): number;
2309
+ selectedRecord$?: Observable<ClientInfo$1 | null>;
2310
+ fb: FormBuilder;
2311
+ streamTypes: {
2312
+ id: string;
2313
+ value: string;
2314
+ }[];
2315
+ streamType: string;
2316
+ httpManagerService: HTTPManagerService<any>;
2317
+ isPending$: Observable<boolean>;
2318
+ error$: Observable<boolean>;
2319
+ countdown$: Observable<number>;
2320
+ GET_error$: BehaviorSubject<string>;
2321
+ POST_error$: BehaviorSubject<string>;
2322
+ PUT_error$: BehaviorSubject<string>;
2323
+ DELETE_error$: BehaviorSubject<string>;
2324
+ STREAM_error$: BehaviorSubject<string>;
2325
+ STREAM_AI_error$: BehaviorSubject<string>;
2326
+ GET$: BehaviorSubject<any>;
2327
+ POST$: BehaviorSubject<null>;
2328
+ PUT$: BehaviorSubject<null>;
2329
+ DELETE$: BehaviorSubject<null>;
2330
+ STREAM: BehaviorSubject<null>;
2331
+ STREAM$: Observable<null>;
2332
+ STREAM_AI: BehaviorSubject<{
2333
+ response: string;
2334
+ }[]>;
2335
+ STREAM_AI$: Observable<any>;
2336
+ failedState: any;
2337
+ pollingState: any;
2338
+ questionControl: _angular_forms.FormControl<string | null>;
2339
+ requestType: string;
2340
+ prompts: string[];
2341
+ AIType: number;
2342
+ get dataObservable$(): BehaviorSubject<any> | BehaviorSubject<null> | BehaviorSubject<{
2343
+ response: string;
2344
+ }[]>;
2345
+ sampleClientData: {
2346
+ id: number;
2347
+ name: string;
2348
+ domain: string;
2349
+ service: string;
2350
+ spiffe: string;
2351
+ secret: string;
2352
+ created: number;
2353
+ modified: number;
2354
+ icon: string;
2355
+ imageFile: string;
2356
+ };
2357
+ selectedRecord: _angular_forms.FormControl<null>;
2358
+ requestForm: _angular_forms.FormGroup<{
2359
+ datatype: _angular_forms.FormControl<string | null>;
2360
+ path: _angular_forms.FormControl<string | null>;
2361
+ headers: FormArray<_angular_forms.FormControl<unknown>>;
2362
+ adapter: _angular_forms.FormControl<null>;
2363
+ mapper: _angular_forms.FormControl<null>;
2364
+ retry: _angular_forms.FormGroup<{
2365
+ times: _angular_forms.FormControl<number | null>;
2366
+ delay: _angular_forms.FormControl<number | null>;
2367
+ }>;
2368
+ polling: _angular_forms.FormControl<number | null>;
2369
+ database: _angular_forms.FormGroup<{
2370
+ table: _angular_forms.FormControl<string | null>;
2371
+ expiresIn: _angular_forms.FormControl<string | null>;
2372
+ }>;
2373
+ }>;
2374
+ get hasChanged(): boolean;
2375
+ get dataType(): string | null | undefined;
2376
+ get database(): {
2377
+ table: string | null;
2378
+ expiresIn: string | null;
2379
+ } | undefined;
2380
+ get retry(): {
2381
+ times: number | null;
2382
+ delay: number | null;
2383
+ } | undefined;
2384
+ sampleAdaptors: ({
2385
+ label: string;
2386
+ value: typeof ClientInfo$1.adapt;
2387
+ } | {
2388
+ label: string;
2389
+ value: typeof AIPrompt$1.adapt;
2390
+ })[];
2391
+ sampleMappers: ({
2392
+ label: string;
2393
+ value: typeof ClientInfoMapper$1.adapt;
2394
+ } | {
2395
+ label: string;
2396
+ value: typeof AIPrompt$1.adapt;
2397
+ })[];
2398
+ get headers(): FormArray;
2399
+ get isValid(): boolean;
2400
+ arrayObjectsToObjects: (arr: any[]) => any;
2401
+ props: (adapter: any) => any;
2402
+ constructor();
2403
+ ngOnInit(): void;
2404
+ onStreamType(type: string): void;
2405
+ addHeader(): void;
2406
+ removeHeader(index: number): void;
2407
+ compileRequest(): {
2408
+ apiOptions: ApiRequest;
2409
+ path: string[];
2410
+ };
2411
+ onSetStateOptions(): void;
2412
+ onClearRecords(): void;
2413
+ onGetRequest(): void;
2414
+ onCreateRequest(): void;
2415
+ onUpdateRequest(): void;
2416
+ onDeleteRequest(): void;
2417
+ onStreamRequest(): void;
2418
+ errorHandling(err: any, type: string): void;
2419
+ onSelectAIType(type: number): void;
2420
+ onClearHistory(): void;
2421
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestManagerStateDemoComponent, never>;
2422
+ static ɵcmp: i0.ɵɵComponentDeclaration<RequestManagerStateDemoComponent, "app-request-manager-state-demo", never, { "server": { "alias": "server"; "required": false; }; "adapter": { "alias": "adapter"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; }, {}, never, never, false, never>;
2423
+ }
2424
+
2425
+ declare class RequestManagerDemoComponent implements OnInit {
2426
+ server: string;
2427
+ adapter?: Function;
2428
+ mapper?: Function;
2429
+ displayedColumns: string[];
2430
+ getColumnsFromData(data: any[]): string[];
2431
+ updateDisplayedColumns(data: any[]): void;
2432
+ isObject(value: any): boolean;
2433
+ private fb;
2434
+ private toastMessage;
2435
+ questionControl: _angular_forms.FormControl<string | null>;
2436
+ httpManagerService: HTTPManagerService<any>;
2437
+ isPending$: Observable<boolean>;
2438
+ countdown$: Observable<number>;
2439
+ GET_error$: BehaviorSubject<string>;
2440
+ POST_error$: BehaviorSubject<string>;
2441
+ PUT_error$: BehaviorSubject<string>;
2442
+ DELETE_error$: BehaviorSubject<string>;
2443
+ STREAM_error$: BehaviorSubject<string>;
2444
+ STREAM_AI_error$: BehaviorSubject<string>;
2445
+ GET$?: Observable<any>;
2446
+ POST$?: Observable<any>;
2447
+ PUT$?: Observable<any>;
2448
+ DELETE$?: Observable<any>;
2449
+ STREAM$?: Observable<any>;
2450
+ STREAM_AI$?: Observable<any>;
2451
+ parallelBatch$?: Observable<any[]>;
2452
+ sequentialBatch$?: Observable<any[]>;
2453
+ parallelExecutionTime?: number;
2454
+ sequentialExecutionTime?: number;
2455
+ parallelResults?: any[];
2456
+ sequentialResults?: any[];
2457
+ isParallelLoading: boolean;
2458
+ isSequentialLoading: boolean;
2459
+ parallelError?: string;
2460
+ sequentialError?: string;
2461
+ parallelBatchStates: (BatchRequestState<any> | undefined)[];
2462
+ sequentialBatchStates: (BatchRequestState<any> | undefined)[];
2463
+ streamBatchStates: (BatchRequestState<any> | undefined)[];
2464
+ streamProgress?: BatchProgress;
2465
+ streamExecutionTime?: number;
2466
+ isStreamLoading: boolean;
2467
+ streamError?: string;
2468
+ get filteredParallelStates(): BatchRequestState<any>[];
2469
+ get filteredSequentialStates(): BatchRequestState<any>[];
2470
+ get filteredStreamStates(): BatchRequestState<any>[];
2471
+ requestParams: {
2472
+ GET: ApiRequest;
2473
+ POST: ApiRequest;
2474
+ PUT: ApiRequest;
2475
+ DELETE: ApiRequest;
2476
+ STREAM: ApiRequest;
2477
+ };
2478
+ streamTypes: {
2479
+ id: string;
2480
+ value: string;
2481
+ }[];
2482
+ streamType: string;
2483
+ failedState: any;
2484
+ pollingState: any;
2485
+ downloadRequest: ApiRequest;
2486
+ sampleClientData: {
2487
+ id: number;
2488
+ name: string;
2489
+ domain: string;
2490
+ service: string;
2491
+ spiffe: string;
2492
+ secret: string;
2493
+ created: number;
2494
+ modified: number;
2495
+ icon: string;
2496
+ imageFile: string;
2497
+ email: string;
2498
+ };
2499
+ requestForm: _angular_forms.FormGroup<{
2500
+ path: _angular_forms.FormControl<string | null>;
2501
+ headers: FormArray<_angular_forms.FormControl<unknown>>;
2502
+ adapter: _angular_forms.FormControl<null>;
2503
+ mapper: _angular_forms.FormControl<null>;
2504
+ retry: _angular_forms.FormGroup<{
2505
+ times: _angular_forms.FormControl<number | null>;
2506
+ delay: _angular_forms.FormControl<number | null>;
2507
+ }>;
2508
+ polling: _angular_forms.FormControl<number | null>;
2509
+ }>;
2510
+ AIType: number;
2511
+ sampleAdaptors: ({
2512
+ label: string;
2513
+ value: typeof ClientInfo$1.adapt;
2514
+ } | {
2515
+ label: string;
2516
+ value: typeof AIPrompt$1.adapt;
2517
+ })[];
2518
+ sampleMappers: ({
2519
+ label: string;
2520
+ value: typeof ClientInfoMapper$1.adapt;
2521
+ } | {
2522
+ label: string;
2523
+ value: typeof AIPrompt$1.adapt;
2524
+ })[];
2525
+ get retry(): {
2526
+ times: number | null;
2527
+ delay: number | null;
2528
+ } | undefined;
2529
+ get headers(): FormArray;
2530
+ get isValid(): boolean;
2531
+ hasId: (arr: any[]) => boolean;
2532
+ props: (adapter: any) => any;
2533
+ arrayObjectsToObjects: (arr: any[]) => any;
2534
+ constructor();
2535
+ ngOnInit(): void;
2536
+ onStreamType(type: string): void;
2537
+ addHeader(): void;
2538
+ removeHeader(index: number): void;
2539
+ compileRequest(): {
2540
+ apiOptions: ApiRequest;
2541
+ path: string[];
2542
+ };
2543
+ onGetRequest(): void;
2544
+ onCreateRequest(): void;
2545
+ onUpdateRequest(): void;
2546
+ onDeleteRequest(): void;
2547
+ onStreamPostRequest(): void;
2548
+ onStreamRequest(): void;
2549
+ onDownloadCompleted(): void;
2550
+ onDownloadFailed(err: string): void;
2551
+ errorHandling(err: any, type: string): void;
2552
+ onSelectAIType(type: number): void;
2553
+ /**
2554
+ * Execute parallel batch request - fetch 5 users from JSONPlaceholder with individual states
2555
+ */
2556
+ onExecuteParallelBatch(): void;
2557
+ /**
2558
+ * Execute sequential batch request - fetch 5 todos from JSONPlaceholder with individual states
2559
+ */
2560
+ onExecuteSequentialBatch(): void;
2561
+ /**
2562
+ * Execute stream batch request - fetch 5 posts with real-time state updates
2563
+ */
2564
+ onExecuteStreamBatch(): void;
2565
+ /**
2566
+ * Type guard for pending state
2567
+ */
2568
+ isPendingState(state: BatchRequestState<any>): boolean;
2569
+ /**
2570
+ * Type guard for success state
2571
+ */
2572
+ isSuccessState(state: BatchRequestState<any>): boolean;
2573
+ /**
2574
+ * Type guard for error state
2575
+ */
2576
+ isErrorState(state: BatchRequestState<any>): boolean;
2577
+ /**
2578
+ * Helper to create batch requests from IDs
2579
+ */
2580
+ private createBatchRequests;
2581
+ /**
2582
+ * Check if result is successful (not undefined)
2583
+ */
2584
+ isSuccess(result: any): boolean;
2585
+ /**
2586
+ * Format execution time for display
2587
+ */
2588
+ formatTime(ms: number): string;
2589
+ /**
2590
+ * Get success count from results array
2591
+ */
2592
+ getSuccessCount(results?: any[]): number;
2593
+ /**
2594
+ * Get failure count from results array
2595
+ */
2596
+ getFailureCount(results?: any[]): number;
2597
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestManagerDemoComponent, never>;
2598
+ static ɵcmp: i0.ɵɵComponentDeclaration<RequestManagerDemoComponent, "app-request-manager-demo", never, { "server": { "alias": "server"; "required": false; }; "adapter": { "alias": "adapter"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; }, {}, never, never, false, never>;
2599
+ }
2600
+
2601
+ interface ClientInfoInterface {
2602
+ domain: string;
2603
+ service: string;
2604
+ id: number;
2605
+ name: string;
2606
+ }
2607
+ declare class ClientInfo implements ClientInfoInterface {
2608
+ domain: string;
2609
+ service: string;
2610
+ id: number;
2611
+ name: string;
2612
+ constructor(domain?: string, service?: string, id?: number, name?: string);
2613
+ static adapt(item?: any): ClientInfo;
2614
+ }
2615
+
2616
+ interface ClientInfoMapperInterface {
2617
+ id: number;
2618
+ first_name: string;
2619
+ last_name: string;
2620
+ email: string;
2621
+ }
2622
+ declare class ClientInfoMapper implements ClientInfoMapperInterface {
2623
+ id: number;
2624
+ first_name: string;
2625
+ last_name: string;
2626
+ email: string;
2627
+ constructor(id?: number, first_name?: string, last_name?: string, email?: string);
2628
+ static adapt(item?: any): ClientInfoMapper;
2629
+ }
2630
+
2631
+ interface AIPromptInterface {
2632
+ response: string;
2633
+ }
2634
+ declare class AIPrompt implements AIPromptInterface {
2635
+ response: string;
2636
+ constructor(response?: string);
2637
+ static adapt(item?: any): AIPrompt;
2638
+ }
2639
+
2640
+ declare class RequestSignalsManagerDemoComponent implements OnInit {
2641
+ displayedColumns: string[];
2642
+ private fb;
2643
+ private toastMessage;
2644
+ httpManagerSignalsService: HTTPManagerSignalsService<any>;
2645
+ isPending: i0.WritableSignal<boolean>;
2646
+ countdown: i0.WritableSignal<number>;
2647
+ GET_result: any;
2648
+ POST_result: any;
2649
+ PUT_result: any;
2650
+ DELETE_result: any;
2651
+ STREAM_result: any;
2652
+ STREAM_AI_result: any;
2653
+ GET_error: string;
2654
+ POST_error: string;
2655
+ PUT_error: string;
2656
+ DELETE_error: string;
2657
+ STREAM_error: string;
2658
+ STREAM_AI_error: string;
2659
+ requestParams: {
2660
+ GET: ApiRequest;
2661
+ POST: ApiRequest;
2662
+ PUT: ApiRequest;
2663
+ DELETE: ApiRequest;
2664
+ STREAM: ApiRequest;
2665
+ };
2666
+ failedState: any;
2667
+ pollingState: any;
2668
+ questionControl: _angular_forms.FormControl<string | null>;
2669
+ downloadRequest: ApiRequest;
2670
+ sampleClientData: {
2671
+ id: number;
2672
+ name: string;
2673
+ domain: string;
2674
+ service: string;
2675
+ spiffe: string;
2676
+ secret: string;
2677
+ created: number;
2678
+ modified: number;
2679
+ icon: string;
2680
+ imageFile: string;
2681
+ email: string;
2682
+ };
2683
+ requestForm: _angular_forms.FormGroup<{
2684
+ path: _angular_forms.FormControl<string | null>;
2685
+ headers: FormArray<_angular_forms.FormControl<unknown>>;
2686
+ adapter: _angular_forms.FormControl<null>;
2687
+ mapper: _angular_forms.FormControl<null>;
2688
+ retry: _angular_forms.FormGroup<{
2689
+ times: _angular_forms.FormControl<number | null>;
2690
+ delay: _angular_forms.FormControl<number | null>;
2691
+ }>;
2692
+ polling: _angular_forms.FormControl<number | null>;
2693
+ }>;
2694
+ AIType: number;
2695
+ sampleAdaptors: ({
2696
+ label: string;
2697
+ value: typeof ClientInfo.adapt;
2698
+ } | {
2699
+ label: string;
2700
+ value: typeof AIPrompt.adapt;
2701
+ })[];
2702
+ sampleMappers: ({
2703
+ label: string;
2704
+ value: typeof ClientInfoMapper.adapt;
2705
+ } | {
2706
+ label: string;
2707
+ value: typeof AIPrompt.adapt;
2708
+ })[];
2709
+ get retry(): {
2710
+ times: number | null;
2711
+ delay: number | null;
2712
+ } | undefined;
2713
+ get headers(): FormArray;
2714
+ get isValid(): boolean;
2715
+ hasId: (arr: any[]) => boolean;
2716
+ props: (adapter: any) => any;
2717
+ arrayObjectsToObjects: (arr: any[]) => any;
2718
+ constructor();
2719
+ ngOnInit(): void;
2720
+ addHeader(): void;
2721
+ removeHeader(index: number): void;
2722
+ compileRequest(): {
2723
+ apiOptions: ApiRequest;
2724
+ path: string[];
2725
+ };
2726
+ onGetRequest(): void;
2727
+ onCreateRequest(): void;
2728
+ onUpdateRequest(): void;
2729
+ onDeleteRequest(): void;
2730
+ onStreamPostRequest(): void;
2731
+ onStreamRequest(): void;
2732
+ onDownloadCompleted(): void;
2733
+ onDownloadFailed(err: string): void;
2734
+ errorHandling(err: any, type: string): any;
2735
+ onSelectAIType(type: number): void;
2736
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestSignalsManagerDemoComponent, never>;
2737
+ static ɵcmp: i0.ɵɵComponentDeclaration<RequestSignalsManagerDemoComponent, "app-request-signals-manager-demo", never, {}, {}, never, never, false, never>;
2738
+ }
2739
+
2740
+ declare class LocalStorageDemoComponent implements OnInit {
2741
+ private configOptions?;
2742
+ fb: FormBuilder;
2743
+ utils: UtilsService;
2744
+ type$: BehaviorSubject<StorageType>;
2745
+ get type(): number;
2746
+ typeControl: _angular_forms.FormControl<string | null>;
2747
+ localStorageManagerService: LocalStorageManagerService;
2748
+ settings$: Observable<any>;
2749
+ setting$: (store: string) => Observable<StorageOption | null>;
2750
+ storageForm: _angular_forms.FormGroup<{
2751
+ store: _angular_forms.FormControl<string | null>;
2752
+ type: _angular_forms.FormControl<string | null>;
2753
+ settingType: _angular_forms.FormControl<string | null>;
2754
+ encrypted: _angular_forms.FormControl<boolean | null>;
2755
+ data: _angular_forms.FormControl<string | null>;
2756
+ }>;
2757
+ newStoreForm: _angular_forms.FormGroup<{
2758
+ name: _angular_forms.FormControl<string | null>;
2759
+ storage: _angular_forms.FormControl<string | null>;
2760
+ encrypted: _angular_forms.FormControl<boolean | null>;
2761
+ data: _angular_forms.FormControl<string | null>;
2762
+ expiresIn: _angular_forms.FormControl<string | null>;
2763
+ }>;
2764
+ store$?: Observable<any>;
2765
+ storeData$: Observable<any> | undefined;
2766
+ expiresIn: (epoch: number) => string | undefined;
2767
+ get isValid(): boolean;
2768
+ get isValidData(): boolean;
2769
+ isValidJSON: (str: string) => boolean;
2770
+ displayedColumns: string[];
2771
+ filterData: (values: SettingOptions[]) => SettingOptions[];
2772
+ data$?: Observable<any>;
2773
+ store: any;
2774
+ create: boolean;
2775
+ storeProps?: LocalStorageOptions;
2776
+ options?: SettingOptions;
2777
+ constructor(configOptions?: ConfigOptions | undefined);
2778
+ ngOnInit(): void;
2779
+ onCreateStore(): void;
2780
+ onUpdateStore(store: any): void;
2781
+ onSelectedRow(store: any): void;
2782
+ onCreate(): void;
2783
+ onDelete(store: StorageOption): void;
2784
+ onCancel(): void;
2785
+ onUpdate(store: StorageOption, data: any): void;
2786
+ onReset(): void;
2787
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageDemoComponent, never>;
2788
+ static ɵcmp: i0.ɵɵComponentDeclaration<LocalStorageDemoComponent, "app-local-storage-demo", never, {}, {}, never, never, false, never>;
2789
+ }
2790
+
2791
+ declare class LocalStorageSignalsDemoComponent implements OnInit {
2792
+ private configOptions?;
2793
+ fb: FormBuilder;
2794
+ utils: UtilsService;
2795
+ get type(): number;
2796
+ typeControl: _angular_forms.FormControl<string | null>;
2797
+ localStorageManagerService: LocalStorageSignalsManagerService;
2798
+ readonly settings: i0.Signal<StorageOption[]>;
2799
+ storeSelected: i0.WritableSignal<StorageOption | null>;
2800
+ selectedStoreData: i0.Signal<string>;
2801
+ selectedType: i0.WritableSignal<number>;
2802
+ filteredSettings: i0.Signal<StorageOption[]>;
2803
+ storageForm: _angular_forms.FormGroup<{
2804
+ store: _angular_forms.FormControl<string | null>;
2805
+ type: _angular_forms.FormControl<string | null>;
2806
+ settingType: _angular_forms.FormControl<string | null>;
2807
+ encrypted: _angular_forms.FormControl<boolean | null>;
2808
+ data: _angular_forms.FormControl<string | null>;
2809
+ }>;
2810
+ newStoreForm: _angular_forms.FormGroup<{
2811
+ name: _angular_forms.FormControl<string | null>;
2812
+ storage: _angular_forms.FormControl<string | null>;
2813
+ encrypted: _angular_forms.FormControl<boolean | null>;
2814
+ data: _angular_forms.FormControl<string | null>;
2815
+ expiresIn: _angular_forms.FormControl<string | null>;
2816
+ }>;
2817
+ expiresIn: (epoch: number) => string | undefined;
2818
+ get isValid(): boolean;
2819
+ get isValidData(): boolean;
2820
+ isValidJSON: (str: string) => boolean;
2821
+ displayedColumns: string[];
2822
+ filterData: (values: StorageOption[] | null | undefined) => StorageOption[];
2823
+ settingFor(name: string): StorageOption | null;
2824
+ store: any;
2825
+ create: boolean;
2826
+ storeProps?: LocalStorageOptions;
2827
+ options?: SettingOptions;
2828
+ constructor(configOptions?: ConfigOptions | undefined);
2829
+ ngOnInit(): void;
2830
+ onCreateStore(): void;
2831
+ onUpdateStore(store: any): void;
2832
+ onSelectedRow(store: any): void;
2833
+ onCreate(): void;
2834
+ onDelete(store: StorageOption): void;
2835
+ onCancel(): void;
2836
+ onUpdate(store: StorageOption, data: any): void;
2837
+ onReset(): void;
2838
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageSignalsDemoComponent, never>;
2839
+ static ɵcmp: i0.ɵɵComponentDeclaration<LocalStorageSignalsDemoComponent, "app-local-storage-signals-demo", never, {}, {}, never, never, false, never>;
2840
+ }
2841
+
2842
+ /**
2843
+ * StateServiceDemo - Core state management and WebSocket connection service
2844
+ *
2845
+ * Handles:
2846
+ * - WebSocket connection setup
2847
+ * - Base HTTP state management
2848
+ * - Connection status and retry logic
2849
+ */
2850
+ declare class StateServiceDemo extends HTTPManagerStateService<any> {
2851
+ attempts$: rxjs.Observable<number>;
2852
+ nextRetry$: rxjs.Observable<number>;
2853
+ constructor();
2854
+ /**
2855
+ * Initialize WebSocket connection with server configuration
2856
+ * @param server - Backend server URL
2857
+ * @param wsServer - WebSocket server URL
2858
+ * @param jwtToken - JWT authentication token
2859
+ * @param user - User information
2860
+ * @param path - Path for constructing channel name (e.g., ['ai','tests'])
2861
+ */
2862
+ updateConnection(server: string, wsServer: string, jwtToken: string, user: any, path?: (string | number)[]): void;
2863
+ /**
2864
+ * Get all available channels
2865
+ */
2866
+ getAllChannels(): void;
2867
+ /**
2868
+ * Subscribe to a channel
2869
+ */
2870
+ subscribeToChannel(channel: string): void;
2871
+ /**
2872
+ * Unsubscribe from a channel
2873
+ */
2874
+ unsubscribeFromChannel(channel: string): void;
2875
+ /**
2876
+ * Create a notification channel (MES- prefix)
2877
+ */
2878
+ createNotificationChannel(channel: string): void;
2879
+ /**
2880
+ * Get all notification channels list (in-memory)
2881
+ */
2882
+ getNotificationChannels(): void;
2883
+ /**
2884
+ * Get today's notification channels from database
2885
+ * Returns unique channels that have notifications posted today
2886
+ */
2887
+ getTodaysNotificationChannels(): void;
2888
+ /**
2889
+ * Define and load previous day's notification channels from database
2890
+ * Creates channels in memory and broadcasts updated list
2891
+ */
2892
+ definePreviousNotificationChannels(): void;
2893
+ /**
2894
+ * Subscribe to notification channel with optional date filters
2895
+ */
2896
+ subscribeToNotificationChannel(channel: string, options?: {
2897
+ startEpoch?: number;
2898
+ endEpoch?: number;
2899
+ }, user?: any): void;
2900
+ /**
2901
+ * Unsubscribe from notification channel
2902
+ */
2903
+ unsubscribeFromNotificationChannel(channel: string): void;
2904
+ /**
2905
+ * Send a notification to a channel
2906
+ */
2907
+ sendNotification(channel: string, content: any): void;
2908
+ static ɵfac: i0.ɵɵFactoryDeclaration<StateServiceDemo, never>;
2909
+ static ɵprov: i0.ɵɵInjectableDeclaration<StateServiceDemo>;
2910
+ }
2911
+
2912
+ /**
2913
+ * MessageServiceDemo - Channel messaging service (PUB- prefix channels)
2914
+ *
2915
+ * Handles:
2916
+ * - Sending messages to channels
2917
+ * - Channel subscription for messaging
2918
+ * - Real-time message broadcast
2919
+ */
2920
+ declare class MessageServiceDemo {
2921
+ private stateService;
2922
+ channels$: rxjs.Observable<string[] | null>;
2923
+ subscribedChannels$: rxjs.Observable<Set<string>>;
2924
+ communicationMessages$: rxjs.Observable<any[]>;
2925
+ latestCommunicationMessages$: rxjs.Observable<any>;
2926
+ connectionStatus$: rxjs.Observable<boolean>;
2927
+ user$: rxjs.Observable<WSUser | null>;
2928
+ data$: rxjs.Observable<any>;
2929
+ /**
2930
+ * Helper to ensure channel has PUB- prefix
2931
+ */
2932
+ private toPublicChannel;
2933
+ /**
2934
+ * Helper to strip PUB- prefix for display
2935
+ */
2936
+ private fromPublicChannel;
2937
+ /**
2938
+ * Create a new public channel
2939
+ */
2940
+ createChannel(channel: string): void;
2941
+ /**
2942
+ * Get all available channels
2943
+ */
2944
+ getAllChannels(): void;
2945
+ /**
2946
+ * Subscribe to a channel to receive messages
2947
+ */
2948
+ subscribeToChannel(channel: string): void;
2949
+ /**
2950
+ * Unsubscribe from a channel
2951
+ */
2952
+ unsubscribeFromChannel(channel: string): void;
2953
+ /**
2954
+ * Send a message to one or more channels
2955
+ */
2956
+ sendMessage(data: ChannelMessage, channels?: string[]): void;
2957
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageServiceDemo, never>;
2958
+ static ɵprov: i0.ɵɵInjectableDeclaration<MessageServiceDemo>;
2959
+ }
2960
+
2961
+ /**
2962
+ * NotificationServiceDemo - Notification channel service (MES- prefix channels)
2963
+ *
2964
+ * Handles:
2965
+ * - Creating notification channels
2966
+ * - Subscribing to notifications with date filters
2967
+ * - Sending notifications (persisted to database)
2968
+ * - Receiving real-time and historical notifications
2969
+ */
2970
+ declare class NotificationServiceDemo {
2971
+ private stateService;
2972
+ notificationChannels$: rxjs.Observable<string[]>;
2973
+ todaysNotificationChannels$: rxjs.Observable<string[]>;
2974
+ private subscribedNotificationChannelsSubject;
2975
+ subscribedNotificationChannels$: rxjs.Observable<Set<string>>;
2976
+ notificationMessages$: rxjs.Observable<any[]>;
2977
+ latestNotification$: rxjs.Observable<any>;
2978
+ connectionStatus$: rxjs.Observable<boolean>;
2979
+ /**
2980
+ * Create a notification channel
2981
+ * NOTE: MES- prefix is added automatically by HTTPManagerStateService
2982
+ */
2983
+ createNotificationChannel(channel: string): void;
2984
+ /**
2985
+ * Get all notification channels (in-memory)
2986
+ */
2987
+ getNotificationChannels(): void;
2988
+ /**
2989
+ * Get today's notification channels from database
2990
+ * Returns unique channels that have notifications posted today
2991
+ */
2992
+ getTodaysNotificationChannels(): void;
2993
+ /**
2994
+ * Define and load previous day's notification channels from database
2995
+ * Creates channels in memory and broadcasts updated list
2996
+ */
2997
+ definePreviousNotificationChannels(): void;
2998
+ /**
2999
+ * Subscribe to a notification channel with optional date filter
3000
+ * NOTE: MES- prefix is added automatically by HTTPManagerStateService
3001
+ * @param channel Base channel name (without MES- prefix)
3002
+ * @param options { startEpoch?, endEpoch? }
3003
+ * @param user User info for subscription
3004
+ */
3005
+ subscribeToNotificationChannel(channel: string, options?: {
3006
+ startEpoch?: number;
3007
+ endEpoch?: number;
3008
+ }, user?: any): void;
3009
+ /**
3010
+ * Unsubscribe from a notification channel
3011
+ * NOTE: MES- prefix is added automatically by HTTPManagerStateService
3012
+ */
3013
+ unsubscribeFromNotificationChannel(channel: string): void;
3014
+ /**
3015
+ * Send a notification to a channel
3016
+ * NOTE: MES- prefix is added automatically by HTTPManagerStateService
3017
+ */
3018
+ sendNotification(channel: string, content: any, user?: any): void;
3019
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationServiceDemo, never>;
3020
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationServiceDemo>;
3021
+ }
3022
+
3023
+ declare class RequestManagerWsDemoComponent implements OnInit {
3024
+ httpManagerService: HTTPManagerService<any>;
3025
+ stateService: StateServiceDemo;
3026
+ fb: FormBuilder;
3027
+ server: string;
3028
+ wsServer: string;
3029
+ jwtToken: string;
3030
+ user: any;
3031
+ path: string[];
3032
+ user$: rxjs.Observable<WSUser | null>;
3033
+ attempts$: rxjs.Observable<number>;
3034
+ nextRetry$: rxjs.Observable<number>;
3035
+ connectionStatus$: rxjs.Observable<boolean>;
3036
+ data$: rxjs.Observable<any>;
3037
+ isPending$: rxjs.Observable<boolean>;
3038
+ ngOnInit(): void;
3039
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestManagerWsDemoComponent, never>;
3040
+ static ɵcmp: i0.ɵɵComponentDeclaration<RequestManagerWsDemoComponent, "app-request-manager-ws-demo", never, { "server": { "alias": "server"; "required": false; }; "wsServer": { "alias": "wsServer"; "required": false; }; "jwtToken": { "alias": "jwtToken"; "required": false; }; "user": { "alias": "user"; "required": false; }; "path": { "alias": "path"; "required": false; }; }, {}, never, never, false, never>;
3041
+ }
3042
+
3043
+ declare class SettingsStateService extends StoreStateManagerService {
3044
+ constructor();
3045
+ updateEnum_1(value: any): void;
3046
+ updateEnum_2(value: any): void;
3047
+ getEnum(key: string): rxjs.Observable<any>;
3048
+ getEnum_1(): rxjs.Observable<any>;
3049
+ static ɵfac: i0.ɵɵFactoryDeclaration<SettingsStateService, never>;
3050
+ static ɵprov: i0.ɵɵInjectableDeclaration<SettingsStateService>;
3051
+ }
3052
+
3053
+ declare class StoreStateManagerDemoComponent implements OnInit {
3054
+ settingsStateService: SettingsStateService;
3055
+ dataState$: rxjs.Observable<any>;
3056
+ dataEnum$: rxjs.Observable<any>;
3057
+ ngOnInit(): void;
3058
+ onUpdateEnum_1(): void;
3059
+ onUpdateEnum_2(): void;
3060
+ onGetEnum_1(): void;
3061
+ static ɵfac: i0.ɵɵFactoryDeclaration<StoreStateManagerDemoComponent, never>;
3062
+ static ɵcmp: i0.ɵɵComponentDeclaration<StoreStateManagerDemoComponent, "app-store-state-manager-demo", never, {}, {}, never, never, false, never>;
3063
+ }
3064
+
3065
+ interface TableRecord {
3066
+ id: number;
3067
+ last_name: string;
3068
+ age: number;
3069
+ amount: number;
3070
+ }
3071
+ declare class DatabaseDataDemoComponent implements OnInit, OnDestroy {
3072
+ db: DatabaseManagerService;
3073
+ private destroy$;
3074
+ dataToDisplay: TableRecord[];
3075
+ dataSource: DatabaseDataSource;
3076
+ displayedColumns: string[];
3077
+ names: string[];
3078
+ constructor();
3079
+ ngOnDestroy(): void;
3080
+ addData(): void;
3081
+ removeData(): void;
3082
+ updateData(): void;
3083
+ clearAllData(): void;
3084
+ private refreshData;
3085
+ ngOnInit(): void;
3086
+ createTable(tableDef: TableSchemaDef): Observable<boolean>;
3087
+ findTableRecords(table: string, column: string, value: any): Observable<any>;
3088
+ findTableRecord(table: string, column: string, value: any): Observable<any>;
3089
+ getTableRecords(table: string): Observable<any>;
3090
+ getTableRecord(table: string, id: number): Observable<any>;
3091
+ createTableRecord<T>(table: string, record: T): Observable<any>;
3092
+ updateTableRecord<T>(table: string, record: T): Observable<any>;
3093
+ deleteTableRecord<T>(table: string, id: number): Observable<any>;
3094
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatabaseDataDemoComponent, never>;
3095
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatabaseDataDemoComponent, "app-database-data-demo", never, {}, {}, never, never, false, never>;
3096
+ }
3097
+ declare class DatabaseDataSource extends DataSource<TableRecord> {
3098
+ private _dataStream;
3099
+ constructor(initialData: TableRecord[]);
3100
+ connect(): Observable<TableRecord[]>;
3101
+ disconnect(): void;
3102
+ setData(data: TableRecord[]): void;
3103
+ }
3104
+
3105
+ declare class StateDataRequestService extends HTTPManagerStateService<any> {
3106
+ attempts$: rxjs.Observable<number>;
3107
+ nextRetry$: rxjs.Observable<number>;
3108
+ path: (string | number)[];
3109
+ constructor();
3110
+ updateConnection(server: string, wsServer: string, jwtToken: string, user: any, path?: (string | number)[]): void;
3111
+ addData(): void;
3112
+ sendMessage(data: ChannelMessage): void;
3113
+ getData(): void;
3114
+ updateData(data: any): void;
3115
+ deleteData(data: any): void;
3116
+ static ɵfac: i0.ɵɵFactoryDeclaration<StateDataRequestService, never>;
3117
+ static ɵprov: i0.ɵɵInjectableDeclaration<StateDataRequestService>;
3118
+ }
3119
+
3120
+ declare class WsDataControlComponent implements OnInit {
3121
+ server: string;
3122
+ wsServer: string;
3123
+ jwtToken: string;
3124
+ user: any;
3125
+ path: (string | number)[];
3126
+ stateDataRequestService: StateDataRequestService;
3127
+ webSocketMessageService: WebSocketMessageService;
3128
+ user$: rxjs.Observable<WSUser | null>;
3129
+ users$: rxjs.Observable<any[]>;
3130
+ userAction$: rxjs.Observable<any>;
3131
+ data$: rxjs.Observable<any>;
3132
+ isUser: (user: any, userItem: any) => boolean;
3133
+ ngOnInit(): void;
3134
+ onGetData(): void;
3135
+ onAddData(): void;
3136
+ onUpdateData(data: any[]): void;
3137
+ onRemoveData(data: any): void;
3138
+ /**
3139
+ * Test direct state message via WebSocketMessageService
3140
+ * Sends an UPDATE message that should trigger fetchRecord() in the state manager
3141
+ *
3142
+ * @param recordId - The record ID to update (default: 63)
3143
+ * @param useFakeSessionId - If true, uses a fake sessionId to avoid filtering (default: true)
3144
+ * @param customSessionId - Optional custom sessionId (overrides useFakeSessionId if provided)
3145
+ */
3146
+ onTestDirectStateMessage(recordId?: number, useFakeSessionId?: boolean, customSessionId?: string): void;
3147
+ static ɵfac: i0.ɵɵFactoryDeclaration<WsDataControlComponent, never>;
3148
+ static ɵcmp: i0.ɵɵComponentDeclaration<WsDataControlComponent, "app-ws-data-control", never, { "server": { "alias": "server"; "required": false; }; "wsServer": { "alias": "wsServer"; "required": false; }; "jwtToken": { "alias": "jwtToken"; "required": false; }; "user": { "alias": "user"; "required": false; }; "path": { "alias": "path"; "required": false; }; }, {}, never, never, false, never>;
3149
+ }
3150
+
3151
+ interface SlideInterface {
3152
+ title: string;
3153
+ message: string;
3154
+ image?: string;
3155
+ icon?: string;
3156
+ }
3157
+ declare class Slide implements SlideInterface {
3158
+ title: string;
3159
+ message: string;
3160
+ image?: string | undefined;
3161
+ icon?: string | undefined;
3162
+ constructor(title?: string, message?: string, image?: string | undefined, icon?: string | undefined);
3163
+ static adapt(item?: any): Slide;
3164
+ }
3165
+
3166
+ interface ActionInterface {
3167
+ label: string;
3168
+ action: 'close' | 'navigate' | 'callback' | 'custom';
3169
+ target?: string;
3170
+ callback?: string;
3171
+ primary?: boolean;
3172
+ }
3173
+ declare class Action implements ActionInterface {
3174
+ label: string;
3175
+ action: 'close' | 'navigate' | 'callback' | 'custom';
3176
+ target?: string | undefined;
3177
+ callback?: string | undefined;
3178
+ primary?: boolean | undefined;
3179
+ constructor(label?: string, action?: 'close' | 'navigate' | 'callback' | 'custom', target?: string | undefined, callback?: string | undefined, primary?: boolean | undefined);
3180
+ static adapt(item?: any): Action;
3181
+ }
3182
+
3183
+ type DisplayType = 'snackbar' | 'dialog' | 'carousel' | 'banner' | 'inline';
3184
+ interface DisplayConfigInterface {
3185
+ type: DisplayType;
3186
+ supportsMarkdown?: boolean;
3187
+ stackable?: boolean;
3188
+ queueBehavior?: 'replace' | 'queue' | 'ignore';
3189
+ autoDismiss?: number;
3190
+ width?: string;
3191
+ height?: string;
3192
+ }
3193
+ declare class DisplayConfig implements DisplayConfigInterface {
3194
+ type: DisplayType;
3195
+ supportsMarkdown?: boolean | undefined;
3196
+ stackable?: boolean | undefined;
3197
+ queueBehavior?: ("replace" | "queue" | "ignore") | undefined;
3198
+ autoDismiss?: number | undefined;
3199
+ width?: string | undefined;
3200
+ height?: string | undefined;
3201
+ constructor(type?: DisplayType, supportsMarkdown?: boolean | undefined, stackable?: boolean | undefined, queueBehavior?: ("replace" | "queue" | "ignore") | undefined, autoDismiss?: number | undefined, width?: string | undefined, height?: string | undefined);
3202
+ static adapt(item?: any): DisplayConfig;
3203
+ }
3204
+
3205
+ interface MessageContentInterface {
3206
+ displayConfig?: DisplayConfig;
3207
+ title?: string;
3208
+ message: string;
3209
+ slides?: Slide[];
3210
+ image?: string;
3211
+ images?: string[];
3212
+ actions?: Action[];
3213
+ messageType?: string;
3214
+ icon?: string;
3215
+ data?: any;
3216
+ }
3217
+ declare class MessageContent implements MessageContentInterface {
3218
+ displayConfig?: DisplayConfig | undefined;
3219
+ title?: string | undefined;
3220
+ message: string;
3221
+ slides?: Slide[] | undefined;
3222
+ image?: string | undefined;
3223
+ images?: string[] | undefined;
3224
+ actions?: Action[] | undefined;
3225
+ messageType?: string | undefined;
3226
+ icon?: string | undefined;
3227
+ data?: any;
3228
+ constructor(displayConfig?: DisplayConfig | undefined, title?: string | undefined, message?: string, slides?: Slide[] | undefined, image?: string | undefined, images?: string[] | undefined, actions?: Action[] | undefined, messageType?: string | undefined, icon?: string | undefined, data?: any);
3229
+ static adapt(item?: any): MessageContent;
3230
+ }
3231
+ interface CommunicationMessageInterface {
3232
+ type: string;
3233
+ messageId?: number;
3234
+ channel?: string;
3235
+ sessionId?: {
3236
+ id: string;
3237
+ };
3238
+ timestamp?: string;
3239
+ content: MessageContent;
3240
+ }
3241
+ declare class CommunicationMessage implements CommunicationMessageInterface {
3242
+ type: string;
3243
+ messageId?: number | undefined;
3244
+ channel?: string | undefined;
3245
+ sessionId?: {
3246
+ id: string;
3247
+ } | undefined;
3248
+ timestamp?: string | undefined;
3249
+ content: MessageContent;
3250
+ constructor(type?: string, messageId?: number | undefined, channel?: string | undefined, sessionId?: {
3251
+ id: string;
3252
+ } | undefined, timestamp?: string | undefined, content?: MessageContent);
3253
+ static adapt(item?: any): CommunicationMessage;
3254
+ }
3255
+
3256
+ interface IDisplayStrategy {
3257
+ name: string;
3258
+ canHandle(message: CommunicationMessage): boolean;
3259
+ display(message: CommunicationMessage, config: DisplayConfig): void;
3260
+ }
3261
+
3262
+ interface DisplayRuleInterface {
3263
+ id: string;
3264
+ name?: string;
3265
+ match: (message: CommunicationMessage) => boolean;
3266
+ display: DisplayConfig;
3267
+ }
3268
+ declare class DisplayRule implements DisplayRuleInterface {
3269
+ id: string;
3270
+ name?: string | undefined;
3271
+ match: (message: CommunicationMessage) => boolean;
3272
+ display: DisplayConfig;
3273
+ constructor(id?: string, name?: string | undefined, match?: (message: CommunicationMessage) => boolean, display?: DisplayConfig);
3274
+ static adapt(item?: any): DisplayRule;
3275
+ }
3276
+
3277
+ declare class MessageDisplayRouterService {
3278
+ private snackbarStrategy;
3279
+ private strategies;
3280
+ private rules;
3281
+ display(message: CommunicationMessage): void;
3282
+ registerStrategies(strategies: IDisplayStrategy[]): void;
3283
+ setRules(rules: DisplayRule[]): void;
3284
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageDisplayRouterService, never>;
3285
+ static ɵprov: i0.ɵɵInjectableDeclaration<MessageDisplayRouterService>;
3286
+ }
3287
+
3288
+ declare class WsMessagingComponent implements OnInit, OnDestroy {
3289
+ server: string;
3290
+ wsServer: string;
3291
+ jwtToken: string;
3292
+ user: any;
3293
+ path: (string | number)[];
3294
+ private destroy$;
3295
+ fb: FormBuilder;
3296
+ messageService: MessageServiceDemo;
3297
+ stateService: StateServiceDemo;
3298
+ messageDisplayService: MessageDisplayRouterService;
3299
+ channels$: Observable<string[]>;
3300
+ subscribedChannels$: Observable<string[]>;
3301
+ user$: Observable<WSUser | null>;
3302
+ data$: Observable<any>;
3303
+ connectionStatus$: Observable<boolean>;
3304
+ newChannelName: FormControl<string | null>;
3305
+ messages: _angular_forms.FormGroup<{
3306
+ selectedChannels: FormControl<string[] | null>;
3307
+ content: FormControl<string | null>;
3308
+ }>;
3309
+ get selectedChannels(): FormControl;
3310
+ get content(): FormControl;
3311
+ communicationMessages$: Observable<any[]>;
3312
+ latestCommunicationMessages$: Observable<any>;
3313
+ chat$: Observable<{
3314
+ user: any;
3315
+ messages: any[];
3316
+ } | any>;
3317
+ ngOnInit(): void;
3318
+ ngOnDestroy(): void;
3319
+ /**
3320
+ * Create a new public channel without auto-subscribing
3321
+ * NOTE: PUB- prefix is added by messageService.createChannel
3322
+ */
3323
+ onCreateChannel(): void;
3324
+ /**
3325
+ * Subscribe to a channel to receive messages
3326
+ * NOTE: PUB- prefix is added by messageService.subscribeToChannel
3327
+ */
3328
+ onSubscribeToChannel(channel: string): void;
3329
+ /**
3330
+ * Unsubscribe from a channel
3331
+ * NOTE: PUB- prefix is added by messageService.unsubscribeFromChannel
3332
+ */
3333
+ onUnsubscribeFromChannel(channel: string): void;
3334
+ /**
3335
+ * Handle chip toggle for subscribe/unsubscribe
3336
+ */
3337
+ onChipToggle(event: any, channel: string): void;
3338
+ /**
3339
+ * Check if currently subscribed to a channel
3340
+ * Compares display names (without PUB- prefix)
3341
+ */
3342
+ isSubscribed(channel: string, subscribedChannels: string[]): boolean;
3343
+ onSendMessage(): void;
3344
+ static ɵfac: i0.ɵɵFactoryDeclaration<WsMessagingComponent, never>;
3345
+ static ɵcmp: i0.ɵɵComponentDeclaration<WsMessagingComponent, "app-ws-messaging", never, { "server": { "alias": "server"; "required": false; }; "wsServer": { "alias": "wsServer"; "required": false; }; "jwtToken": { "alias": "jwtToken"; "required": false; }; "user": { "alias": "user"; "required": false; }; "path": { "alias": "path"; "required": false; }; }, {}, never, never, false, never>;
3346
+ }
3347
+
3348
+ declare class WsNotificationsComponent implements OnInit, OnDestroy {
3349
+ server: string;
3350
+ wsServer: string;
3351
+ jwtToken: string;
3352
+ user: any;
3353
+ private destroy$;
3354
+ fb: FormBuilder;
3355
+ notificationService: NotificationServiceDemo;
3356
+ stateService: StateServiceDemo;
3357
+ todaysNotificationChannels$: rxjs.Observable<string[]>;
3358
+ subscribedNotificationChannels$: rxjs.Observable<string[]>;
3359
+ notificationMessages$: rxjs.Observable<any[]>;
3360
+ connectionStatus$: rxjs.Observable<boolean>;
3361
+ /**
3362
+ * Helper to ensure channel has MES- prefix for outgoing communication
3363
+ */
3364
+ private toNotificationChannel;
3365
+ newChannelName: FormControl<string | null>;
3366
+ selectedConnectionChannel: FormControl<string | null>;
3367
+ connectedChannel: string | null;
3368
+ displayedColumns: string[];
3369
+ dateFilter: _angular_forms.FormGroup<{
3370
+ startDate: FormControl<Date | null>;
3371
+ endDate: FormControl<Date | null>;
3372
+ }>;
3373
+ notificationForm: _angular_forms.FormGroup<{
3374
+ content: FormControl<string | null>;
3375
+ }>;
3376
+ get content(): FormControl;
3377
+ /**
3378
+ * Check if currently connected to a channel
3379
+ */
3380
+ isChannelConnected(subscribedChannels: string[]): boolean;
3381
+ /**
3382
+ * Connect to the selected channel
3383
+ */
3384
+ onConnectToChannel(): void;
3385
+ /**
3386
+ * Disconnect from the current channel
3387
+ */
3388
+ onDisconnectFromChannel(): void;
3389
+ ngOnInit(): void;
3390
+ ngOnDestroy(): void;
3391
+ /**
3392
+ * Create a new notification channel
3393
+ */
3394
+ onCreateChannel(): void;
3395
+ /**
3396
+ * Define and load previous channels
3397
+ */
3398
+ onDefinePreviousChannels(): void;
3399
+ /**
3400
+ * Subscribe to a notification channel with optional date filter
3401
+ */
3402
+ onSubscribeToChannel(channel: string): void;
3403
+ /**
3404
+ * Unsubscribe from a notification channel
3405
+ */
3406
+ onUnsubscribeFromChannel(channel: string): void;
3407
+ /**
3408
+ * Check if currently subscribed to a channel
3409
+ */
3410
+ isSubscribed(channel: string, subscribedChannels: string[]): boolean;
3411
+ /**
3412
+ * Handle chip click - toggle subscription state
3413
+ */
3414
+ onChipClick(channel: string, subscribedChannels: string[]): void;
3415
+ /**
3416
+ * Send a notification
3417
+ */
3418
+ onSendNotification(): void;
3419
+ /**
3420
+ * Format epoch timestamp to readable date/time
3421
+ */
3422
+ formatTimestamp(epoch: number): string;
3423
+ /**
3424
+ * Get today's date in YYYY-MM-DD format for date input default
3425
+ */
3426
+ getTodayDate(): string;
3427
+ static ɵfac: i0.ɵɵFactoryDeclaration<WsNotificationsComponent, never>;
3428
+ static ɵcmp: i0.ɵɵComponentDeclaration<WsNotificationsComponent, "app-ws-notifications", never, { "server": { "alias": "server"; "required": false; }; "wsServer": { "alias": "wsServer"; "required": false; }; "jwtToken": { "alias": "jwtToken"; "required": false; }; "user": { "alias": "user"; "required": false; }; }, {}, never, never, false, never>;
3429
+ }
3430
+
3431
+ declare class WsAiMessagingComponent implements OnInit {
3432
+ constructor();
3433
+ ngOnInit(): void;
3434
+ static ɵfac: i0.ɵɵFactoryDeclaration<WsAiMessagingComponent, never>;
3435
+ static ɵcmp: i0.ɵɵComponentDeclaration<WsAiMessagingComponent, "app-ws-ai-messaging", never, {}, {}, never, never, false, never>;
3436
+ }
3437
+
3438
+ declare class WsChatsComponent implements OnInit {
3439
+ constructor();
3440
+ ngOnInit(): void;
3441
+ static ɵfac: i0.ɵɵFactoryDeclaration<WsChatsComponent, never>;
3442
+ static ɵcmp: i0.ɵɵComponentDeclaration<WsChatsComponent, "app-ws-chats", never, {}, {}, never, never, false, never>;
3443
+ }
3444
+
3445
+ declare class SpinnerComponent implements OnInit {
3446
+ color: ThemePalette;
3447
+ diameter?: number;
3448
+ display?: string | number;
3449
+ mode?: ProgressSpinnerMode;
3450
+ strokeWidth?: number;
3451
+ value: number;
3452
+ constructor();
3453
+ ngOnInit(): void;
3454
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, never>;
3455
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "app-spinner", never, { "color": { "alias": "color"; "required": false; }; "diameter": { "alias": "diameter"; "required": false; }; "display": { "alias": "display"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
3456
+ }
3457
+
3458
+ declare class DownloadFileComponent implements OnInit {
3459
+ private subscriptions;
3460
+ event?: Function;
3461
+ displayError: number;
3462
+ diameter: number;
3463
+ mode: ProgressSpinnerMode;
3464
+ isPending: boolean;
3465
+ active: boolean;
3466
+ disabled: boolean;
3467
+ error: EventEmitter<void>;
3468
+ private _progress;
3469
+ set progress(value: any);
3470
+ get progress(): any;
3471
+ private _hasError;
3472
+ private errorTimerActive;
3473
+ set hasError(value: boolean | any);
3474
+ get hasError(): boolean | any;
3475
+ ngOnInit(): void;
3476
+ onAction(): void;
3477
+ ngOnDestroy(): void;
3478
+ static ɵfac: i0.ɵɵFactoryDeclaration<DownloadFileComponent, never>;
3479
+ static ɵcmp: i0.ɵɵComponentDeclaration<DownloadFileComponent, "app-download-file", never, { "event": { "alias": "event"; "required": false; }; "displayError": { "alias": "displayError"; "required": false; }; "diameter": { "alias": "diameter"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "isPending": { "alias": "isPending"; "required": false; }; "active": { "alias": "active"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "progress": { "alias": "progress"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; }, { "error": "error"; }, never, never, false, never>;
3480
+ }
3481
+
3482
+ interface DownloadLabelsInterface {
3483
+ error: string;
3484
+ action: string;
3485
+ icon: string;
3486
+ }
3487
+ declare class DownloadLabels implements DownloadLabelsInterface {
3488
+ error: string;
3489
+ action: string;
3490
+ icon: string;
3491
+ constructor(error?: string, action?: string, icon?: string);
3492
+ static adapt(item?: any): DownloadLabelsInterface;
3493
+ }
3494
+
3495
+ declare class FileDownloaderComponent extends HTTPManagerService<any> implements OnInit {
3496
+ delayError: number;
3497
+ apiRequest: ApiRequest;
3498
+ displayErrorMessage: boolean;
3499
+ saveFileAs?: string;
3500
+ _labels: DownloadLabelsInterface;
3501
+ set labels(value: DownloadLabels);
3502
+ active: boolean;
3503
+ subscription: Subscription;
3504
+ get labels(): DownloadLabels;
3505
+ completed: EventEmitter<void>;
3506
+ failed: EventEmitter<string>;
3507
+ disabled: boolean;
3508
+ constructor();
3509
+ ngOnInit(): void;
3510
+ onDownloadStreaming(): Subscription | undefined;
3511
+ onError(message: string): void;
3512
+ OnDestroy(): void;
3513
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileDownloaderComponent, never>;
3514
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileDownloaderComponent, "app-file-downloader", never, { "delayError": { "alias": "delayError"; "required": false; }; "apiRequest": { "alias": "apiRequest"; "required": false; }; "displayErrorMessage": { "alias": "displayErrorMessage"; "required": false; }; "saveFileAs": { "alias": "saveFileAs"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "completed": "completed"; "failed": "failed"; }, never, never, false, never>;
3515
+ }
3516
+
3517
+ declare class FileDownloaderModule {
3518
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileDownloaderModule, never>;
3519
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FileDownloaderModule, [typeof SpinnerComponent, typeof DownloadFileComponent, typeof FileDownloaderComponent], [typeof i4.CommonModule, typeof i5.MatIconModule, typeof i6.MatProgressSpinnerModule, typeof i7.MatButtonModule], [typeof FileDownloaderComponent]>;
3520
+ static ɵinj: i0.ɵɵInjectorDeclaration<FileDownloaderModule>;
3521
+ }
3522
+
3523
+ declare class HttpRequestManagerModule {
3524
+ static forRoot(config?: ConfigOptions): ModuleWithProviders<HttpRequestManagerModule>;
3525
+ static ɵfac: i0.ɵɵFactoryDeclaration<HttpRequestManagerModule, never>;
3526
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HttpRequestManagerModule, [typeof RequestManagerBasicDemoComponent, typeof HttpRequestServicesDemoComponent, typeof RequestManagerStateDemoComponent, typeof RequestManagerDemoComponent, typeof RequestSignalsManagerDemoComponent, typeof LocalStorageDemoComponent, typeof LocalStorageSignalsDemoComponent, typeof RequestManagerWsDemoComponent, typeof StoreStateManagerDemoComponent, typeof DatabaseDataDemoComponent, typeof WsDataControlComponent, typeof WsMessagingComponent, typeof WsNotificationsComponent, typeof WsAiMessagingComponent, typeof WsChatsComponent], [typeof i4.CommonModule, typeof i17.ToastMessageDisplayModule, typeof _angular_forms.FormsModule, typeof _angular_forms.ReactiveFormsModule, typeof i7.MatButtonModule, typeof i20.MatTabsModule, typeof i21.MatSelectModule, typeof i22.MatChipsModule, typeof i23.MatMenuModule, typeof i5.MatIconModule, typeof i25.MatTableModule, typeof i26.MatButtonToggleModule, typeof i27.MatAutocompleteModule, typeof i28.MatProgressBarModule, typeof i6.MatProgressSpinnerModule, typeof i30.MatSlideToggleModule, typeof i31.MatDividerModule, typeof i32.MatFormFieldModule, typeof i33.MatInputModule, typeof i34.MatToolbarModule, typeof i30.MatSlideToggleModule, typeof i35.TranslateModule, typeof i36.MatSidenavModule, typeof i37.MatDatepickerModule, typeof i38.MatNativeDateModule, typeof i39.MatCardModule, typeof FileDownloaderModule], [typeof HttpRequestServicesDemoComponent]>;
3527
+ static ɵinj: i0.ɵɵInjectorDeclaration<HttpRequestManagerModule>;
3528
+ }
3529
+
3530
+ declare class StoreStateSignalsDemoComponent implements OnInit {
3531
+ private stateManager;
3532
+ stateJson: i0.WritableSignal<string>;
3533
+ historyLength: i0.WritableSignal<number>;
3534
+ history: i0.WritableSignal<number[]>;
3535
+ ngOnInit(): void;
3536
+ private updateSignals;
3537
+ increment(): void;
3538
+ decrement(): void;
3539
+ reset(): void;
3540
+ addToHistory(): void;
3541
+ static ɵfac: i0.ɵɵFactoryDeclaration<StoreStateSignalsDemoComponent, never>;
3542
+ static ɵcmp: i0.ɵɵComponentDeclaration<StoreStateSignalsDemoComponent, "app-store-state-signals-demo", never, {}, {}, never, never, false, never>;
3543
+ }
3544
+
3545
+ export { ApiRequest, AppService, AsymmetricalEncryptionService, BatchOptions, BatchResult, CONFIG_SETTINGS_TOKEN, ChannelType, ConfigHTTPOptions, ConfigOptions, DataType, DatabaseDataDemoComponent, DatabaseManagerService, DatabaseStorage, DbService, ErrorDisplaySettings, GlobalStoreOptions, HTTPManagerService, HTTPManagerSignalsService, HTTPManagerStateService, HeadersService, HttpRequestManagerModule, HttpRequestServicesDemoComponent, LocalStorageDemoComponent, LocalStorageManagerService, LocalStorageOptions, LocalStorageSignalsDemoComponent, LocalStorageSignalsManagerService, LoggerService, NotificationMessage, PathQueryService, PublicMessage, Random, RandomHSLColor, RandomHexColor, RandomNumber, RandomNumbers, RandomNumbersUnique, RandomPaletteColor, RandomSignature, RandomStr, RandomVisibleColor, RequestErrorInterceptor, RequestHeadersInterceptor, RequestManagerDemoComponent, RequestManagerStateDemoComponent, RequestOptions, RequestService, RequestSignalsService, RetryOptions, SettingOptions, StateMessage, StateStorageOptions, StorageData, StorageOption, StorageType, StoreStateManagerService, StoreStateManagerSignalsService, StoreStateSignalsDemoComponent, StreamType, SymmetricalEncryptionService, TableSchemaDef, UUID, UUID_STR, UserData, UtilsService, WSOptions, WebSocketMessageService, WithCredentialsInterceptor, calculateBatchProgress, countdown, createChannelName, delayedRetry, isErrorState, isPendingState, isSuccessState, requestPolling, requestStreaming, streamAI, streamAuto, streamEvents, streamJSON, streamNDJSON };
3546
+ export type { APIStateManagerData, ApiRequestInterface, BatchErrorState, BatchOptionsInterface, BatchPendingState, BatchProgress, BatchRequestState, BatchResultInterface, BatchSuccessState, ConfigHTTPOptionsInterface, ConfigOptionsInterface, DatabaseStorageInterface, ErrorDisplaySettingsInterface, GlobalStoreOptionsInterface, LocalStorageOptionsInterface, NotificationMessageInterface, ParsingResult, PublicMessageInterface, RequestOptionsInterface, RetryOptionsInterface, SettingOptionsInterface, State, StateMessageInterface, StateStorageOptionsInterface, StateStoreManagerData$1 as StateStoreManagerData, StorageDataInterface, StorageOptionInterface, StreamConfig, StreamEvent, TableRecord, TableSchemaDefInterface, UserDataInterface, WSOptionsInterface };