http-request-manager 19.0.0 → 22.0.0

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