@yuuvis/client-core 2.20.0 → 3.0.0-beta.20.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 (102) hide show
  1. package/fesm2022/yuuvis-client-core.mjs +173 -169
  2. package/fesm2022/yuuvis-client-core.mjs.map +1 -1
  3. package/index.d.ts +3255 -68
  4. package/package.json +6 -6
  5. package/lib/common/pipes/filesize.pipe.d.ts +0 -18
  6. package/lib/common/pipes/index.d.ts +0 -5
  7. package/lib/common/pipes/keys.pipe.d.ts +0 -10
  8. package/lib/common/pipes/locale-date.pipe.d.ts +0 -12
  9. package/lib/common/pipes/locale-number.pipe.d.ts +0 -47
  10. package/lib/common/pipes/safe-html.pipe.d.ts +0 -28
  11. package/lib/common/services/native-notifications.d.ts +0 -8
  12. package/lib/common/services/native-notifications.interface.d.ts +0 -5
  13. package/lib/model/dms-object.interface.d.ts +0 -22
  14. package/lib/model/dms-object.model.d.ts +0 -26
  15. package/lib/model/file-upload-options.model.d.ts +0 -5
  16. package/lib/model/object-flavor.interface.d.ts +0 -46
  17. package/lib/model/range-value.interface.d.ts +0 -9
  18. package/lib/model/yuv-error.model.d.ts +0 -18
  19. package/lib/model/yuv-user.model.d.ts +0 -42
  20. package/lib/provider/available-backend-apps/available-backend-apps.model.d.ts +0 -6
  21. package/lib/provider/available-backend-apps/available-backend-apps.provider.d.ts +0 -6
  22. package/lib/provider/available-backend-apps/index.d.ts +0 -2
  23. package/lib/provider/index.d.ts +0 -3
  24. package/lib/provider/navigation/index.d.ts +0 -3
  25. package/lib/provider/navigation/provide.before.unload.guard.d.ts +0 -12
  26. package/lib/provider/navigation/provide.navigation-protection.d.ts +0 -2
  27. package/lib/provider/navigation/provide.popstate-dialog.guard.d.ts +0 -14
  28. package/lib/provider/provide.client.core.d.ts +0 -5
  29. package/lib/service/audit/audit.interface.d.ts +0 -47
  30. package/lib/service/audit/audit.service.d.ts +0 -37
  31. package/lib/service/auth/auth.interceptor.d.ts +0 -6
  32. package/lib/service/auth/auth.interface.d.ts +0 -34
  33. package/lib/service/auth/auth.service.d.ts +0 -54
  34. package/lib/service/backend/api.enum.d.ts +0 -7
  35. package/lib/service/backend/backend.interface.d.ts +0 -21
  36. package/lib/service/backend/backend.service.d.ts +0 -145
  37. package/lib/service/bpm/bpm.interface.d.ts +0 -87
  38. package/lib/service/bpm/bpm.service.d.ts +0 -19
  39. package/lib/service/cache/app-cache.service.d.ts +0 -43
  40. package/lib/service/catalog/catalog.interface.d.ts +0 -12
  41. package/lib/service/catalog/catalog.service.d.ts +0 -5
  42. package/lib/service/client-cache/client-cache.interface.d.ts +0 -5
  43. package/lib/service/client-cache/client-cache.service.d.ts +0 -35
  44. package/lib/service/clipboard/clipboard.interface.d.ts +0 -11
  45. package/lib/service/clipboard/clipboard.service.d.ts +0 -24
  46. package/lib/service/config/config.interface.d.ts +0 -34
  47. package/lib/service/config/config.service.d.ts +0 -37
  48. package/lib/service/config/core-config.d.ts +0 -12
  49. package/lib/service/config/core-config.tokens.d.ts +0 -7
  50. package/lib/service/connection/connection.service.d.ts +0 -31
  51. package/lib/service/connection/offline.interceptor.d.ts +0 -6
  52. package/lib/service/core-init/core-init.service.d.ts +0 -5
  53. package/lib/service/core-init/missing-translation-handler.d.ts +0 -8
  54. package/lib/service/core-init/translate-json-loader.d.ts +0 -20
  55. package/lib/service/device/device.interface.d.ts +0 -15
  56. package/lib/service/device/device.service.d.ts +0 -62
  57. package/lib/service/dms/dms.service.d.ts +0 -207
  58. package/lib/service/dms/dms.service.interface.d.ts +0 -60
  59. package/lib/service/event/custom.events.token.d.ts +0 -3
  60. package/lib/service/event/event.interface.d.ts +0 -36
  61. package/lib/service/event/event.service.d.ts +0 -30
  62. package/lib/service/event/events.d.ts +0 -22
  63. package/lib/service/idm/idm.service.d.ts +0 -43
  64. package/lib/service/idm/models/idm-cached-user.model.d.ts +0 -11
  65. package/lib/service/idm/models/idm-user-cache.model.d.ts +0 -9
  66. package/lib/service/idm/models/idm-user-response.model.d.ts +0 -24
  67. package/lib/service/idm/models/index.d.ts +0 -4
  68. package/lib/service/idm/models/organization-set-entry.model.d.ts +0 -12
  69. package/lib/service/logger/logger.interface.d.ts +0 -10
  70. package/lib/service/logger/logger.service.d.ts +0 -20
  71. package/lib/service/notification/notification.service.d.ts +0 -71
  72. package/lib/service/object-config/object-config.interface.d.ts +0 -62
  73. package/lib/service/object-config/object-config.service.d.ts +0 -40
  74. package/lib/service/object-form/object-form.interface.d.ts +0 -46
  75. package/lib/service/object-form/object-form.model.d.ts +0 -45
  76. package/lib/service/pending-changes/index.d.ts +0 -4
  77. package/lib/service/pending-changes/pending-changes-component.interface.d.ts +0 -6
  78. package/lib/service/pending-changes/pending-changes-dialog.guard.service.d.ts +0 -128
  79. package/lib/service/pending-changes/pending-changes-guard.service.d.ts +0 -14
  80. package/lib/service/pending-changes/pending-changes-tab.guard.directive.d.ts +0 -9
  81. package/lib/service/pending-changes/pending-changes.service.d.ts +0 -58
  82. package/lib/service/prediction/prediction.interface.d.ts +0 -18
  83. package/lib/service/prediction/prediction.service.d.ts +0 -15
  84. package/lib/service/retention/retention.interface.d.ts +0 -5
  85. package/lib/service/retention/retention.service.d.ts +0 -26
  86. package/lib/service/search/search.service.d.ts +0 -55
  87. package/lib/service/search/search.service.interface.d.ts +0 -123
  88. package/lib/service/search/search.utils.d.ts +0 -18
  89. package/lib/service/session-storage/session-storage.service.d.ts +0 -15
  90. package/lib/service/system/system.enum.d.ts +0 -143
  91. package/lib/service/system/system.interface.d.ts +0 -165
  92. package/lib/service/system/system.service.d.ts +0 -175
  93. package/lib/service/toast/toast.interface.d.ts +0 -8
  94. package/lib/service/toast/toast.service.d.ts +0 -17
  95. package/lib/service/toast/toast.styles.d.ts +0 -1
  96. package/lib/service/upload/upload.interface.d.ts +0 -56
  97. package/lib/service/upload/upload.service.d.ts +0 -160
  98. package/lib/service/user/user-storage.service.d.ts +0 -18
  99. package/lib/service/user/user.providers.d.ts +0 -4
  100. package/lib/service/user/user.service.d.ts +0 -67
  101. package/lib/util/utils.d.ts +0 -123
  102. package/lib/util/utils.helper.enum.d.ts +0 -13
package/index.d.ts CHANGED
@@ -1,69 +1,3256 @@
1
+ import { TranslateService } from '@ngx-translate/core';
1
2
  export { TranslateDirective, TranslateLoader, TranslateModule, TranslatePipe, TranslateService } from '@ngx-translate/core';
2
- export * from './lib/model/dms-object.interface';
3
- export * from './lib/model/dms-object.model';
4
- export * from './lib/model/object-flavor.interface';
5
- export * from './lib/model/range-value.interface';
6
- export * from './lib/model/yuv-error.model';
7
- export * from './lib/model/yuv-user.model';
8
- export * from './lib/service/audit/audit.interface';
9
- export * from './lib/service/audit/audit.service';
10
- export * from './lib/service/auth/auth.interface';
11
- export * from './lib/service/auth/auth.service';
12
- export * from './lib/service/backend/api.enum';
13
- export * from './lib/service/backend/backend.interface';
14
- export * from './lib/service/backend/backend.service';
15
- export * from './lib/service/bpm/bpm.interface';
16
- export * from './lib/service/bpm/bpm.service';
17
- export * from './lib/service/cache/app-cache.service';
18
- export * from './lib/service/catalog/catalog.interface';
19
- export * from './lib/service/catalog/catalog.service';
20
- export * from './lib/service/client-cache/client-cache.interface';
21
- export * from './lib/service/client-cache/client-cache.service';
22
- export * from './lib/service/clipboard/clipboard.interface';
23
- export * from './lib/service/clipboard/clipboard.service';
24
- export * from './lib/service/config/config.interface';
25
- export * from './lib/service/config/config.service';
26
- export * from './lib/service/config/core-config';
27
- export * from './lib/service/config/core-config.tokens';
28
- export * from './lib/service/connection/connection.service';
29
- export * from './lib/service/core-init/core-init.service';
30
- export * from './lib/service/device/device.interface';
31
- export * from './lib/service/device/device.service';
32
- export * from './lib/service/dms/dms.service';
33
- export * from './lib/service/dms/dms.service.interface';
34
- export * from './lib/service/event/event.interface';
35
- export * from './lib/service/event/event.service';
36
- export * from './lib/service/event/events';
37
- export * from './lib/service/idm/idm.service';
38
- export * from './lib/service/idm/models';
39
- export * from './lib/service/logger/logger.interface';
40
- export * from './lib/service/logger/logger.service';
41
- export * from './lib/service/notification/notification.service';
42
- export * from './lib/service/object-config/object-config.interface';
43
- export * from './lib/service/object-config/object-config.service';
44
- export * from './lib/service/object-form/object-form.interface';
45
- export * from './lib/service/object-form/object-form.model';
46
- export * from './lib/service/pending-changes';
47
- export * from './lib/service/prediction/prediction.interface';
48
- export * from './lib/service/prediction/prediction.service';
49
- export * from './lib/service/retention/retention.interface';
50
- export * from './lib/service/retention/retention.service';
51
- export * from './lib/service/search/search.service';
52
- export * from './lib/service/search/search.service.interface';
53
- export * from './lib/service/search/search.utils';
54
- export * from './lib/service/session-storage/session-storage.service';
55
- export * from './lib/service/system/system.enum';
56
- export * from './lib/service/system/system.interface';
57
- export * from './lib/service/system/system.service';
58
- export * from './lib/service/toast/toast.interface';
59
- export * from './lib/service/toast/toast.service';
60
- export * from './lib/service/upload/upload.interface';
61
- export * from './lib/service/upload/upload.service';
62
- export * from './lib/service/user/user-storage.service';
63
- export * from './lib/service/user/user.providers';
64
- export * from './lib/service/user/user.service';
65
- export * from './lib/util/utils';
66
- export * from './lib/util/utils.helper.enum';
67
- export * from './lib/common/pipes';
68
- export * from './lib/common/services/native-notifications';
69
- export * from './lib/provider';
3
+ import * as i0 from '@angular/core';
4
+ import { Type, Signal, InjectionToken, DoCheck, Provider, PipeTransform, EnvironmentProviders } from '@angular/core';
5
+ import { Router, CanDeactivate } from '@angular/router';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable, Subscription } from 'rxjs';
8
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
9
+ import * as _yuuvis_client_core from '@yuuvis/client-core';
10
+ import { DeviceInfo } from 'ngx-device-detector';
11
+ import { FormControl, FormGroup } from '@angular/forms';
12
+ import { MatDialogRef } from '@angular/material/dialog';
13
+ import { DecimalPipe, CurrencyPipe, PercentPipe } from '@angular/common';
14
+ import { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
15
+
16
+ interface DmsObjectPermissions {
17
+ readIndexData: boolean;
18
+ readContent: boolean;
19
+ writeIndexData: boolean;
20
+ writeContent: boolean;
21
+ deleteObject: boolean;
22
+ deleteContent: boolean;
23
+ }
24
+ interface DmsObjectAuditInfo {
25
+ on: Date;
26
+ by: {
27
+ id: string;
28
+ title?: string;
29
+ name?: string;
30
+ };
31
+ }
32
+ interface DmsObjectTag {
33
+ name: string;
34
+ state: number;
35
+ creationDate: Date;
36
+ traceId: string;
37
+ }
38
+
39
+ interface ObjectOptions {
40
+ waitForSearchConsistency?: boolean;
41
+ scope?: string;
42
+ }
43
+ interface ObjectDeleteOptions extends ObjectOptions {
44
+ silent?: boolean;
45
+ greedy?: boolean;
46
+ }
47
+ interface ObjectDeleteResult {
48
+ id: string;
49
+ properties?: {
50
+ [key: string]: {
51
+ value: any;
52
+ };
53
+ };
54
+ _error?: ObjectDeleteError;
55
+ }
56
+ interface ObjectDeleteError {
57
+ status: number;
58
+ message: string;
59
+ }
60
+ interface ObjectMoveOptions extends ObjectOptions {
61
+ silent?: boolean;
62
+ }
63
+ interface ObjectCopyOptions extends ObjectOptions {
64
+ }
65
+ interface CoreApiObject {
66
+ properties: Record<string, CoreApiObjectProperty>;
67
+ contentStreams?: Partial<ContentStream$1>[];
68
+ }
69
+ interface CoreApiObjectProperty {
70
+ value: unknown;
71
+ }
72
+ interface ContentStream$1 {
73
+ contentStreamId: string;
74
+ repositoryId: string;
75
+ digest: string;
76
+ fileName: string;
77
+ size: number;
78
+ archivePath?: string;
79
+ range?: string;
80
+ mimeType: string;
81
+ }
82
+ interface CoreApiBatchResponse {
83
+ hasMoreItems: boolean;
84
+ numItems: number;
85
+ objects: CoreApiResponse[];
86
+ totalNumItems: number;
87
+ }
88
+ interface CoreApiResponse {
89
+ properties: Record<string, CoreApiObjectProperty>;
90
+ contentStreams?: ContentStream$1[];
91
+ options: {
92
+ 'system:response': {
93
+ httpStatusCode: number;
94
+ serviceErrorCode?: number;
95
+ message: string;
96
+ };
97
+ };
98
+ }
99
+
100
+ type DateRange = 'today' | 'yesterday' | 'thisWeek' | 'lastWeek' | 'thisMonth' | 'lastMonth' | 'thisYear' | 'lastYear';
101
+ type FilesizeRange = 'small' | 'medium' | 'large' | 'verylarge';
102
+ interface SearchQuery {
103
+ term?: string;
104
+ scope?: 'metadata' | 'content';
105
+ size?: number;
106
+ from?: number;
107
+ fields?: string[];
108
+ aggs?: string[];
109
+ types?: string[];
110
+ filters?: SearchFilter[];
111
+ tableFilters?: TableFilter[];
112
+ sort?: SortOption[];
113
+ includePermissions?: boolean;
114
+ }
115
+ interface SortOption {
116
+ field: string;
117
+ order: 'asc' | 'desc';
118
+ }
119
+ interface SearchFilter {
120
+ f: string;
121
+ o: Operator;
122
+ v1: unknown;
123
+ v2?: unknown;
124
+ useNot?: boolean;
125
+ }
126
+ interface TableFilter {
127
+ table: string;
128
+ columnFilters: SearchFilter[];
129
+ }
130
+ declare enum Operator {
131
+ EQUAL = "eq",// equal
132
+ EEQUAL = "eeq",// exact equal
133
+ IN = "in",// match at least one of the provided values (value has to be an array)
134
+ GREATER_THAN = "gt",// greater than
135
+ GREATER_OR_EQUAL = "gte",// greater than or equal
136
+ LESS_THAN = "lt",// less than
137
+ LESS_OR_EQUAL = "lte",// less than or equal
138
+ INTERVAL = "gtlt",// interval
139
+ INTERVAL_INCLUDE_BOTH = "gtelte",// interval include left and right
140
+ INTERVAL_INCLUDE_TO = "gtlte",// interval include right
141
+ INTERVAL_INCLUDE_FROM = "gtelt",// interval include left
142
+ RANGE = "rg",// aggegation ranges
143
+ LIKE = "like",// like
144
+ CONTAINS = "contains"
145
+ }
146
+ declare const OperatorLabel: {
147
+ /** equal */
148
+ EQUAL: string;
149
+ /** exact equal */
150
+ EEQUAL: string;
151
+ /** match at least one of the provided values (value has to be an array) */
152
+ IN: string;
153
+ /** greater than */
154
+ GREATER_THAN: string;
155
+ /** greater than or equal */
156
+ GREATER_OR_EQUAL: string;
157
+ LESS_THAN: string;
158
+ LESS_OR_EQUAL: string;
159
+ INTERVAL: string;
160
+ INTERVAL_INCLUDE_BOTH: string;
161
+ INTERVAL_INCLUDE_TO: string;
162
+ INTERVAL_INCLUDE_FROM: string;
163
+ RANGE: string;
164
+ LIKE: string;
165
+ CONTAINS: string;
166
+ };
167
+ interface SearchResponse {
168
+ hasMoreItems: boolean;
169
+ numItems: number;
170
+ totalNumItems: number;
171
+ objects: CoreApiObject[];
172
+ }
173
+ /**
174
+ * Interface providing a search service
175
+ */
176
+ interface SearchResult {
177
+ hasMoreItems: boolean;
178
+ totalNumItems: number;
179
+ items: SearchResultItem[];
180
+ objectTypes: string[];
181
+ paging?: {
182
+ page: number;
183
+ totalPages: number;
184
+ };
185
+ }
186
+ /**
187
+ * Interface for the item of search results
188
+ */
189
+ interface SearchResultItem {
190
+ objectTypeId: string;
191
+ content?: SearchResultContent;
192
+ permissions?: SearchResultPermissions;
193
+ fields: Map<string, any>;
194
+ }
195
+ interface SearchResultPermissions {
196
+ read: Array<'metadata' | 'content'>;
197
+ write: Array<'metadata' | 'content'>;
198
+ delete: Array<'object' | 'content'>;
199
+ }
200
+ type SearchResultContent = ContentStream$1;
201
+ /**
202
+ * Interface providing the estimated result of the current query.
203
+ */
204
+ interface AggregateResult {
205
+ /**
206
+ * number of results found
207
+ */
208
+ totalNumItems: number;
209
+ aggregations: Aggregation[];
210
+ }
211
+ interface AggregationEntry {
212
+ key: string;
213
+ count: number;
214
+ }
215
+ /**
216
+ * Property of a one search query aggregation
217
+ */
218
+ interface Aggregation {
219
+ aggKey: string;
220
+ entries: AggregationEntry[];
221
+ }
222
+
223
+ /**
224
+ * `DmsObject` is a business object of a type that generally contain a document file in addition to its metadata.
225
+ * Document file can be text documents, e-mails, image files, video, etc.
226
+ * Each object type classifies the object and defines the properties that the object must have or is allowed to have.
227
+ */
228
+ declare class DmsObject {
229
+ #private;
230
+ id: string;
231
+ parentId: string;
232
+ content?: ContentStream$1;
233
+ data: Record<string, unknown>;
234
+ isFolder: boolean;
235
+ objectTypeId: string;
236
+ permissions?: DmsObjectPermissions;
237
+ version: number;
238
+ created: DmsObjectAuditInfo;
239
+ modified: DmsObjectAuditInfo;
240
+ sots: string[];
241
+ /**
242
+ * @ignore
243
+ */
244
+ constructor(searchResultItem: SearchResultItem);
245
+ }
246
+
247
+ interface FlavoredDmsObject {
248
+ object: DmsObject;
249
+ flavors: ObjectTypeFlavor[];
250
+ }
251
+ interface ObjectTypeFlavor {
252
+ id: string;
253
+ icon?: string;
254
+ svgIcon?: boolean;
255
+ sot: string;
256
+ applicableTo?: {
257
+ mimeTypes?: string[];
258
+ folders?: boolean;
259
+ documents?: boolean;
260
+ };
261
+ preventApply?: boolean;
262
+ preventRemove?: boolean;
263
+ }
264
+ /**
265
+ * Create flavors can be used to provide a specific way of creating objects.
266
+ */
267
+ interface ObjectCreateFlavor {
268
+ id: string;
269
+ descriptionKey?: string;
270
+ icon?: string;
271
+ withFileUpload?: {
272
+ applicableTo?: {
273
+ mimeTypes: string[];
274
+ };
275
+ multiple?: boolean;
276
+ };
277
+ sot?: string;
278
+ getCreateData?: (files?: File[]) => Record<string, unknown>;
279
+ afterCreate?: (ids: string[], router: Router) => void;
280
+ applyComponent?: Type<any>;
281
+ applyComponentDialogConfig?: {
282
+ width?: string;
283
+ height?: string;
284
+ minWidth?: number | string;
285
+ minHeight?: number | string;
286
+ maxWidth?: number | string;
287
+ maxHeight?: number | string;
288
+ };
289
+ }
290
+
291
+ /**
292
+ * Value class to be used with form elements that support ranges
293
+ */
294
+ interface RangeValue<T = unknown> {
295
+ operator: Operator;
296
+ firstValue: T;
297
+ secondValue?: T;
298
+ }
299
+
300
+ /**
301
+ * @ignore
302
+ */
303
+ declare class YuvError implements Error {
304
+ originalError: any | Error;
305
+ private _name?;
306
+ private _message?;
307
+ private _skipNotification;
308
+ get name(): any;
309
+ get message(): any;
310
+ get stack(): any;
311
+ get status(): any;
312
+ get url(): any;
313
+ get skipNotification(): boolean;
314
+ get isHttpErrorResponse(): any;
315
+ constructor(originalError: any | Error, _name?: string | undefined, _message?: string | undefined, _skipNotification?: boolean);
316
+ toString(): any;
317
+ }
318
+
319
+ /**
320
+ * Represents an entry in the organization set, which can be either a user or a role.
321
+ * Used in search results and organization entity queries.
322
+ */
323
+ interface OrganizationSetEntry {
324
+ /** The unique identifier of the user or role */
325
+ id: string;
326
+ /** The display title/name for the entry */
327
+ title: string;
328
+ /** The type of organization entity */
329
+ type: 'user' | 'role';
330
+ }
331
+
332
+ /**
333
+ * Represents the user data structure returned from the IDM API.
334
+ * Contains all essential user information including authentication and authorization details.
335
+ */
336
+ interface IdmUserResponse {
337
+ /** The unique username for login */
338
+ username: string;
339
+ /** The unique user identifier */
340
+ id: string;
341
+ /** The user's email address */
342
+ email: string;
343
+ /** The user's first name */
344
+ firstname: string;
345
+ /** The user's last name */
346
+ lastname: string;
347
+ /** Whether the user account is enabled/active */
348
+ enabled: boolean;
349
+ /** The tenant identifier this user belongs to */
350
+ tenant: string;
351
+ /** Array of granted authorities/permissions for the user */
352
+ authorities: string[];
353
+ /** The formatted display name for the user */
354
+ displayName: string;
355
+ }
356
+
357
+ /**
358
+ * Represents a cached user entry with expiration timestamp.
359
+ * Used internally by IdmService to manage user data caching.
360
+ */
361
+ interface IdmCachedUser {
362
+ /** Timestamp when the cache expires (Date.now() + TTL) */
363
+ expires: number;
364
+ /** The cached user data from the IDM API */
365
+ user: IdmUserResponse;
366
+ }
367
+
368
+ /**
369
+ * Dictionary/map structure for storing cached user data.
370
+ * Keys are user IDs and values are cached user entries with expiration.
371
+ */
372
+ interface IdmUserCache {
373
+ /** Map of user IDs to their cached user data */
374
+ [userId: string]: IdmCachedUser;
375
+ }
376
+
377
+ /**
378
+ * User account configuration
379
+ */
380
+ declare class YuvUser {
381
+ private DEFAULT_USER_LOCALE;
382
+ id: string;
383
+ username: string;
384
+ firstname: string;
385
+ lastname: string;
386
+ title: string;
387
+ email: string;
388
+ tenant: string;
389
+ authorities: string[];
390
+ enabled: boolean;
391
+ /**
392
+ * User settings
393
+ */
394
+ uiDirection?: string;
395
+ /**
396
+ * User settings
397
+ */
398
+ userSettings: UserSettings;
399
+ /**
400
+ * @ignore
401
+ */
402
+ constructor(json: IdmUserResponse, userSettings?: UserSettings);
403
+ /**
404
+ * Gets the users configured client locale
405
+ * @returns locale string
406
+ */
407
+ getClientLocale(fallback?: string): string;
408
+ getFullName(): string;
409
+ getDisplayNameName(): string;
410
+ }
411
+ /**
412
+ * Interface for user settings
413
+ */
414
+ interface UserSettings {
415
+ locale: string;
416
+ clientAppSettings?: Record<string, any>;
417
+ }
418
+
419
+ /**
420
+ * Is a part of `AuditQueryResult` interface
421
+ */
422
+ interface AuditEntry {
423
+ action: number;
424
+ actionGroup: number;
425
+ detail: string;
426
+ subaction?: number;
427
+ creationDate: Date;
428
+ version: number;
429
+ createdBy: {
430
+ id: string;
431
+ title: string;
432
+ };
433
+ more?: string;
434
+ }
435
+ /**
436
+ * Interface for a result object of a former audits query
437
+ */
438
+ interface AuditQueryResult {
439
+ /**
440
+ * the original query, needed for later on paging requests
441
+ */
442
+ query: SearchQuery;
443
+ items: AuditEntry[];
444
+ hasMoreItems: boolean;
445
+ /**
446
+ * the page of the current result (in case of multi-page results, otherwise 1)
447
+ */
448
+ page: number;
449
+ }
450
+ interface AuditQueryOptions {
451
+ /**
452
+ * List of actions (codes) to restricts the audits to
453
+ */
454
+ actions?: string[];
455
+ /**
456
+ * Actions that should explicitly NOT be fetched
457
+ */
458
+ skipActions?: number[];
459
+ /**
460
+ * Whether or not to query all audit entries, without the user
461
+ * or admin filter conditions
462
+ */
463
+ allActions?: boolean;
464
+ }
465
+
466
+ /**
467
+ * Service providing access to the systems audit entries. Audits can be seen as the history of
468
+ * an object. Actions perormed on an object (eg. read, write, delete, ...) will be recorded during
469
+ * the objects lifecycle. Audits are provided based on a users permissions. Beside the audit entries
470
+ * visible to regular users there are more technical ones that will only be shown to users that
471
+ * have administrative role.
472
+ */
473
+ declare class AuditService {
474
+ #private;
475
+ private DEFAULT_RES_SIZE;
476
+ private userAuditActions;
477
+ private adminAuditActions;
478
+ /**
479
+ * Get audit entries of a dms object
480
+ * @param id The id of the object to get the audit entries for
481
+ * @param options Options
482
+ */
483
+ getAuditEntries(id: string, options?: AuditQueryOptions): Observable<AuditQueryResult>;
484
+ /**
485
+ * Get an array of action codes that are provided by the service. Based on
486
+ * whether or not the user has admin permissions you'll get a different
487
+ * set of actions.
488
+ * @param skipActions codes of actions that should not be fetched
489
+ */
490
+ getAuditActions(allActions: boolean, skipActions?: number[]): number[];
491
+ /**
492
+ * Get a certain page for a former audits query.
493
+ * @param auditsResult The result object of a former audits query
494
+ * @param page The page to load
495
+ */
496
+ getPage(auditsResult: AuditQueryResult, page: number): Observable<AuditQueryResult>;
497
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuditService, never>;
498
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuditService>;
499
+ }
500
+
501
+ /**
502
+ * Result when calling loginDevice endpoint in cloud environment
503
+ * when using device flow
504
+ */
505
+ interface LoginDeviceResult {
506
+ user_code: string;
507
+ device_code: string;
508
+ interval: number;
509
+ verification_uri: string;
510
+ expires_in: number;
511
+ }
512
+ /**
513
+ * @ignore
514
+ */
515
+ interface StoredToken {
516
+ accessToken: string;
517
+ tenant: string;
518
+ }
519
+ /**
520
+ * State emitted by the login function when using the device flow
521
+ */
522
+ interface LoginState {
523
+ name: LoginStateName;
524
+ data: any;
525
+ }
526
+ declare enum LoginStateName {
527
+ STATE_LOGIN_URI = "login.uri",
528
+ STATE_DONE = "login.done",
529
+ STATE_CANCELED = "login.canceled"
530
+ }
531
+ interface YuvInitError {
532
+ status: number;
533
+ key: string;
534
+ }
535
+
536
+ /**
537
+ * Interface for the applications main config file
538
+ * @ignore
539
+ */
540
+ interface YuvConfig {
541
+ core: {
542
+ languages: YuvConfigLanguages[];
543
+ logging?: {
544
+ level: 'debug' | 'error' | 'warn' | 'info';
545
+ };
546
+ permissions?: {
547
+ retentionManagerRole?: string;
548
+ advancedUserRole?: string;
549
+ manageSettingsRole?: string;
550
+ };
551
+ };
552
+ location?: {
553
+ hostname?: string;
554
+ port?: number;
555
+ };
556
+ }
557
+ /**
558
+ * interface providing localization of application
559
+ */
560
+ interface YuvConfigLanguages {
561
+ iso: string;
562
+ label: string;
563
+ dir?: Direction;
564
+ fallback?: boolean;
565
+ }
566
+ declare enum Direction {
567
+ LTR = "ltr",
568
+ RTL = "rtl"
569
+ }
570
+
571
+ /**
572
+ * @ignore
573
+ */
574
+ declare class CoreConfig {
575
+ main?: YuvConfig | string[];
576
+ translations?: string[];
577
+ environment?: {
578
+ production: boolean;
579
+ };
580
+ constructor(__config: CoreConfig);
581
+ }
582
+
583
+ /**
584
+ * Service handling authentication related issues.
585
+ */
586
+ declare class AuthService {
587
+ #private;
588
+ coreConfig: CoreConfig;
589
+ authenticated$: Observable<boolean>;
590
+ initError?: YuvInitError;
591
+ constructor(coreConfig: CoreConfig);
592
+ isLoggedIn(): boolean;
593
+ /**
594
+ * Called while app/core is initialized (APP_INITIALIZER)
595
+ * @ignore
596
+ */
597
+ initUser(): Observable<YuvUser>;
598
+ /**
599
+ * Get the current tenant or the previous one persisted locally
600
+ */
601
+ getTenant(): string;
602
+ /**
603
+ * Fetch information about the user currently logged in
604
+ */
605
+ fetchUser(): Observable<YuvUser>;
606
+ /**
607
+ * Logs out the current user.
608
+ */
609
+ logout(): void;
610
+ /**
611
+ * Persists the initial request URI. This is nessesary to be able to
612
+ * redirect the user to the requested page after authentication.
613
+ * This is done on app initialization (core-init).
614
+ */
615
+ setInitialRequestUri(): Observable<boolean>;
616
+ /**
617
+ * Get the URL that entered the app. May be a deep link that could then be
618
+ * picked up again after user has been authenticated.
619
+ */
620
+ getInitialRequestUri(): Observable<{
621
+ uri: string;
622
+ timestamp: number;
623
+ }>;
624
+ resetInitialRequestUri(): Observable<any>;
625
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
626
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
627
+ }
628
+ interface AuthData {
629
+ tenant: string;
630
+ language: string;
631
+ }
632
+
633
+ declare enum ApiBase {
634
+ core = "api",
635
+ apiWeb = "api-web/api",
636
+ predict = "predict-api/api",
637
+ custom = "custom",
638
+ none = ""
639
+ }
640
+
641
+ /**
642
+ * HttpOptions for http request
643
+ * @param observe: 'body' | 'events' | 'response'
644
+ * @param responseType: 'arraybuffer' | 'blob' | 'json' | 'text'
645
+ */
646
+ interface HttpOptions {
647
+ headers?: HttpHeaders | {
648
+ [header: string]: string | string[];
649
+ };
650
+ observe?: any;
651
+ params?: HttpParams | {
652
+ [param: string]: string | string[];
653
+ };
654
+ reportProgress?: boolean;
655
+ responseType?: any;
656
+ withCredentials?: boolean;
657
+ }
658
+ interface HttpDeleteOptions extends HttpOptions {
659
+ body?: any;
660
+ }
661
+
662
+ /**
663
+ * Load and provide configuration for hole apllication while application is inizialized.
664
+ */
665
+ declare class ConfigService {
666
+ private translate;
667
+ static GLOBAL_RESOURCES: string;
668
+ static PARSER(c: any): any;
669
+ static GLOBAL_MAIN_CONFIG(prefix?: 'system' | 'admin' | ''): string;
670
+ static GLOBAL_MAIN_CONFIG_LANG(iso?: string, prefix?: 'system' | 'admin' | ''): string;
671
+ static GLOBAL_RESOURCES_PATH(section?: string, prefix?: 'system' | 'admin' | ''): string;
672
+ private cfg?;
673
+ /**
674
+ * Set during app init (see CoreInit)
675
+ * @ignore
676
+ */
677
+ set(cfg: YuvConfig): void;
678
+ get(configKey: string): any;
679
+ extendTranslations(translations: any, lang?: string): void;
680
+ extendConfig(configs: YuvConfig[]): void;
681
+ private _mergeConfigs;
682
+ /**
683
+ * Getter for the available client locales
684
+ * @returns available client locales
685
+ */
686
+ getClientLocales(): YuvConfigLanguages[];
687
+ getApiBase(api?: string, origin?: boolean): string;
688
+ /**
689
+ * Get the default client locale
690
+ * @returns ISO string of the locale
691
+ */
692
+ getDefaultClientLocale(): string;
693
+ private _getCoreConfig;
694
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
695
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
696
+ }
697
+
698
+ /**
699
+ * Service for HTTP communication with the yuuvis Momentum backend.
700
+ *
701
+ * This service wraps Angular's HttpClient and provides:
702
+ * - Automatic base URI management for different backend services
703
+ * - Centralized header management (authorization, content-type, etc.)
704
+ * - Response caching with configurable TTL
705
+ * - HTTP activity tracking for session management
706
+ * - Standardized error handling and logging
707
+ *
708
+ * **Why Use This Service:**
709
+ * Applications should use BackendService instead of HttpClient directly because
710
+ * required headers (authentication, content-type) are automatically managed,
711
+ * and apps don't have to handle backend URL construction and prerequisites.
712
+ *
713
+ * **HTTP Activity Tracking:**
714
+ * All HTTP requests emit events via `httpCommunicationOccurred$`, which is used by
715
+ * SessionService and other consumers to detect user activity and keep sessions alive.
716
+ *
717
+ * @see {@link SessionService} for session management integration (Task HAR-2975)
718
+ */
719
+ declare class BackendService {
720
+ #private;
721
+ configService: ConfigService;
722
+ httpCommunicationOccurred$: Observable<void>;
723
+ /**
724
+ * OpenIdConnect authorization headers
725
+ */
726
+ getAuthHeaders(): HttpHeaders;
727
+ /**
728
+ * Add a new header.
729
+ * @param key The headers name
730
+ * @param value The value to be added to the headers. Setting this to null
731
+ * will remove the header
732
+ */
733
+ setHeader(key: string, value: string): void;
734
+ /**
735
+ * Performs an HTTP GET request against a yuuvis Momentum backend endpoint.
736
+ *
737
+ * Automatically prepends the resolved base URI (via {@link getApiBase}) to the given `uri`,
738
+ * applies centralized headers (authorization, content-type) and emits an event on
739
+ * `httpCommunicationOccurred$` after each successful response — used by SessionService
740
+ * to keep the session alive.
741
+ *
742
+ * @param uri REST URI relative to the selected backend service base. Must start with `/`,
743
+ * e.g. `/api/dms/objects/{objectId}`.
744
+ * @param base Selects which backend service base URL to use.
745
+ * @param requestOptions Optional Angular `HttpClient` options (headers, params, responseType, etc.)
746
+ * merged on top of the default headers set by this service.
747
+ * @returns An `Observable<T>` that emits the deserialized response body and completes.
748
+ * Unsubscribing before completion cancels the underlying HTTP request.
749
+ */
750
+ get<T = any>(uri: string, base?: string, requestOptions?: HttpOptions): Observable<T>;
751
+ /**
752
+ * Wrapped HTTP POST method
753
+ * @param uri The target REST URI
754
+ * @param data Data to be 'posted'
755
+ * @param base The Base URI (backend service) to be used
756
+ * @param requestOptions Additional request options
757
+ * @returns The return value of the target POST endpoint
758
+ */
759
+ post<T = any>(uri: string, data?: any, base?: string, requestOptions?: HttpOptions): Observable<T>;
760
+ /**
761
+ * Performs a multipart form data POST request.
762
+ * @param uri The target REST URI
763
+ * @param formData FormData to be 'posted'
764
+ * @param base The Base URI (backend service) to be used
765
+ * @param requestOptions Additional request options (see HttpRequest for details)
766
+ * @returns The return value of the target POST endpoint
767
+ */
768
+ postMultiPart(uri: string, formData: FormData, base?: string, requestOptions?: any): Observable<any>;
769
+ /**
770
+ * Wrapped HTTP PATCH method
771
+ * @param uri The target REST URI
772
+ * @param data Data to be 'patched'
773
+ * @param base The Base URI (backend service) to be used
774
+ * @param requestOptions Additional request options
775
+ * @returns The return value of the target PATCH endpoint
776
+ */
777
+ patch<T = any>(uri: string, data?: any, base?: string, requestOptions?: HttpOptions): Observable<T>;
778
+ /**
779
+ * Wrapped HTTP PUT method
780
+ * @param uri The target REST URI
781
+ * @param data Data to be 'posted'
782
+ * @param base The Base URI (backend service) to be used
783
+ * @param requestOptions Additional request options
784
+ * @returns The return value of the target PUT endpoint
785
+ */
786
+ put<T = any>(uri: string, data?: any, base?: string, requestOptions?: HttpOptions): Observable<T>;
787
+ /**
788
+ * Wrapped HTTP DELETE method
789
+ * @param uri The target REST URI
790
+ * @param base The Base URI (backend service) to be used
791
+ * @param requestOptions Additional request options
792
+ * @returns The return value of the target DELETE endpoint
793
+ */
794
+ delete<T = any>(uri: string, base?: string, requestOptions?: HttpDeleteOptions): Observable<T>;
795
+ /**
796
+ * @ignore
797
+ * Cache for small requests like icons and configs
798
+ *
799
+ * @param string uri
800
+ * @returns Observable<any>
801
+ */
802
+ getViaCache(uri: string): Observable<any>;
803
+ /**
804
+ * @ignore
805
+ * Temporary Cache for multiple identical requests
806
+ *
807
+ * @param string id
808
+ * @param Function request
809
+ * @returns Observable<any>
810
+ */
811
+ getViaTempCache(id: string, request?: () => Observable<object>): Observable<any>;
812
+ download(uri: string, filename?: string): void;
813
+ /**
814
+ * Gets the base URI for an API endpoint
815
+ * @param api The API to get the base URI for. Leaving this blank will return
816
+ * base URI for the web API
817
+ * @param origin The flag to include location origin
818
+ * @returns Base URI for the given API.
819
+ */
820
+ getApiBase(api?: string, origin?: boolean): string;
821
+ /**
822
+ * @ignore
823
+ */
824
+ getHttpOptions(requestOptions?: HttpOptions): HttpOptions;
825
+ /**
826
+ * Batch service
827
+ */
828
+ batch(requests: {
829
+ method?: string;
830
+ uri: string;
831
+ body?: any;
832
+ base?: string;
833
+ requestOptions?: HttpOptions;
834
+ }[]): Observable<any[]>;
835
+ static ɵfac: i0.ɵɵFactoryDeclaration<BackendService, never>;
836
+ static ɵprov: i0.ɵɵInjectableDeclaration<BackendService>;
837
+ }
838
+
839
+ declare const ProcessAction: {
840
+ complete: string;
841
+ claim: string;
842
+ delegate: string;
843
+ resolve: string;
844
+ save: string;
845
+ };
846
+ interface Process {
847
+ id: string;
848
+ attachments: string[];
849
+ businessKey: string;
850
+ deleteReason: string;
851
+ durationInMillis: number;
852
+ endActivityId: string;
853
+ endTime: Date;
854
+ initiator: ProcessUser;
855
+ name: string;
856
+ processDefinition: {
857
+ description: string;
858
+ id: string;
859
+ idPrefix: string;
860
+ name: string;
861
+ };
862
+ startActivityId: string;
863
+ startTime: Date;
864
+ startUserId: string;
865
+ suspended?: boolean;
866
+ variables: ProcessVariable[];
867
+ }
868
+ interface ProcessCreatePayload extends ProcessPostPayload {
869
+ processDefinitionKey: string;
870
+ name?: string;
871
+ businessKey?: string;
872
+ returnVariables?: boolean;
873
+ }
874
+ interface ProcessPostPayload {
875
+ variables?: ProcessVariable[];
876
+ attachments?: string[];
877
+ subject?: string;
878
+ }
879
+ interface ProcessVariable {
880
+ name: string;
881
+ type?: string;
882
+ value: any;
883
+ readonly?: boolean;
884
+ scope?: string;
885
+ }
886
+ /**
887
+ * Tasks are basically activities defined by a process.
888
+ * Processes may contain several tasks.
889
+ */
890
+ interface InboxTask {
891
+ id: string;
892
+ processInstanceId: string;
893
+ assignee: ProcessUser;
894
+ claimTime: Date;
895
+ createTime: Date;
896
+ dueDate: Date;
897
+ description: string;
898
+ delegationState?: string;
899
+ formKey: string;
900
+ initiator: ProcessUser;
901
+ name: string;
902
+ owner: ProcessUser;
903
+ parentTaskId: string;
904
+ processDefinition: {
905
+ id: string;
906
+ idPrefix: string;
907
+ };
908
+ subject: string;
909
+ suspended: false;
910
+ variables: ProcessVariable[];
911
+ resolvedValues?: {
912
+ [id: string]: string;
913
+ };
914
+ attachments: string[];
915
+ }
916
+ interface ProcessUser {
917
+ id: string;
918
+ title: string;
919
+ }
920
+ interface FetchTaskOptions {
921
+ businessKey?: string;
922
+ includeProcessVar?: boolean;
923
+ isCompleted?: boolean;
924
+ processDefinitionKey?: string;
925
+ }
926
+
927
+ declare class BpmService {
928
+ #private;
929
+ startProcess(payload: ProcessCreatePayload): Observable<any>;
930
+ /**
931
+ * Finsihes a task.
932
+ * @param taskId ID of the taks to finish
933
+ * @param payload Data to be send with the complete request (may contain attachments, a new subject or variables)
934
+ */
935
+ completeTask(taskId: string, payload?: ProcessPostPayload): Observable<any>;
936
+ updateTask(taskId: string, payload?: ProcessPostPayload): Observable<any>;
937
+ getProcessPoll(): Observable<any>;
938
+ getProcessInstance(processDefinitionKey: string, options?: FetchTaskOptions): Observable<Process>;
939
+ deleteProcess(processInstanceId: string): Observable<any>;
940
+ static ɵfac: i0.ɵɵFactoryDeclaration<BpmService, never>;
941
+ static ɵprov: i0.ɵɵInjectableDeclaration<BpmService>;
942
+ }
943
+
944
+ /**
945
+ * Service for saving or caching data on the users device. It uses the most efficient storage
946
+ * available (IndexDB, localstorage, ...) on the device. Depending on the type of storage used,
947
+ * its limitations apply.
948
+ */
949
+ declare class AppCacheService {
950
+ #private;
951
+ /**
952
+ * Set item in storage.
953
+ * @param key The key under which the value is stored.
954
+ * @param value The value to store.
955
+ * @returns An Observable that emits true when the operation is successful.
956
+ */
957
+ setItem<T = any>(key: string, value: T): Observable<boolean>;
958
+ /**
959
+ * Get item from storage.
960
+ * @param key The key of the item to retrieve.
961
+ * @returns An Observable that emits the retrieved value.
962
+ */
963
+ getItem<T = any>(key: string): Observable<T>;
964
+ /**
965
+ * Remove item from storage.
966
+ * @param key The key of the item to remove.
967
+ * @returns An Observable that emits true when the operation is successful.
968
+ */
969
+ removeItem(key: string): Observable<boolean>;
970
+ /**
971
+ * Clear storage, optionally filtered by a function.
972
+ * @param filter A function to filter which keys to clear.
973
+ * @returns An Observable that emits true when the operation is successful.
974
+ */
975
+ clear(filter?: (key: any) => boolean): Observable<boolean>;
976
+ /**
977
+ * Get all storage keys.
978
+ * @returns An Observable that emits an array of all storage keys.
979
+ */
980
+ getStorageKeys(): Observable<string[]>;
981
+ setStorage(options: any): Observable<any>;
982
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppCacheService, never>;
983
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppCacheService>;
984
+ }
985
+
986
+ interface BaseCatalog {
987
+ entries: CatalogEntry[];
988
+ readonly?: boolean;
989
+ }
990
+ interface Catalog extends BaseCatalog {
991
+ qname: string;
992
+ tenant?: string;
993
+ }
994
+ interface CatalogEntry {
995
+ name: string;
996
+ disabled?: boolean;
997
+ }
998
+
999
+ declare class CatalogService {
1000
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService, never>;
1001
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService>;
1002
+ }
1003
+
1004
+ interface CacheEntry<T> {
1005
+ expires?: number;
1006
+ id: string;
1007
+ data: T;
1008
+ }
1009
+
1010
+ /**
1011
+ * Service for client-side caching of data with expiry handling.
1012
+ * Provides methods to get, update, and invalidate cache entries.
1013
+ */
1014
+ declare class ClientCacheService {
1015
+ #private;
1016
+ /**
1017
+ * Get cached entry by ID.
1018
+ * @param id The ID of the cache entry.
1019
+ * @param keepIfExpired Whether to return/keep the entry even if it is expired.
1020
+ * @returns The cached data or null if not found/expired.
1021
+ */
1022
+ getFromCache<T>(id: string, keepIfExpired?: boolean): Observable<T | null>;
1023
+ /**
1024
+ * Update or add cache entry.
1025
+ * @param id The ID of the cache entry.
1026
+ * @param data The data to cache.
1027
+ * @param ttl TimeToLeave - The cache expiry time in milliseconds (how long to keep the cache entry valid).
1028
+ */
1029
+ updateCache<T>(id: string, data: T, ttl?: number): Observable<CacheEntry<T>>;
1030
+ /**
1031
+ * Invalidate cache entry by ID. This will remove the entry from the cache.
1032
+ * @param id The ID of the cache entry to invalidate.
1033
+ */
1034
+ invalidateCache(id: string): Observable<boolean>;
1035
+ /**
1036
+ * Clear all client cache entries.
1037
+ */
1038
+ clear(): Observable<boolean>;
1039
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClientCacheService, never>;
1040
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClientCacheService>;
1041
+ }
1042
+
1043
+ interface ClipboardStore {
1044
+ buckets?: Record<string, ClipboardData>;
1045
+ main?: ClipboardData;
1046
+ }
1047
+ interface ClipboardData {
1048
+ mode?: ClipboardDataMode;
1049
+ files?: File[];
1050
+ objects?: DmsObject[];
1051
+ }
1052
+ type ClipboardDataMode = 'copy' | 'cut';
1053
+
1054
+ declare class ClipboardService {
1055
+ #private;
1056
+ clipboard(bucket?: string): Signal<ClipboardData | undefined>;
1057
+ clipboard$(bucket?: string): Observable<ClipboardData | undefined>;
1058
+ paste$(bucket?: string): Observable<ClipboardData>;
1059
+ getClipboardData(bucket?: string): ClipboardData | undefined;
1060
+ /**
1061
+ * Add objects to the clipboard
1062
+ * @param bucket Buckets are ways to separate data from the global scope.
1063
+ * If you have an app that would like to have a separate section in the clipboard
1064
+ * you'll use a unique bucket to store your stuff. When observing chages to the
1065
+ * clipboard you couls as well provide the bucket and you will only get
1066
+ */
1067
+ addObjects(objects: DmsObject[], mode: ClipboardDataMode, bucket?: string): void;
1068
+ clear(bucket?: string): void;
1069
+ addToNavigatorClipBoard(data: string): Promise<void>;
1070
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, never>;
1071
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
1072
+ }
1073
+
1074
+ /**
1075
+ * @ignore
1076
+ */
1077
+ declare const CUSTOM_CONFIG: InjectionToken<CoreConfig>;
1078
+ declare const CORE_CONFIG: InjectionToken<CoreConfig>;
1079
+
1080
+ /**
1081
+ * Service to monitor the online/offline state of the application.
1082
+ * It listens to the browser's online and offline events and provides an observable
1083
+ * to track the current connection state.
1084
+ *
1085
+ * An observable `connection$` is provided which emits the current connection state
1086
+ * whenever the online or offline state changes. The initial state is determined by
1087
+ * the `window.navigator.onLine` property.
1088
+ */
1089
+ declare class ConnectionService {
1090
+ private currentState;
1091
+ private connectionStateSource;
1092
+ connection$: Observable<ConnectionState>;
1093
+ /**
1094
+ * @ignore
1095
+ */
1096
+ constructor();
1097
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionService, never>;
1098
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionService>;
1099
+ }
1100
+ /**
1101
+ * Check a connection state of a client
1102
+ */
1103
+ interface ConnectionState {
1104
+ /**
1105
+ * whether or not the application is online.
1106
+ */
1107
+ isOnline: boolean;
1108
+ }
1109
+
1110
+ /**
1111
+ * Providing functions,that are are injected at application startup and executed during app initialization.
1112
+ */
1113
+ declare const init_moduleFnc: () => rxjs.Observable<boolean | _yuuvis_client_core.YuvUser | YuvConfig[]>;
1114
+
1115
+ declare enum DeviceScreenOrientation {
1116
+ PORTRAIT = "portrait",
1117
+ LANDSCAPE = "landscape"
1118
+ }
1119
+ interface DeviceScreen {
1120
+ size: ScreenSize;
1121
+ orientation: DeviceScreenOrientation;
1122
+ width: number;
1123
+ height: number;
1124
+ }
1125
+ interface DeviceScreenBounds {
1126
+ width: number;
1127
+ height: number;
1128
+ }
1129
+ type ScreenSize = 's' | 'm' | 'l' | 'xl';
1130
+
1131
+ /**
1132
+ * @deprecated This service is deprecated. Please use the DeviceService from the `@yuuvis/material` package instead.
1133
+ *
1134
+ * This service is used to adapt styles and designs of the client to
1135
+ * different devices and screen sizes.
1136
+ *
1137
+ * Using `screenChange$` observable you are able to monitor changes to
1138
+ * the screen size and act upon it.
1139
+ *
1140
+ * This service will also adds attributes to the body tag that reflect the
1141
+ * current screen/device state. This way you can apply secific styles in your
1142
+ * css files for different screen resolutions and orientations.
1143
+ *
1144
+ * Attributes applied to the body tag are:
1145
+ *
1146
+ * - `data-screen` - [s, m, l, xl] - for different screen sizes
1147
+ * (s: for mobile phone like screen sizes, m: for tablet like screen
1148
+ * sizes, 'l': for desktop like screen sizes, 'xl': for screen sizes exceeding
1149
+ * the desktop screen size).
1150
+ *
1151
+ * - `data-orientation` - [portrait, landscape] - for the current screen orientation
1152
+ *
1153
+ * - `data-touch-enabled` - [true] - if the device has touch capabilities (won't be added if the device doesn't have touch capabilities)
1154
+ *
1155
+ * ```html
1156
+ * <body data-screen-size="s" data-screen-orientation="portrait" data-touch-enabled="true">
1157
+ * ...
1158
+ * </body>
1159
+ * ```
1160
+ */
1161
+ declare class DeviceService {
1162
+ #private;
1163
+ screenChange$: Observable<DeviceScreen>;
1164
+ /**
1165
+ * Signal to indicate if the screen size is small (e.g. mobile phone).
1166
+ * This will only be triggered if `supportsSmallScreens` is set to true.
1167
+ * Major components will use this metric to adapt to 'small screen behavior' and so can you
1168
+ */
1169
+ smallScreenLayout: i0.WritableSignal<boolean>;
1170
+ /**
1171
+ * if the device is a mobile device (android / iPhone / windows-phone etc)
1172
+ */
1173
+ isMobile: boolean;
1174
+ /**
1175
+ * if the device us a tablet (iPad etc)
1176
+ */
1177
+ isTablet: boolean;
1178
+ /**
1179
+ * if the app is running on a Desktop browser
1180
+ */
1181
+ isDesktop: boolean;
1182
+ info?: DeviceInfo;
1183
+ isTouchEnabled: boolean;
1184
+ constructor();
1185
+ init(supportsSmallScreens?: boolean): void;
1186
+ static ɵfac: i0.ɵɵFactoryDeclaration<DeviceService, never>;
1187
+ static ɵprov: i0.ɵɵInjectableDeclaration<DeviceService>;
1188
+ }
1189
+
1190
+ interface FileUploadOptions {
1191
+ label?: string;
1192
+ silent?: boolean;
1193
+ scope?: string;
1194
+ }
1195
+
1196
+ /**
1197
+ * Service for working with dms objects: create them, delete, etc.
1198
+ */
1199
+ declare class DmsService {
1200
+ #private;
1201
+ /**
1202
+ * Create new dms object(s). Providing an array of files here instead of one will create
1203
+ * a new dms object for every file. In this case indexdata will shared across all files.
1204
+ * @param objectTypeId The ID of the object type to be created
1205
+ * @param indexdata Indexdata for the new object(s)
1206
+ * @param files File(s) to create dms objects content(s) with
1207
+ * @param label A label that will show up in the upload overlay dialog while uploading
1208
+ *
1209
+ * @returns Array of IDs of the objects that have been created
1210
+ */
1211
+ createDmsObject(objectTypeId: string, indexdata: any, files: File[], label?: string, silent?: boolean, options?: ObjectOptions): Observable<string[]>;
1212
+ /**
1213
+ * Delete a dms object.
1214
+ * @param id ID of the object to be deleted
1215
+ */
1216
+ deleteDmsObject(id: string, silent?: boolean): Observable<any>;
1217
+ /**
1218
+ * Restore older version of a dms object.
1219
+ * @param id ID of the object to be restored
1220
+ * @param version version of the object to be restored
1221
+ */
1222
+ restoreDmsObject(id: string, version: number, silent?: boolean): Observable<any>;
1223
+ /**
1224
+ * Upload (add/replace) content to a dms object.
1225
+ * @param objectId ID of the dms object to upload the file to
1226
+ * @param file The file to be uploaded
1227
+ * @param label A label that will show up in the upload overlay dialog while uploading
1228
+ *
1229
+ * @deprecated use uploadFileContent instead. Provide label and silent through `options`
1230
+ */
1231
+ uploadContent(objectId: string, file: File, label?: string, silent?: boolean): Observable<any>;
1232
+ /**
1233
+ * Uploads a file as the content of an existing DMS object, replacing or setting its content stream.
1234
+ *
1235
+ * This is the preferred alternative to the legacy `uploadContent()` method. It accepts a typed
1236
+ * `FileUploadOptions` object instead of individual parameters, which enables full control over
1237
+ * the upload label, silent mode, and scope-based progress visibility.
1238
+ *
1239
+ * After a successful upload, a `DMS_OBJECT_UPDATED` event is triggered automatically so that
1240
+ * any subscribed parts of the application can react to the change (e.g. refreshing a preview).
1241
+ *
1242
+ * **Behavior:**
1243
+ * - Targets the content endpoint of the given DMS object: `/dms/objects/{objectId}/contents/file`
1244
+ * - `options.label` is shown in the upload progress indicator; falls back to `file.name` if omitted
1245
+ * - If `options.silent` is `true`, the upload runs in the background with no UI feedback
1246
+ * and no `DMS_OBJECT_UPDATED` event is emitted
1247
+ * - `options.scope` tags the upload so that only the `UploadProgressComponent` instance
1248
+ * configured with the same scope will display progress for this upload
1249
+ *
1250
+ * @param objectId - ID of the DMS object whose content should be uploaded or replaced
1251
+ * @param file - The `File` object to upload as the new content stream
1252
+ * @param options - Upload configuration: label, silent mode, and optional scope
1253
+ * @returns An `Observable` that emits the updated DMS object on completion
1254
+ *
1255
+ * @example
1256
+ * ```typescript
1257
+ * // Replace content with a visible progress indicator
1258
+ * this.dmsService.uploadFileContent(objectId, file, { label: 'Uploading contract.pdf' }).subscribe();
1259
+ *
1260
+ * // Silent replacement (no UI feedback, no event emitted)
1261
+ * this.dmsService.uploadFileContent(objectId, file, { label: 'report.pdf', silent: true }).subscribe();
1262
+ *
1263
+ * // Scoped upload — only UploadProgressComponent with scope 'detail-panel' will show this
1264
+ * this.dmsService
1265
+ * .uploadFileContent(objectId, file, { label: 'photo.jpg', scope: 'detail-panel' })
1266
+ * .subscribe();
1267
+ * ```
1268
+ */
1269
+ uploadFileContent(objectId: string, file: File, options: FileUploadOptions): Observable<unknown>;
1270
+ /**
1271
+ * Path of dms object content file.
1272
+ * @param objectId ID of the dms object
1273
+ * @param version version number of the dms object
1274
+ */
1275
+ getContentPath(objectId: string, version?: number): string;
1276
+ /**
1277
+ * Original API Path of dms object content file.
1278
+ * @param objectId ID of the dms object
1279
+ * @param version version number of the dms object
1280
+ * @param rendition should return rendition path of the dms object
1281
+ */
1282
+ getFullContentPath(objectId: string, version?: number, rendition?: boolean): string;
1283
+ getSlideURI(objectId: string, mimeType?: string): string | undefined;
1284
+ /**
1285
+ * Downloads the content of dms objects.
1286
+ *
1287
+ * @param DmsObject[] dmsObjects Array of dms objects to be downloaded
1288
+ * @param withVersion should download specific version of the object
1289
+ */
1290
+ downloadContent(objects: DmsObject[], withVersion?: boolean): void;
1291
+ /**
1292
+ * Fetch a dms object.
1293
+ * @param id ID of the object to be retrieved
1294
+ * @param version Desired version of the object
1295
+ */
1296
+ getDmsObject(id: string, version?: number, silent?: boolean, requestOptions?: HttpOptions): Observable<DmsObject>;
1297
+ /**
1298
+ * Get tags of a dms object.
1299
+ * @param objectData Data field of the dms object
1300
+ */
1301
+ getDmsObjectTags(objectData: Record<string, unknown>): DmsObjectTag[];
1302
+ /**
1303
+ * Updates a tag on a dms object.
1304
+ * @param id The ID of the object
1305
+ * @param tag The tag to be updated
1306
+ * @param value The tags new value
1307
+ */
1308
+ setDmsObjectTag(id: string, tag: string, value: any, silent?: boolean): Observable<any>;
1309
+ /**
1310
+ * Deletes a tag from a dms object.
1311
+ * @param id The ID of the object
1312
+ * @param tag The tag to be deleted
1313
+ */
1314
+ deleteDmsObjectTag(id: string, tag: string, silent?: boolean): Observable<any>;
1315
+ /**
1316
+ * Update indexdata of a dms object.
1317
+ * @param id ID of the object to apply the data to
1318
+ * @param data Indexdata to be applied
1319
+ * @param silent flag to trigger DMS_OBJECT_UPDATED event
1320
+ */
1321
+ updateDmsObject(id: string, data: any, silent?: boolean, options?: ObjectOptions): Observable<DmsObject>;
1322
+ /**
1323
+ * Updates given objects.
1324
+ * @param objects the objects to updated
1325
+ */
1326
+ updateDmsObjects(objects: {
1327
+ id: string;
1328
+ data: {
1329
+ [key: string]: any;
1330
+ };
1331
+ }[], silent?: boolean, options?: ObjectOptions): Observable<DmsObject[]>;
1332
+ /**
1333
+ * Updates a tag on a dms object.
1334
+ * @param ids List of IDs of objects
1335
+ * @param tag The tag to be updated
1336
+ * @param value The tags new value
1337
+ */
1338
+ updateDmsObjectsTag(ids: string[], tag: string, value: any, silent?: boolean): Observable<any>;
1339
+ /**
1340
+ * Moves given objects to a different folder.
1341
+ * @param folderId the id of the new parent folder
1342
+ * @param objects objects to be moved
1343
+ * @param options options for the move operation
1344
+ */
1345
+ moveDmsObjects(targetFolderId: string | null, objects: DmsObject[], options?: ObjectMoveOptions): Observable<any>;
1346
+ /**
1347
+ * Copy given objects to a different folder. The objects will be copied with their indexdata referencing
1348
+ * the existing content of the source object.
1349
+ * @param targetFolderId The ID of the target folder
1350
+ * @param objects The objects to be copied
1351
+ * @param options options for the copy operation
1352
+ */
1353
+ copyDmsObjects(targetFolderId: string | null, objects: DmsObject[], options?: ObjectCopyOptions): Observable<CoreApiResponse>;
1354
+ /**
1355
+ * Get a bunch of dms objects.
1356
+ * @param ids List of IDs of objects to be retrieved
1357
+ */
1358
+ getDmsObjects(ids: string[], silent?: boolean): Observable<DmsObject[]>;
1359
+ /**
1360
+ * Delete a bunch of dms objects.
1361
+ * @param ids List of IDs of objects to be deleted
1362
+ * @param options Options for the delete operation
1363
+ * @returns Array of delete results.
1364
+ */
1365
+ deleteDmsObjects(objects: string[] | {
1366
+ id: string;
1367
+ subject: string;
1368
+ }[], options?: ObjectDeleteOptions): Observable<ObjectDeleteResult[]>;
1369
+ /**
1370
+ * Fetch a dms object versions.
1371
+ * @param id ID of the object to be retrieved
1372
+ */
1373
+ getDmsObjectVersions(id: string): Observable<DmsObject[]>;
1374
+ getDmsObjectVersion(id: string, version: number): Observable<DmsObject>;
1375
+ coreApiResponseToDmsObject(res: CoreApiResponse): DmsObject;
1376
+ /**
1377
+ * Transforms a plain data object to a DmsObject.
1378
+ * @param data The plain data object
1379
+ * @returns DmsObject
1380
+ */
1381
+ toDmsObject(data: Record<string, unknown>): DmsObject;
1382
+ batchUpdateTag(ids: string[], tag: string, value: any): Observable<any[]>;
1383
+ batchDeleteTag(ids: string[], tag: string): Observable<any[]>;
1384
+ batchDelete(ids: string[]): Observable<any[]>;
1385
+ batchGet(ids: string[]): Observable<any[]>;
1386
+ /**
1387
+ * Map search result from the backend to applications SearchResult object
1388
+ * @param searchResponse The backend response
1389
+ */
1390
+ toSearchResult(searchResponse: SearchResponse): SearchResult;
1391
+ private triggerEvent;
1392
+ static ɵfac: i0.ɵɵFactoryDeclaration<DmsService, never>;
1393
+ static ɵprov: i0.ɵɵInjectableDeclaration<DmsService>;
1394
+ }
1395
+
1396
+ /**
1397
+ * Triggerable and Subscribable events
1398
+ * 1 & T creates an intersection of the literal type 1 and type T, this results in never since nothing can be both 1 and string except for any.
1399
+ * 0 dose not extends never or 1, so if T is any, the condition resolves to true.
1400
+ */
1401
+ type IsAny<T> = 0 extends 1 & T ? true : false;
1402
+ interface YuvEvent<D = any> {
1403
+ /**
1404
+ * type
1405
+ */
1406
+ type: string;
1407
+ /**
1408
+ * data to be passed along with the event if T is 'any' data is optional
1409
+ */
1410
+ data: IsAny<D> extends true ? D | undefined : D;
1411
+ }
1412
+ /**
1413
+ * Mandatory Custom event prefix for all custom YUV events
1414
+ */
1415
+ declare const CUSTOM_YUV_EVENT_PREFIX = "yuv.";
1416
+ /**
1417
+ * Message event interface for postMessage events
1418
+ */
1419
+ interface YuvMessage {
1420
+ type: string;
1421
+ data: any;
1422
+ timestamp: number;
1423
+ source: string;
1424
+ }
1425
+ /**
1426
+ * Generic call-signature for triggering events.
1427
+ * - If `T` is `string`, the `type` parameter will be that string literal type.
1428
+ * - If `T` is `any`, the `data` parameter will be optional.
1429
+ * - Otherwise `data` is required.
1430
+ */
1431
+ type Trigger = <T = any>(type: T extends string ? T : string, ...data: IsAny<T> extends true ? [data?: T] : [data: T]) => void;
1432
+
1433
+ /**
1434
+ * Service for providing triggered events
1435
+ */
1436
+ declare class EventService {
1437
+ #private;
1438
+ event$: Observable<YuvEvent>;
1439
+ constructor();
1440
+ /**
1441
+ * Triggers a postMessage event that will be sent to the yuuvis global event Trigger
1442
+ * @param type Type/key of the event
1443
+ * @param data Data to be sent along with the event
1444
+ */
1445
+ triggerPostMessageEvent(type: string, data?: any): void;
1446
+ /**
1447
+ * Trigger an global event
1448
+ * @param type Type/key of the event
1449
+ * @param data Data to be send along with the event
1450
+ */
1451
+ trigger<T extends string = any, D = any>(type: IsAny<T> extends true ? string : T, ...args: IsAny<D> extends true ? [data?: D] : [data: D]): void;
1452
+ /**
1453
+ * Listen on a triggered event
1454
+ * @param types Type/key of the event
1455
+ */
1456
+ on<T extends string = any, D = any>(...types: (IsAny<T> extends true ? string : T)[]): Observable<YuvEvent<D>>;
1457
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventService, never>;
1458
+ static ɵprov: i0.ɵɵInjectableDeclaration<EventService>;
1459
+ }
1460
+
1461
+ /**
1462
+ * Events emitted by parts of the application
1463
+ */
1464
+ declare enum YuvEventType {
1465
+ LOGOUT = "yuv.user.logout",
1466
+ CLIENT_LOCALE_CHANGED = "yuv.user.locale.client.changed",
1467
+ DMS_OBJECT_LOADED = "yuv.dms.object.loaded",
1468
+ DMS_OBJECT_CREATED = "yuv.dms.object.created",
1469
+ DMS_OBJECT_DELETED = "yuv.dms.object.deleted",
1470
+ DMS_OBJECT_UPDATED = "yuv.dms.object.updated",
1471
+ DMS_OBJECT_CONTENT_UPDATED = "yuv.dms.object.content.updated",
1472
+ DMS_OBJECTS_MOVED = "yuv.dms.objects.moved",
1473
+ RELATIONSHIP_CREATED = "yuv.dms.relationship.created",
1474
+ RELATIONSHIP_DELETED = "yuv.dms.relationship.deleted"
1475
+ }
1476
+ interface YuvEventDeletedData {
1477
+ id: string;
1478
+ properties: Record<string, unknown>;
1479
+ }
1480
+ type YuvEventUpdatedData = DmsObject;
1481
+ type YuvEventCreatedData = string[];
1482
+
1483
+ /**
1484
+ * Service for managing Identity Management (IDM) operations.
1485
+ * Provides functionality for querying users, roles, and organization entities,
1486
+ * with built-in caching mechanisms to optimize performance.
1487
+ */
1488
+ declare class IdmService {
1489
+ #private;
1490
+ userCache: IdmUserCache;
1491
+ constructor();
1492
+ /**
1493
+ * Queries organization entities (users and/or roles) based on search term.
1494
+ *
1495
+ * @param term - The search term to filter entities
1496
+ * @param targetTypes - Array of entity types to search for ('user', 'role')
1497
+ * @param size - Optional maximum number of results to return
1498
+ * @returns Observable array of organization set entries matching the search criteria
1499
+ */
1500
+ queryOrganizationEntity(term: string, targetTypes: string[], size?: number): Observable<OrganizationSetEntry[]>;
1501
+ /**
1502
+ * Retrieves available roles, optionally filtered by a search term.
1503
+ *
1504
+ * @param role - Optional search term to filter roles by name
1505
+ * @returns Observable array of role objects containing name and description
1506
+ */
1507
+ getRoles(role?: string): Observable<{
1508
+ name: string;
1509
+ description: string;
1510
+ }[]>;
1511
+ /**
1512
+ * Retrieves user information by user ID with automatic caching.
1513
+ * Uses a 1-hour TTL cache to minimize backend requests.
1514
+ *
1515
+ * @param id - The unique identifier of the user
1516
+ * @returns Observable of YuvUser object or null if user is not found
1517
+ */
1518
+ getUserById(id: string): Observable<YuvUser | null>;
1519
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdmService, never>;
1520
+ static ɵprov: i0.ɵɵInjectableDeclaration<IdmService>;
1521
+ }
1522
+
1523
+ /**
1524
+ * Interface providing a default logger, that is used for the Dependency-Injection (DI) token.
1525
+ */
1526
+ interface ILogger {
1527
+ debug(...args: any[]): void;
1528
+ error(...args: any[]): void;
1529
+ info(...args: any[]): void;
1530
+ log(...args: any[]): void;
1531
+ warn(...args: any[]): void;
1532
+ }
1533
+
1534
+ /**
1535
+ * @ignore
1536
+ */
1537
+ declare class Logger implements ILogger {
1538
+ private config;
1539
+ constructor(config: ConfigService);
1540
+ private styles;
1541
+ private apply;
1542
+ debug(...args: any[]): void;
1543
+ error(...args: any[]): void;
1544
+ info(...args: any[]): void;
1545
+ log(...args: any[]): void;
1546
+ warn(...args: any[]): void;
1547
+ private shouldLog;
1548
+ static ɵfac: i0.ɵɵFactoryDeclaration<Logger, never>;
1549
+ static ɵprov: i0.ɵɵInjectableDeclaration<Logger>;
1550
+ }
1551
+
1552
+ /**
1553
+ * Shows a message after completing each action.
1554
+ */
1555
+ declare class NotificationService {
1556
+ #private;
1557
+ /**
1558
+ * Set to true to suppress any notifications
1559
+ */
1560
+ silent: boolean;
1561
+ /**
1562
+ * Default Notofication Options
1563
+ *
1564
+ */
1565
+ private options;
1566
+ constructor();
1567
+ /**
1568
+ * Show info colored massage (blue)
1569
+ *
1570
+ * @param string title
1571
+ * @param string msg
1572
+ */
1573
+ info(title: string, msg?: string): void;
1574
+ /**
1575
+ * Show success colored massage (green)
1576
+ * @param string title
1577
+ * @param string msg
1578
+ */
1579
+ success(title: string, msg?: string): void;
1580
+ /**
1581
+ * can not be in use
1582
+ *
1583
+ * @param string title
1584
+ * @param string msg
1585
+ */
1586
+ wait(title: string, msg?: string): void;
1587
+ /**
1588
+ * Show error colored massage (red)
1589
+ *
1590
+ * @param string title
1591
+ * @param string msg
1592
+ */
1593
+ error(title: string, msg?: string): void;
1594
+ /**
1595
+ * Show warning colored massage (yellow)
1596
+ *
1597
+ * @param string title
1598
+ * @param string msg
1599
+ */
1600
+ warning(title: string, msg?: string): void;
1601
+ /**
1602
+ * Public wrapper for accessing the Toastr
1603
+ *
1604
+ * @param string title
1605
+ * @param string msg
1606
+ * @param string mode
1607
+ * @param _options
1608
+ */
1609
+ private toast;
1610
+ /**
1611
+ * Accessing the toastr service
1612
+ *
1613
+ * @param string msg
1614
+ * @param string title
1615
+ * @param options
1616
+ * @param string mode
1617
+ */
1618
+ private doToast;
1619
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
1620
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
1621
+ }
1622
+
1623
+ declare const TENANT_HEADER = "X-ID-TENANT-NAME";
1624
+ declare enum Situation {
1625
+ EDIT = "EDIT",
1626
+ CREATE = "CREATE",
1627
+ SEARCH = "SEARCH"
1628
+ }
1629
+ declare const SystemType: {
1630
+ OBJECT: string;
1631
+ DOCUMENT: string;
1632
+ FOLDER: string;
1633
+ AUDIT: string;
1634
+ ITEM: string;
1635
+ RELATIONSHIP: string;
1636
+ SOT: string;
1637
+ };
1638
+ declare const SystemResult: {
1639
+ DELETE: string;
1640
+ };
1641
+ declare const AdministrationRoles: {
1642
+ ADMIN: string;
1643
+ SYSTEM: string;
1644
+ MANAGE_SETTINGS: string;
1645
+ };
1646
+ declare const UserRoles: {
1647
+ MULTI_TENANT: string;
1648
+ };
1649
+ declare const SystemSOT: {
1650
+ DESTRUCTION_RETENTION: string;
1651
+ };
1652
+ declare const RetentionField: {
1653
+ RETENTION_END: string;
1654
+ RETENTION_START: string;
1655
+ DESTRUCTION_DATE: string;
1656
+ };
1657
+ declare const RelationshipTypeField: {
1658
+ SOURCE_ID: string;
1659
+ TARGET_ID: string;
1660
+ };
1661
+ declare const BaseObjectTypeField: {
1662
+ PARENT_ID: string;
1663
+ PARENT_OBJECT_TYPE_ID: string;
1664
+ PARENT_VERSION_NUMBER: string;
1665
+ TENANT: string;
1666
+ ACL: string;
1667
+ TRACE_ID: string;
1668
+ SECONDARY_OBJECT_TYPE_IDS: string;
1669
+ BASE_TYPE_ID: string;
1670
+ TAGS: string;
1671
+ OBJECT_ID: string;
1672
+ RETENTION_END: string;
1673
+ RETENTION_START: string;
1674
+ DESTRUCTION_DATE: string;
1675
+ OBJECT_TYPE_ID: string;
1676
+ VERSION_NUMBER: string;
1677
+ CREATION_DATE: string;
1678
+ CREATED_BY: string;
1679
+ MODIFICATION_DATE: string;
1680
+ MODIFIED_BY: string;
1681
+ };
1682
+ declare const ClientDefaultsObjectTypeField: {
1683
+ TITLE: string;
1684
+ DESCRIPTION: string;
1685
+ };
1686
+ declare const ContentStreamField: {
1687
+ LENGTH: string;
1688
+ MIME_TYPE: string;
1689
+ FILENAME: string;
1690
+ ID: string;
1691
+ RANGE: string;
1692
+ REPOSITORY_ID: string;
1693
+ DIGEST: string;
1694
+ ARCHIVE_PATH: string;
1695
+ };
1696
+ declare const AuditField: {
1697
+ REFERRED_OBJECT_ID: string;
1698
+ CREATION_DATE: string;
1699
+ VERSION: string;
1700
+ DETAIL: string;
1701
+ CREATED_BY: string;
1702
+ ACTION: string;
1703
+ SUBACTION: string;
1704
+ };
1705
+ declare const ParentField: {
1706
+ asvaktenzeichen: string;
1707
+ asvaktenzeichentext: string;
1708
+ asvsichtrechte: string;
1709
+ asvvorgangsname: string;
1710
+ asvvorgangsnummer: string;
1711
+ };
1712
+ declare enum ContentStreamAllowed {
1713
+ ALLOWED = "allowed",
1714
+ NOT_ALLOWED = "notallowed",
1715
+ REQUIRED = "required"
1716
+ }
1717
+ declare enum Classification {
1718
+ STRING_CATALOG_I18N = "i18n:catalog",
1719
+ STRING_CATALOG_CUSTOM = "custom:catalog",
1720
+ STRING_CATALOG_DYNAMIC = "dynamic:catalog",
1721
+ STRING_CATALOG = "catalog",
1722
+ STRING_ORGANIZATION = "id:organization",
1723
+ STRING_ORGANIZATION_SET = "id:organization:set",
1724
+ STRING_REFERENCE = "id:reference",
1725
+ STRING_EMAIL = "email",
1726
+ STRING_URL = "url",
1727
+ STRING_PHONE = "phone",
1728
+ NUMBER_FILESIZE = "filesize",
1729
+ NUMBER_DIGIT = "digit",
1730
+ BOOLEAN_SWITCH = "switch",
1731
+ SYSTEM_SOT = "systemsot",
1732
+ PREDICTION_CLASSIFY = "prediction:classify",
1733
+ TABLE_SORTABLE = "sortable"
1734
+ }
1735
+ declare enum ObjectTypeClassification {
1736
+ SEARCH_FALSE = "appClient:search:false",
1737
+ CREATE_FALSE = "appClient:create:false",
1738
+ OBJECT_TYPE_ICON = "appClient:icon"
1739
+ }
1740
+ declare enum ObjectTypePropertyClassification {
1741
+ SUMMARY_HIDDEN = "appClient:summary:hidden"
1742
+ }
1743
+ declare enum SecondaryObjectTypeClassification {
1744
+ REQUIRED = "appClient:required",
1745
+ PRIMARY = "appClient:primary",
1746
+ EXTENSION_ADD_FALSE = "appClient:extension:add:false",
1747
+ EXTENSION_REMOVE_FALSE = "appClient:extension:remove:false"
1748
+ }
1749
+ declare enum InternalFieldType {
1750
+ STRING_ORGANIZATION_SET = "string:organization:set",
1751
+ STRING_ORGANIZATION = "string:organization",
1752
+ STRING_REFERENCE = "string:reference",
1753
+ STRING_CATALOG = "string:catalog",
1754
+ STRING_CATALOG_I18N = "string:catalog:i18n",
1755
+ STRING_DYNAMIC_CATALOG = "string:catalog:dynamic",
1756
+ BOOLEAN_SWITCH = "boolean:switch"
1757
+ }
1758
+ declare enum ObjectTag {
1759
+ AFO = "appclient:dlm:prepare"
1760
+ }
1761
+ declare const AFO_STATE: {
1762
+ IN_PROGRESS: number;
1763
+ READY: number;
1764
+ };
1765
+ declare const ColumnConfigSkipFields: string[];
1766
+
1767
+ /**
1768
+ * Virtual object types.
1769
+ * They are a combination of an object type ID and/or a list of SOTs
1770
+ */
1771
+ interface VirtualObjectType {
1772
+ id: string;
1773
+ icon?: string;
1774
+ objectType?: string;
1775
+ sots?: string[];
1776
+ }
1777
+ /**
1778
+ * Interface providing system definition
1779
+ */
1780
+ interface SystemDefinition {
1781
+ version: number;
1782
+ lastModificationDate: unknown;
1783
+ objectTypes: ObjectType[];
1784
+ secondaryObjectTypes: SecondaryObjectType[];
1785
+ relationships: Relationship[];
1786
+ i18n: Localization;
1787
+ allFields: Record<string, SchemaResponseFieldDefinition>;
1788
+ }
1789
+ interface GenericObjectType extends ObjectType {
1790
+ isSot?: boolean;
1791
+ }
1792
+ interface _ObjectTypeBase {
1793
+ id: string;
1794
+ label?: string;
1795
+ classification?: string[];
1796
+ description?: string;
1797
+ baseId?: string;
1798
+ contentStreamAllowed?: string;
1799
+ fields: ObjectTypeField[];
1800
+ }
1801
+ /**
1802
+ * Object Type interface
1803
+ */
1804
+ interface ObjectType extends _ObjectTypeBase {
1805
+ isFolder: boolean;
1806
+ creatable: boolean;
1807
+ secondaryObjectTypes: {
1808
+ id: string;
1809
+ static?: boolean;
1810
+ }[];
1811
+ }
1812
+ interface Relationship {
1813
+ id: string;
1814
+ label?: string;
1815
+ allowedSourceTypes: string[];
1816
+ allowedTargetTypes: string[];
1817
+ fields: ObjectTypeField[];
1818
+ }
1819
+ /**
1820
+ * Interface providing secondary object type
1821
+ */
1822
+ type SecondaryObjectType = _ObjectTypeBase;
1823
+ interface _ObjectTypeFieldBase {
1824
+ id: string;
1825
+ name: string;
1826
+ description?: string;
1827
+ propertyType: ObjectTypeFieldType;
1828
+ cardinality: 'single' | 'multi';
1829
+ required: boolean;
1830
+ updatability?: 'readonly' | 'readwrite' | 'oncreate' | 'byhooks';
1831
+ queryable?: boolean;
1832
+ classifications?: string[];
1833
+ resolution?: string;
1834
+ columnDefinitions?: SchemaResponseFieldDefinition[];
1835
+ }
1836
+ /**
1837
+ * Interface for a secondary object type field
1838
+ */
1839
+ interface ObjectTypeField extends _ObjectTypeFieldBase {
1840
+ /**
1841
+ * Internal type that is generated by the system service
1842
+ * when schema is fetched. Most of the time this will match
1843
+ * the propertyType
1844
+ */
1845
+ _internalType: ObjectTypeFieldInternalType;
1846
+ label?: string;
1847
+ }
1848
+ interface VisibleObjectTag {
1849
+ tagName: string;
1850
+ tagValues?: unknown[];
1851
+ }
1852
+ /**
1853
+ * Base definition of the kind of data we'll receive
1854
+ * from the backend asking for native schema
1855
+ */
1856
+ interface SchemaResponse {
1857
+ version: number;
1858
+ lastModificationDate: string;
1859
+ propertyDefinition: SchemaResponseFieldDefinition[];
1860
+ typeDocumentDefinition: SchemaResponseDocumentTypeDefinition[];
1861
+ typeFolderDefinition: SchemaResponseFolderTypeDefinition[];
1862
+ typeSecondaryDefinition: SchemaResponseDocumentTypeDefinition[];
1863
+ typeRelationshipDefinition: SchemaResponseRelationDefinition[];
1864
+ }
1865
+ /**
1866
+ * Interface for create the schema from the servers schema type definition response
1867
+ */
1868
+ interface SchemaResponseTypeDefinition {
1869
+ id: string;
1870
+ description?: string;
1871
+ baseId: string;
1872
+ propertyReference: {
1873
+ value: string;
1874
+ }[];
1875
+ secondaryObjectTypeId: {
1876
+ value: string;
1877
+ static?: boolean;
1878
+ }[];
1879
+ classification: string[];
1880
+ }
1881
+ interface SchemaResponseRelationDefinition extends SchemaResponseTypeDefinition {
1882
+ allowedSourceType: {
1883
+ objectTypeReference: string;
1884
+ }[];
1885
+ allowedTargetType: {
1886
+ objectTypeReference: string;
1887
+ }[];
1888
+ }
1889
+ type SchemaResponseFolderTypeDefinition = SchemaResponseTypeDefinition;
1890
+ interface SchemaResponseDocumentTypeDefinition extends SchemaResponseTypeDefinition {
1891
+ contentStreamAllowed?: string;
1892
+ }
1893
+ /**
1894
+ * Interface for create the schema from the servers schema field definition response
1895
+ */
1896
+ interface SchemaResponseFieldDefinition extends _ObjectTypeFieldBase {
1897
+ columnDefinitions?: SchemaResponseFieldDefinition[];
1898
+ }
1899
+ /**
1900
+ * Object type fields classification property (schema)
1901
+ */
1902
+ interface ClassificationEntry {
1903
+ classification: string;
1904
+ options: string[];
1905
+ }
1906
+ /**
1907
+ * Secondary object types that could be applied to a particular dms object
1908
+ */
1909
+ interface ApplicableSecondaries {
1910
+ primarySOTs: SecondaryObjectType[];
1911
+ extendingSOTs: SecondaryObjectType[];
1912
+ }
1913
+ interface Localization {
1914
+ [key: string]: string;
1915
+ }
1916
+ interface UserPermissions {
1917
+ create: UserPermissionsSection;
1918
+ read: UserPermissionsSection;
1919
+ write: UserPermissionsSection;
1920
+ delete: UserPermissionsSection;
1921
+ }
1922
+ interface UserPermissionsSection {
1923
+ folderTypes: string[];
1924
+ objectTypes: string[];
1925
+ secondaryObjectTypes: string[];
1926
+ }
1927
+ interface ObjectTypePermissions {
1928
+ createableObjectTypes: string[];
1929
+ searchableObjectTypes: string[];
1930
+ }
1931
+
1932
+ type ObjectTypeFieldType = 'string' | 'integer' | 'decimal' | 'boolean' | 'table' | 'datetime';
1933
+ type ObjectTypeFieldInternalType = ObjectTypeFieldType | InternalFieldType.STRING_REFERENCE | InternalFieldType.STRING_ORGANIZATION | InternalFieldType.STRING_ORGANIZATION_SET | InternalFieldType.STRING_CATALOG | InternalFieldType.STRING_CATALOG_I18N | InternalFieldType.BOOLEAN_SWITCH | InternalFieldType.STRING_DYNAMIC_CATALOG;
1934
+ interface FormElementString extends ObjectTypeField {
1935
+ propertyType: 'string';
1936
+ defaultvalue?: string[] | string;
1937
+ maxLength?: number;
1938
+ minLength?: number;
1939
+ rows?: number;
1940
+ options?: string[] | string;
1941
+ regex?: string;
1942
+ }
1943
+ interface FormElementInteger extends ObjectTypeField {
1944
+ propertyType: 'integer';
1945
+ defaultvalue?: number[] | number;
1946
+ maxValue?: number;
1947
+ minValue?: number;
1948
+ precision?: number;
1949
+ grouping?: boolean;
1950
+ pattern?: string;
1951
+ }
1952
+ interface FormElementDecimal extends ObjectTypeField {
1953
+ propertyType: 'decimal';
1954
+ defaultvalue?: number[] | number;
1955
+ maxValue?: number;
1956
+ minValue?: number;
1957
+ precision?: number;
1958
+ scale?: number;
1959
+ grouping?: boolean;
1960
+ pattern?: string;
1961
+ }
1962
+ interface FormElementBoolean extends ObjectTypeField {
1963
+ propertyType: 'boolean';
1964
+ defaultvalue?: boolean;
1965
+ tristate?: boolean;
1966
+ }
1967
+ interface FormElementDatetime extends ObjectTypeField {
1968
+ propertyType: 'datetime';
1969
+ defaultvalue?: string[] | string;
1970
+ resolution?: 'date';
1971
+ }
1972
+ interface FormElementTable extends ObjectTypeField {
1973
+ elements: ObjectTypeField[];
1974
+ propertyType: 'table';
1975
+ }
1976
+
1977
+ /**
1978
+ * Config defining the most important/interessting fields for
1979
+ * a certain object type. They'll be used to render result lists
1980
+ * as well as headers for onbjects of that type.
1981
+ */
1982
+ interface ObjectConfig {
1983
+ objectTypeId: string;
1984
+ icon?: ObjectConfigIcon;
1985
+ title?: ObjectConfigProperty;
1986
+ description?: ObjectConfigProperty;
1987
+ meta?: ObjectConfigProperty;
1988
+ aside?: ObjectConfigProperty;
1989
+ actions?: ObjectConfigAction[];
1990
+ badges?: ObjectConfigBadge[];
1991
+ }
1992
+ interface ObjectConfigIcon {
1993
+ svg: string;
1994
+ }
1995
+ interface ObjectConfigAction {
1996
+ id: string;
1997
+ }
1998
+ interface ObjectConfigBadge {
1999
+ label: string;
2000
+ }
2001
+ interface ObjectConfigProperty {
2002
+ label: string;
2003
+ propertyName: string;
2004
+ }
2005
+ interface StoredObjectConfig {
2006
+ main: ObjectConfigRecord;
2007
+ buckets: ObjectConfigBucket[];
2008
+ }
2009
+ type ObjectConfigRecord = Record<string, ObjectConfig>;
2010
+ interface ObjectConfigBucket {
2011
+ id: string;
2012
+ configs: ObjectConfigRecord;
2013
+ }
2014
+ interface ResolvedObjectConfig {
2015
+ id: string;
2016
+ objectTypeId: string;
2017
+ icon?: ResolvedObjectConfigItem;
2018
+ title: ResolvedObjectConfigItem;
2019
+ description?: ResolvedObjectConfigItem;
2020
+ meta?: ResolvedObjectConfigItem;
2021
+ aside?: ResolvedObjectConfigItem;
2022
+ actions?: ObjectConfigAction[];
2023
+ badges?: ObjectConfigBadge[];
2024
+ instanceData?: Record<string, unknown>;
2025
+ }
2026
+ interface ResolvedObjectConfigItem {
2027
+ propertyName: string;
2028
+ rendererType?: RendererType;
2029
+ value?: any;
2030
+ meta?: Record<string, any>;
2031
+ }
2032
+ type RendererType = Partial<ObjectTypeFieldInternalType | string>;
2033
+ interface ConfigTypeOption {
2034
+ bucket?: string;
2035
+ type: VirtualObjectType;
2036
+ }
2037
+
2038
+ /**
2039
+ * Service managing the configuarions for object types.
2040
+ * Configuration means that you can pick certain fields
2041
+ * of an object type and assign them to a config object.
2042
+ */
2043
+ declare class ObjectConfigService {
2044
+ #private;
2045
+ OBJECT_CONFIG_STORAGE_KEY: string;
2046
+ init(): Observable<any>;
2047
+ getObjectConfigs$(bucket?: string, includeDefaults?: boolean): Observable<ObjectConfigRecord>;
2048
+ /**
2049
+ * Register default object configs. Apps can pre-define how their
2050
+ * objects should be rendered.
2051
+ * @param bucket Name of a bucket to bind configs to (usually the ID of the app) to
2052
+ * separate the configs from other apps. If not provided configs will be saved for
2053
+ * the global scope
2054
+ */
2055
+ registerDefaults(configs: ObjectConfigRecord, bucket?: string): void;
2056
+ unregisterDefaults(configs: ObjectConfigRecord, bucket?: string): void;
2057
+ getRegisteredDefault(objectTypeId: string, bucket?: string): ObjectConfig | undefined;
2058
+ /**
2059
+ * Get object config for an object type.
2060
+ * @param objectTypeId ID of the object type to get the config for
2061
+ * @param bucket Optional bucket ID to fetch the config from. Buckets
2062
+ * define separated areas to store/receive those configs. This way
2063
+ * components/apps can store different object configs than the ones
2064
+ * used accross the whole client application.
2065
+ */
2066
+ getObjectConfig(type: VirtualObjectType, bucket?: string): ObjectConfig;
2067
+ saveObjectConfig(type: VirtualObjectType, config?: ObjectConfig, bucket?: string): Observable<any>;
2068
+ saveObjectConfigs(configs: Record<string, ObjectConfig | undefined>, bucket?: string): Observable<any>;
2069
+ getDefaultConfig(objectTypeID: string): ObjectConfig;
2070
+ getResolvedObjectConfig(data: Record<string, any>, type: VirtualObjectType, bucket?: string, includeDefaults?: boolean): ResolvedObjectConfig;
2071
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectConfigService, never>;
2072
+ static ɵprov: i0.ɵɵInjectableDeclaration<ObjectConfigService>;
2073
+ }
2074
+
2075
+ type ObjectFormModel = ObjectFormGroup | ObjectFormControlWrapper;
2076
+ declare class ObjectFormControlWrapper extends FormGroup {
2077
+ _eoFormControlWrapper?: YuvFormGroupWrapper;
2078
+ }
2079
+ interface YuvFormGroupWrapper {
2080
+ /**
2081
+ * form control situation (CREATE, EDIT, SEARCH)
2082
+ */
2083
+ situation: string;
2084
+ /**
2085
+ * the name of the wrapped form control
2086
+ */
2087
+ controlName: string;
2088
+ }
2089
+ interface YuvFormGroup {
2090
+ /**
2091
+ * the label for the form group
2092
+ */
2093
+ label?: string;
2094
+ /**
2095
+ * object holding properties defining layout properties of the group
2096
+ */
2097
+ layout: any;
2098
+ /**
2099
+ * type of group indicating if the form is a stack, a fieldset or a simple group
2100
+ */
2101
+ type: string;
2102
+ }
2103
+ /**
2104
+ * @ignore
2105
+ * Extension of the default angular form group,
2106
+ */
2107
+ declare class ObjectFormGroup extends FormGroup {
2108
+ _eoFormGroup?: YuvFormGroup;
2109
+ }
2110
+ /**
2111
+ * @ignore
2112
+ * Extension of the default angular form control,
2113
+ */
2114
+ declare class ObjectFormControl extends FormControl {
2115
+ private __eoFormElement;
2116
+ set _eoFormElement(v: any);
2117
+ get _eoFormElement(): any;
2118
+ }
2119
+
2120
+ /**
2121
+ * Interface to be implemented by all components (state components) that are aware of pending changes
2122
+ */
2123
+ interface PendingChangesComponent {
2124
+ hasPendingChanges: () => boolean;
2125
+ }
2126
+
2127
+ /**
2128
+ * EditingObserver service is used to track changes made inside the application, that should prevent
2129
+ * doing something or going somewhere before the changes are persisted or ignored. For example when
2130
+ * the user starts editing form data and tries to navigate away before saving the changes, this service
2131
+ * will take care of notifying the user.
2132
+ *
2133
+ * It is working kind of like a registry for ongoing tasks that need to be monitored. Every component
2134
+ * that needs to be aware of changes to be persisted can start a task and finish it when everything is done.
2135
+ *
2136
+ * Other components can ask the service for pending tasks to know whether or not to execute an action
2137
+ * (e.g. list component will subscribe and prevent selecting another list item, if changes to the previous one haven't be finished)
2138
+ *
2139
+ * app.component will prevent relevant route changes while tasks are pending.
2140
+ */
2141
+ declare class PendingChangesService {
2142
+ #private;
2143
+ tasks$: Observable<{
2144
+ id: string;
2145
+ message?: string;
2146
+ }[]>;
2147
+ /**
2148
+ * Registers a task to be pending.
2149
+ * @param message alert message
2150
+ * @returns Unique id to be used for finishing this task
2151
+ */
2152
+ startTask(message: string): string;
2153
+ /**
2154
+ * Finishes a task
2155
+ * @param id The id of the task to be finished. This is the one the component got from startTask()
2156
+ */
2157
+ finishTask(id: string): void;
2158
+ /**
2159
+ * Returns whether or not the service has pending tasks.
2160
+ * If an id is provided, the method will check existence of one specific task.
2161
+ *
2162
+ * @param id The id of the task to be checked
2163
+ * @returns
2164
+ */
2165
+ hasPendingTask(id?: string | string[]): boolean;
2166
+ /**
2167
+ * Returns whether or not the component|service has pending tasks.
2168
+ * Checks via confirm dialog
2169
+ * @param component
2170
+ * @returns false if there are no pending changes or user confirmed
2171
+ * to continue, true if there are pending changes and user canceled the action
2172
+ */
2173
+ check(component?: PendingChangesComponent): boolean;
2174
+ checkForPendingTasks(taskIds: string | string[]): boolean;
2175
+ /**
2176
+ * Clear list of pending tasks
2177
+ */
2178
+ clear(): void;
2179
+ static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesService, never>;
2180
+ static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesService>;
2181
+ }
2182
+
2183
+ /**
2184
+ * Providing a `PendingChangesComponent`.
2185
+ */
2186
+ declare class PendingChangesGuard implements CanDeactivate<PendingChangesComponent> {
2187
+ private pendingChanges;
2188
+ constructor(pendingChanges: PendingChangesService);
2189
+ canDeactivate(component: PendingChangesComponent): boolean;
2190
+ static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesGuard, never>;
2191
+ static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesGuard>;
2192
+ }
2193
+
2194
+ /**
2195
+ * Service that provides guards for Material Dialog close operations.
2196
+ *
2197
+ * This service allows you to intercept and control dialog close events,
2198
+ * enabling confirmation dialogs or preventing accidental closure when
2199
+ * there are unsaved changes or pending operations.
2200
+ *
2201
+ * @example
2202
+ * ```typescript
2203
+ * readonly #dialogCloseGuard = inject(DialogCloseGuard);
2204
+ *
2205
+ * openDialog() {
2206
+ * const dialogRef = this.dialog.open(MyComponent);
2207
+ *
2208
+ * // Prevent dialog from closing if there are unsaved changes
2209
+ * this.#dialogCloseGuard.dialogCanClose(dialogRef, () => {
2210
+ * return this.hasUnsavedChanges() ? this.confirmClose() : true;
2211
+ * }).subscribe();
2212
+ * }
2213
+ * ```
2214
+ */
2215
+ declare class DialogCloseGuard {
2216
+ #private;
2217
+ /**
2218
+ * Guards against dialog closure when the backdrop is clicked.
2219
+ *
2220
+ * This method disables the default close behavior and only allows the dialog
2221
+ * to close when the provided check function returns true. The check is triggered
2222
+ * specifically when the user clicks on the dialog backdrop.
2223
+ *
2224
+ * @param dialogRef - Reference to the Material Dialog instance
2225
+ * @param checkFunction - Function that determines if the dialog can be closed.
2226
+ * Can return a boolean directly or an Observable<boolean>
2227
+ * @returns Observable<boolean> - Emits true when the dialog can be closed via backdrop click
2228
+ *
2229
+ * @example
2230
+ * ```typescript
2231
+ * this.dialogCloseGuard.checkBackdropCanClose(dialogRef, () => {
2232
+ * return this.formIsDirty ? this.showConfirmDialog() : true;
2233
+ * }).subscribe(canClose => {
2234
+ * if (canClose) {
2235
+ * dialogRef.close();
2236
+ * }
2237
+ * });
2238
+ * ```
2239
+ */
2240
+ checkBackdropCanClose(dialogRef: MatDialogRef<any>, checkFunction: () => boolean | Observable<boolean>): Observable<boolean>;
2241
+ /**
2242
+ * Guards against dialog closure when the Escape key is pressed.
2243
+ *
2244
+ * This method disables the default close behavior and only allows the dialog
2245
+ * to close when the provided check function returns true. The check is triggered
2246
+ * specifically when the user presses the Escape key.
2247
+ *
2248
+ * @param dialogRef - Reference to the Material Dialog instance
2249
+ * @param checkFunction - Function that determines if the dialog can be closed.
2250
+ * Can return a boolean directly or an Observable<boolean>
2251
+ * @returns Observable<boolean> - Emits true when the dialog can be closed via Escape key
2252
+ *
2253
+ * @example
2254
+ * ```typescript
2255
+ * this.dialogCloseGuard.checkKeydownEventsCanClose(dialogRef, () => {
2256
+ * return this.hasUnsavedChanges ? this.confirmDiscardChanges() : true;
2257
+ * }).subscribe(canClose => {
2258
+ * if (canClose) {
2259
+ * dialogRef.close();
2260
+ * }
2261
+ * });
2262
+ * ```
2263
+ */
2264
+ checkKeydownEventsCanClose(dialogRef: MatDialogRef<any>, checkFunction: () => boolean | Observable<boolean>): Observable<boolean>;
2265
+ /**
2266
+ * Comprehensive dialog close guard that handles both backdrop clicks and Escape key presses.
2267
+ *
2268
+ * This method provides a unified approach to guard dialog closure by monitoring both
2269
+ * backdrop clicks and Escape key events. When either event occurs, it runs the provided
2270
+ * check function and automatically closes the dialog if the check passes.
2271
+ *
2272
+ * This is the most convenient method when you want to guard against all common
2273
+ * dialog close scenarios with a single setup.
2274
+ *
2275
+ * @template T - The type of data that the dialog returns
2276
+ * @param dialogRef - Reference to the Material Dialog instance
2277
+ * @param checkFunction - Function that determines if the dialog can be closed.
2278
+ * Can return a boolean directly or an Observable<boolean>
2279
+ * @returns Observable<false | void> - Emits false if the dialog cannot be closed,
2280
+ * or void when the dialog is successfully closed
2281
+ *
2282
+ * @example
2283
+ * ```typescript
2284
+ * // Simple boolean check
2285
+ * this.dialogCloseGuard.dialogCanClose(dialogRef, () => !this.hasUnsavedChanges).subscribe();
2286
+ *
2287
+ * // Async check with confirmation dialog
2288
+ * this.dialogCloseGuard.dialogCanClose(dialogRef, () => {
2289
+ * return this.hasUnsavedChanges
2290
+ * ? this.confirmationService.confirm('Discard changes?')
2291
+ * : of(true);
2292
+ * }).subscribe();
2293
+ * ```
2294
+ */
2295
+ preventCloseUntil<T>(dialogRef: MatDialogRef<T>, checkFunction: () => boolean | Observable<boolean>): Observable<false | void>;
2296
+ /**
2297
+ * Specialized dialog close guard that automatically checks for pending changes.
2298
+ *
2299
+ * This convenience method provides automatic pending changes detection without
2300
+ * requiring a custom check function. It integrates with the PendingChangesService
2301
+ * to determine if there are any unsaved changes, and handles both backdrop clicks
2302
+ * and Escape key presses automatically.
2303
+ *
2304
+ * This method is ideal when you want to prevent dialog closure if there are
2305
+ * pending changes anywhere in the application, without having to implement
2306
+ * custom change detection logic.
2307
+ *
2308
+ * @template T - The type of data that the dialog returns
2309
+ * @param dialogRef - Reference to the Material Dialog instance
2310
+ * @returns Observable<false | void> - Emits false if there are pending changes
2311
+ * preventing closure, or void when the dialog
2312
+ * is successfully closed
2313
+ *
2314
+ */
2315
+ pendingChangesDialogCanClose<T>(dialogRef: MatDialogRef<T>): Observable<false | void>;
2316
+ static ɵfac: i0.ɵɵFactoryDeclaration<DialogCloseGuard, never>;
2317
+ static ɵprov: i0.ɵɵInjectableDeclaration<DialogCloseGuard>;
2318
+ }
2319
+
2320
+ declare class TabGuardDirective implements DoCheck {
2321
+ #private;
2322
+ constructor();
2323
+ ngDoCheck(): void;
2324
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabGuardDirective, never>;
2325
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TabGuardDirective, "mat-tab-group[yuvTabGuardDisable]", never, {}, {}, never, never, true, never>;
2326
+ }
2327
+
2328
+ interface PredictionClassifyResult {
2329
+ objectId: string;
2330
+ properties: PredictionClassifyResultItem[];
2331
+ }
2332
+ interface PredictionClassifyResultItem {
2333
+ type: string;
2334
+ probability: number;
2335
+ }
2336
+ interface PredictionExtractResult {
2337
+ objectId: string;
2338
+ properties: Record<string, PredictionExtractResultItem[]>;
2339
+ }
2340
+ interface PredictionExtractResultItem {
2341
+ value: string;
2342
+ probability: number;
2343
+ boundingBox?: number[];
2344
+ page?: number;
2345
+ }
2346
+
2347
+ declare class PredictionService {
2348
+ #private;
2349
+ classify(objectIDs: string[], schemaObjectTypeId?: string): Observable<Record<string, PredictionClassifyResult>>;
2350
+ /**
2351
+ * @param schemaObjectTypeId
2352
+ * @param objectIDs
2353
+ * @returns Observable<Record<string, PredictionClassifyResult>> string is objectID
2354
+ */
2355
+ extract(schemaObjectTypeId: string, objectIDs: string[]): Observable<Record<string, PredictionExtractResult>>;
2356
+ static ɵfac: i0.ɵɵFactoryDeclaration<PredictionService, never>;
2357
+ static ɵprov: i0.ɵɵInjectableDeclaration<PredictionService>;
2358
+ }
2359
+
2360
+ interface RetentionState {
2361
+ underRetention: boolean;
2362
+ start?: Date;
2363
+ end?: Date;
2364
+ }
2365
+
2366
+ /**
2367
+ * Service to manage retention for DMS objects. This service allows to set retention
2368
+ * for objects and revert retention if necessary/possible.
2369
+ */
2370
+ declare class RetentionService {
2371
+ #private;
2372
+ /**
2373
+ * Set retention for given objects. This will add the retention SOT to the objects
2374
+ * and set the retention start and end date. If the retetion start date is in the
2375
+ * future, you can revert the retention until then by calling `revertRetention`.
2376
+ * @param dmsObjects The objects to set retention for
2377
+ * @param retentionStart Date when retention period should begin
2378
+ * @param retentionEnd Date when retention period should end
2379
+ * @param destructionDate Date when the object should be destroyed. This right now is just a
2380
+ * marker and has no effect on the object lifecycle.
2381
+ * @returns The updated objects
2382
+ */
2383
+ setRetention(dmsObjects: DmsObject[], retentionStart: Date, retentionEnd: Date, destructionDate?: Date): Observable<DmsObject[]>;
2384
+ getRetentionState(dmsObject: DmsObject): RetentionState;
2385
+ static ɵfac: i0.ɵɵFactoryDeclaration<RetentionService, never>;
2386
+ static ɵprov: i0.ɵɵInjectableDeclaration<RetentionService>;
2387
+ }
2388
+
2389
+ declare class SearchService {
2390
+ #private;
2391
+ static DEFAULT_QUERY_SIZE: number;
2392
+ /**
2393
+ * Execute a search query ans transform the result to a SearchResult object
2394
+ * @param query The search query
2395
+ * @returns Observable of a SearchResult
2396
+ */
2397
+ search(query: SearchQuery): Observable<SearchResult>;
2398
+ /**
2399
+ * Execute a raw search query and return the result as is.
2400
+ * @param query The search query
2401
+ * @returns Observable of the raw search result
2402
+ */
2403
+ searchRaw(query: SearchQuery): Observable<any>;
2404
+ /**
2405
+ * Search for objects in the dms using CMIS like SQL syntax.
2406
+ * @param statement The query statement
2407
+ * @param size The number of items to return
2408
+ * @returns Observable of a SearchResult
2409
+ */
2410
+ searchCmis(statement: string, size?: number, includePermissions?: boolean): Observable<SearchResult>;
2411
+ /**
2412
+ * Fetch aggragations for a given query.
2413
+ * @param q The query
2414
+ * @param aggregations List of aggregations to be fetched (e.g. `enaio:objectTypeId`
2415
+ * to get an aggregation of object types)
2416
+ */
2417
+ aggregate(q: SearchQuery, aggregations: string[]): Observable<AggregateResult>;
2418
+ /**
2419
+ * Go to a page of a search result.
2420
+ * @param query SearchQuery or CMIS query statement
2421
+ * @param page The number of the page to go to
2422
+ */
2423
+ getPage(query: SearchQuery | string, page: number, pageSize?: number, includePermissions?: boolean): Observable<SearchResult>;
2424
+ /**
2425
+ * Map search result from the backend to applications SearchResult object
2426
+ * @param searchResponse The backend response
2427
+ */
2428
+ toSearchResult(searchResponse: SearchResponse, pageSize?: number, skipCount?: number): SearchResult;
2429
+ /**
2430
+ * Maps data extracted from a search form to search filters. Every key of the form data object
2431
+ * will be mapped to a search filter.
2432
+ * @param formData form data
2433
+ * @returns Array of search filters
2434
+ */
2435
+ formDataToSearchFilter(formData: Record<string, unknown>): SearchFilter[];
2436
+ rangeValueToSearchFilter(value: RangeValue, property: string): SearchFilter | undefined;
2437
+ static ɵfac: i0.ɵɵFactoryDeclaration<SearchService, never>;
2438
+ static ɵprov: i0.ɵɵInjectableDeclaration<SearchService>;
2439
+ }
2440
+
2441
+ declare class SearchUtils {
2442
+ static dateRanges: string[];
2443
+ static filesizeRanges: string[];
2444
+ static dateRangeStartEnd(dateRange: DateRange): {
2445
+ start: Date;
2446
+ end: Date;
2447
+ };
2448
+ /**
2449
+ * Maps a date range filter to a date range value like 'thisWeek', 'lastMonth', etc.
2450
+ * @param rangeValue the range value
2451
+ * @returns the date range (eg. 'thisWeek', 'lastMonth', etc.)
2452
+ */
2453
+ static getMatchingDateRange(rangeValue: RangeValue): DateRange | undefined;
2454
+ static getMatchingFilesizeRange(rangeValue: RangeValue): FilesizeRange | undefined;
2455
+ static filesizeRangeToRangeValue(filesizeRange: FilesizeRange): RangeValue | undefined;
2456
+ }
2457
+
2458
+ declare class SessionStorageService {
2459
+ #private;
2460
+ constructor();
2461
+ /**
2462
+ * Add a reference to a temporary localstorage entry that should be cleared when a
2463
+ * new browser session starts. In context of forms this will be used to cleanup the
2464
+ * layout state of forms (selected tabs etc.) that are stored locally but should only
2465
+ * be pesisted for one browser session.
2466
+ * @param storageKey Key of the localstorage item
2467
+ */
2468
+ addTemporaryStorageEntry(storageKey: string): void;
2469
+ static ɵfac: i0.ɵɵFactoryDeclaration<SessionStorageService, never>;
2470
+ static ɵprov: i0.ɵɵInjectableDeclaration<SessionStorageService>;
2471
+ }
2472
+
2473
+ /**
2474
+ * Providing system definitions.
2475
+ */
2476
+ declare class SystemService {
2477
+ #private;
2478
+ system?: SystemDefinition;
2479
+ system$: Observable<SystemDefinition>;
2480
+ authData?: AuthData;
2481
+ /**
2482
+ * Get all object types
2483
+ * @param withLabels Whether or not to also add the types labels
2484
+ */
2485
+ getObjectTypes(withLabels?: boolean, situation?: 'search' | 'create'): GenericObjectType[];
2486
+ /**
2487
+ * Get all secondary object types
2488
+ * @param withLabels Whether or not to also add the types labels
2489
+ */
2490
+ getSecondaryObjectTypes(withLabels?: boolean, situation?: 'search' | 'create'): SecondaryObjectType[];
2491
+ /**
2492
+ * Get a particular object type
2493
+ * @param objectTypeId ID of the object type
2494
+ * @param withLabel Whether or not to also add the types label
2495
+ */
2496
+ getObjectType(objectTypeId: string, withLabel?: boolean): GenericObjectType | undefined;
2497
+ /**
2498
+ * Get a particular secondary object type
2499
+ * @param objectTypeId ID of the object type
2500
+ * @param withLabel Whether or not to also add the types label
2501
+ */
2502
+ getSecondaryObjectType(objectTypeId: string, withLabel?: boolean): SecondaryObjectType | undefined;
2503
+ getRelationship(id: string, withLabel?: boolean): Relationship | undefined;
2504
+ /**
2505
+ * Get supported relationships for a given dms object
2506
+ * @param dmsObject DmsObject to get supported relationships for
2507
+ */
2508
+ getSupportedRelationships(dmsObject: DmsObject, withLabel?: boolean): Relationship[];
2509
+ /**
2510
+ * Get the base document type all documents belong to
2511
+ * @param withLabel Whether or not to also add the types label
2512
+ */
2513
+ getBaseDocumentType(withLabel?: boolean): ObjectType;
2514
+ /**
2515
+ * Get the base folder type all folders belong to
2516
+ * @param withLabel Whether or not to also add the types label
2517
+ */
2518
+ getBaseFolderType(withLabel?: boolean): ObjectType;
2519
+ /**
2520
+ * Get the base object type all dms objects belong to
2521
+ */
2522
+ getBaseType(): ObjectType;
2523
+ /**
2524
+ * Get the resolved object type with all fields ( including fields from related secondary types )
2525
+ */
2526
+ getResolvedType(objectTypeId?: string): {
2527
+ id: string;
2528
+ fields: ObjectTypeField[];
2529
+ };
2530
+ /**
2531
+ * Get the resolved object tags
2532
+ */
2533
+ getResolvedTags(objectTypeId: string): {
2534
+ id: string;
2535
+ tagName: string;
2536
+ tagValues: any;
2537
+ fields: ObjectTypeField[];
2538
+ }[];
2539
+ /**
2540
+ * Get a list of classifications for a given object type including the
2541
+ * classifications of its static secondary object types
2542
+ * @param objectTypeId ID of the object type
2543
+ */
2544
+ getResolvedClassifications(objectTypeId: string): string[];
2545
+ /**
2546
+ * Visible tags are defined by a classification on the object type (e.g. 'tag[tenkolibri:process,1,2,3]').
2547
+ *
2548
+ * The example will only return tags with the name 'tenkolibri:process'
2549
+ * and values of either 1, 2 or 3. All other tags will be ignored.
2550
+ *
2551
+ * @param objectTypeId ID of the object type to get the visible tags for
2552
+ * @returns object where the property name is the name of the tag and its value are the visible values
2553
+ * for that tag (if values is emoty all values are allowed)
2554
+ */
2555
+ getVisibleTags(objectTypeId: string): {
2556
+ [tagName: string]: any[];
2557
+ };
2558
+ private fetchVisibleTags;
2559
+ filterVisibleTags(objectTypeId: string, tagsValue: Array<Array<any>>): Array<Array<any>>;
2560
+ /**
2561
+ * Get the icon for an object type. This will return an SVG as a string.
2562
+ * @param objectTypeId ID of the object type
2563
+ * @param fallback ID of a fallback icon that should be used if the given object type has no icon yet
2564
+ */
2565
+ getObjectTypeIcon(objectTypeId: string, fallback?: string): Observable<string>;
2566
+ /**
2567
+ * Get the URI of an object type icon.
2568
+ * @param objectTypeId ID of the object type
2569
+ * @param fallback ID of a fallback icon that should be used if the given object type has no icon yet
2570
+ */
2571
+ getObjectTypeIconUri(objectTypeId: string, fallback?: string): string;
2572
+ private getFallbackIcon;
2573
+ getLocalizedResource(key: string): string;
2574
+ getLocalizedLabel(id: string): string;
2575
+ getLocalizedDescription(id: string): string;
2576
+ /**
2577
+ * Determine whether or not the given object type field is a system field
2578
+ * @param field Object type field to be checked
2579
+ */
2580
+ isSystemProperty(field: ObjectTypeField): boolean;
2581
+ /**
2582
+ * Fetches the backends system definition and updates system$ Observable.
2583
+ * Subscribe to the system$ observable instead of calling this function, otherwise you'll trigger fetching the
2584
+ * system definition every time.
2585
+ *
2586
+ * @param user The user to load the system definition for
2587
+ */
2588
+ getSystemDefinition(authData?: AuthData): Observable<boolean>;
2589
+ setPermissions(p: ObjectTypePermissions): void;
2590
+ /**
2591
+ * Create the schema from the servers schema response
2592
+ * @param schemaResponse Response from the backend
2593
+ */
2594
+ setSchema(schemaResponse: SchemaResponse, localizedResource?: Localization): void;
2595
+ /**
2596
+ * Fetch a collection of form models.
2597
+ * @param objectTypeIDs Object type IDs to fetch form model for
2598
+ * @param situation Form situation
2599
+ * @returns Object where the object type id is key and the form model is the value
2600
+ */
2601
+ getObjectTypeForms(objectTypeIDs: string[], situation: string): Observable<Record<string, any>>;
2602
+ /**
2603
+ * Get the form model of an object type.
2604
+ *
2605
+ * @param objectTypeId ID of the object type to fetch the form for
2606
+ * @param situation The form situation to be fetched
2607
+ * @returns Form model
2608
+ */
2609
+ getObjectTypeForm(objectTypeId: string, situation: string): Observable<any>;
2610
+ /**
2611
+ * Generates an internal type for a given object type field.
2612
+ * Adding this to a form element or object type field enables us to render forms
2613
+ * based on object type fields in a more performant way. Otherwise we would
2614
+ * have to evaluate the conditions for every form element on every digest cycle.
2615
+ * @param type propertyType of the ObjectTypeField
2616
+ * @param classifications classifications of the ObjectTypeField
2617
+ */
2618
+ getInternalFormElementType(type: string, classifications?: string[]): ObjectTypeFieldInternalType;
2619
+ getObjectTypeField(id: string): ObjectTypeField | undefined;
2620
+ /**
2621
+ * Extract classifications from object type fields classification
2622
+ * string. This string may contain more than one classification entry.
2623
+ *
2624
+ * Classification is a comma separated string that may contain additional
2625
+ * properties related to on classification entry. Example:
2626
+ *
2627
+ * `id:reference[system:folder], email`
2628
+ *
2629
+ * @param classifications Object type fields classification property (schema)
2630
+ */
2631
+ getClassifications(classifications: string[]): Map<string, ClassificationEntry>;
2632
+ toFormElement(field: ObjectTypeField): any;
2633
+ updateAuthData(data: Partial<AuthData>): Observable<boolean>;
2634
+ updateLocalizations(iso: string): Observable<any>;
2635
+ fetchResources(id: string): Observable<{
2636
+ global: any;
2637
+ tenant: any;
2638
+ }>;
2639
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemService, never>;
2640
+ static ɵprov: i0.ɵɵInjectableDeclaration<SystemService>;
2641
+ }
2642
+
2643
+ interface ToastOptions {
2644
+ duration?: number;
2645
+ position?: ToastPosition;
2646
+ level?: ToastLevel;
2647
+ title?: string;
2648
+ }
2649
+ type ToastPosition = 'top-start' | 'top-end' | 'top-center' | 'bottom-start' | 'bottom-end' | 'bottom-center';
2650
+ type ToastLevel = 'success' | 'warning' | 'error' | 'info';
2651
+
2652
+ declare class ToastService {
2653
+ private document;
2654
+ constructor(document: Document);
2655
+ success(message: string, title?: string, options?: ToastOptions): Promise<void>;
2656
+ warning(message: string, title?: string, options?: ToastOptions): Promise<void>;
2657
+ info(message: string, title?: string, options?: ToastOptions): Promise<void>;
2658
+ error(message: string, title?: string, options?: ToastOptions): Promise<void>;
2659
+ toast(message: string, title?: string, options?: ToastOptions): Promise<void>;
2660
+ private _createToast;
2661
+ private _addToast;
2662
+ private _getToastContainer;
2663
+ private _init;
2664
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
2665
+ static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
2666
+ }
2667
+
2668
+ /**
2669
+ * Interface for providing an uploading status of an object
2670
+ */
2671
+ interface ProgressStatus {
2672
+ items: ProgressStatusItem[];
2673
+ err: number;
2674
+ }
2675
+ /**
2676
+ * Is part of the `ProgressStatus` interface
2677
+ */
2678
+ interface ProgressStatusItem {
2679
+ id: string;
2680
+ filename: string;
2681
+ progress: Observable<number>;
2682
+ subscription: Subscription;
2683
+ result?: UploadResult[];
2684
+ scope?: string;
2685
+ err?: {
2686
+ code: number;
2687
+ message: string;
2688
+ };
2689
+ }
2690
+ /**
2691
+ * is a part of `CreatedObject` interface
2692
+ */
2693
+ interface ContentStream {
2694
+ contentStreamId: string;
2695
+ repositoryId: string;
2696
+ digest: string;
2697
+ fileName: string;
2698
+ archivePath: string;
2699
+ length: number;
2700
+ mimeType: string;
2701
+ }
2702
+ /**
2703
+ * Interface providng properties of uploaded object type
2704
+ */
2705
+ interface UploadResult {
2706
+ objectId: string | string[];
2707
+ contentStreamId: string;
2708
+ filename: string;
2709
+ label?: string;
2710
+ }
2711
+ /**
2712
+ * Interface that was used by upload service
2713
+ */
2714
+ interface CreatedObject {
2715
+ body?: {
2716
+ objects: {
2717
+ properties: any;
2718
+ contentStreams?: ContentStream[];
2719
+ }[];
2720
+ };
2721
+ }
2722
+
2723
+ /**
2724
+ * Service for providing upload of different object types into a client.
2725
+ */
2726
+ declare class UploadService {
2727
+ #private;
2728
+ status$: Observable<ProgressStatus>;
2729
+ uploadStatus$: Observable<boolean | null>;
2730
+ /**
2731
+ * Upload a file.
2732
+ * @param url The URL to upload the file to
2733
+ * @param file The file to be uploaded
2734
+ * @param label A label that will show up in the upload overlay dialog while uploading
2735
+ *
2736
+ * @deprecated use uploadFile instead. `label`, `silent` as well as `scope` can be provided through `options`.
2737
+ */
2738
+ upload(url: string, file: File, label?: string, silent?: boolean): Observable<any>;
2739
+ /**
2740
+ * Uploads a single file to the specified URL using the structured `FileUploadOptions` object.
2741
+ *
2742
+ * This is the preferred alternative to the legacy `upload()` method. It accepts a typed
2743
+ * options object instead of individual parameters, which makes it easier to pass optional
2744
+ * settings such as `silent` mode and `scope` without relying on positional arguments.
2745
+ *
2746
+ * **Behavior:**
2747
+ * - If `options.silent` is `false` (default), the upload appears in the upload overlay dialog
2748
+ * and progress is tracked via `status$`
2749
+ * - If `options.silent` is `true`, the upload runs quietly in the background with no UI feedback
2750
+ * - `options.label` is shown in the overlay dialog during upload; falls back to `file.name` if omitted
2751
+ * - `options.scope` tags the upload with a named scope, enabling an `UploadProgressComponent`
2752
+ * configured with the same scope to display only the uploads relevant to its section of the UI
2753
+ *
2754
+ * @param url - The backend URL to POST the file to
2755
+ * @param file - The `File` object to be uploaded
2756
+ * @param options - Upload configuration: label, silent mode, and optional scope
2757
+ * @returns An `Observable` that emits the server response on completion
2758
+ *
2759
+ * @example
2760
+ * ```typescript
2761
+ * // Standard upload with progress indicator
2762
+ * this.uploadService.uploadFile(url, file, { label: 'Uploading contract.pdf' }).subscribe();
2763
+ *
2764
+ * // Silent upload (no UI, runs in background)
2765
+ * this.uploadService.uploadFile(url, file, { label: 'document.pdf', silent: true }).subscribe();
2766
+ *
2767
+ * // Scoped upload — only the UploadProgressComponent with scope 'profile-editor' will show this
2768
+ * this.uploadService.uploadFile(url, file, { label: 'photo.jpg', scope: 'profile-editor' }).subscribe();
2769
+ * ```
2770
+ */
2771
+ uploadFile(url: string, file: File, options: FileUploadOptions): Observable<unknown>;
2772
+ /**
2773
+ * Upload files using multipart upload.
2774
+ * @param url The URL to upload the files to
2775
+ * @param files The files to be uploaded
2776
+ * @param data Data to be send along with the files
2777
+ * @param label A label that will show up in the upload overlay dialog while uploading
2778
+ *
2779
+ * @deprecated Use multipartUpload(url, files, options, data) instead. Provide scope through options.
2780
+ */
2781
+ uploadMultipart(url: string, files: File[], data?: any, label?: string, silent?: boolean): Observable<any>;
2782
+ /**
2783
+ * Uploads multiple files to the specified URL using a multipart/form-data request.
2784
+ *
2785
+ * This is the preferred method for multi-file uploads. It accepts a typed `FileUploadOptions`
2786
+ * object for configuration, making it easier to pass `scope` and other options compared
2787
+ * to the legacy `uploadMultipart()` overload.
2788
+ *
2789
+ * **Behavior:**
2790
+ * - All files are bundled into a single `FormData` payload under the `files` field
2791
+ * - Optional `data` is appended as a JSON blob under the `data` field
2792
+ * - If `options.silent` is `false` (default), upload progress is shown in the overlay dialog
2793
+ * - If `options.silent` is `true`, the upload runs in the background with no UI feedback
2794
+ * - `options.scope` tags the upload with a named scope, enabling an `UploadProgressComponent`
2795
+ * configured with the same scope to display only the uploads relevant to its section of the UI
2796
+ *
2797
+ * @param url - The backend URL to POST the multipart request to
2798
+ * @param files - Array of `File` objects to upload
2799
+ * @param options - Upload configuration: label (required), silent mode, and optional scope
2800
+ * @param data - Optional metadata object to send alongside the files (serialized as JSON)
2801
+ * @returns An `Observable` that emits the server response on completion
2802
+ *
2803
+ * @example
2804
+ * ```typescript
2805
+ * // Upload files with a visible progress indicator
2806
+ * this.uploadService.multipartUpload(url, files, { label: 'Uploading 3 files' }).subscribe();
2807
+ *
2808
+ * // Upload files with additional metadata
2809
+ * this.uploadService
2810
+ * .multipartUpload(url, files, { label: 'Batch upload' }, { folderId: 'abc123' })
2811
+ * .subscribe();
2812
+ *
2813
+ * // Scoped upload — only the UploadProgressComponent with scope 'mail-editor' will show this
2814
+ * this.uploadService
2815
+ * .multipartUpload(url, files, { label: 'attachments', scope: 'mail-editor' })
2816
+ * .subscribe();
2817
+ * ```
2818
+ */
2819
+ multipartUpload(url: string, files: File[], options: FileUploadOptions, data?: unknown): Observable<unknown>;
2820
+ /**
2821
+ * Creates a document on the server by sending structured metadata without a file attachment.
2822
+ *
2823
+ * Unlike `uploadFile()` and `multipartUpload()`, this method does not attach any file content.
2824
+ * It is intended for creating document objects from metadata alone — for example, creating
2825
+ * a folder, a placeholder record, or a document entry where the content stream will be
2826
+ * provided separately.
2827
+ *
2828
+ * **Behavior:**
2829
+ * - Sends the `data` object as a JSON blob inside a `FormData` payload
2830
+ * - Progress is NOT tracked — this method does not appear in `status$`
2831
+ * - Errors are re-thrown so the caller can handle them via the returned `Observable`
2832
+ *
2833
+ * @param url - The backend URL to POST the document creation request to
2834
+ * @param data - Metadata object describing the document to be created
2835
+ * @returns An `Observable` that emits the created object(s) on success
2836
+ *
2837
+ * @example
2838
+ * ```typescript
2839
+ * const metadata = {
2840
+ * objectTypeId: 'yuv:document',
2841
+ * properties: { 'yuv:title': 'My Document' }
2842
+ * };
2843
+ *
2844
+ * this.uploadService.createDocument(url, metadata).subscribe((result) => {
2845
+ * console.log('Created:', result);
2846
+ * });
2847
+ * ```
2848
+ */
2849
+ createDocument(url: string, data: any): Observable<any>;
2850
+ /**
2851
+ * Cancels one or all active upload requests and removes them from the tracked upload list.
2852
+ *
2853
+ * This method unsubscribes from the underlying HTTP request, effectively aborting the upload,
2854
+ * and removes the corresponding item(s) from the internal status list. The updated status
2855
+ * is then emitted via `status$` so that any subscribed UI components (e.g. the upload overlay)
2856
+ * can reflect the change immediately.
2857
+ *
2858
+ * **Behavior:**
2859
+ * - If `id` is provided, only the matching upload item is cancelled
2860
+ * - If `id` is omitted, **all** active uploads are cancelled at once
2861
+ * - If the provided `id` does not match any active item, the call is a no-op
2862
+ * - After cancellation, the error count on `status$` is recalculated
2863
+ *
2864
+ * @param id - Optional ID of the upload item to cancel. Omit to cancel all active uploads.
2865
+ *
2866
+ * @example
2867
+ * ```typescript
2868
+ * // Cancel a specific upload by ID
2869
+ * this.uploadService.cancelItem(uploadId);
2870
+ *
2871
+ * // Cancel all ongoing uploads (e.g. on component destroy or user confirmation)
2872
+ * this.uploadService.cancelItem();
2873
+ * ```
2874
+ */
2875
+ cancelItem(id?: string): void;
2876
+ static ɵfac: i0.ɵɵFactoryDeclaration<UploadService, never>;
2877
+ static ɵprov: i0.ɵɵInjectableDeclaration<UploadService>;
2878
+ }
2879
+
2880
+ /**
2881
+ * Service providing user related remote storage. This service is used load and
2882
+ * store user related data from any device.
2883
+ */
2884
+ declare class UserStorageService {
2885
+ #private;
2886
+ /**
2887
+ *
2888
+ * @param section section key for
2889
+ * @param value value to be stored
2890
+ */
2891
+ getItem(section: string): Observable<Record<string, any> | undefined>;
2892
+ setItem(section: string, data: Record<string, any>): Observable<any>;
2893
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserStorageService, never>;
2894
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserStorageService>;
2895
+ }
2896
+
2897
+ declare const YUV_USER: InjectionToken<YuvUser | undefined>;
2898
+ declare const provideUser: (user: YuvUser) => Provider;
2899
+
2900
+ /**
2901
+ * Service providing user account configurations.
2902
+ */
2903
+ declare class UserService {
2904
+ #private;
2905
+ private backend;
2906
+ private translate;
2907
+ private logger;
2908
+ private system;
2909
+ private eventService;
2910
+ private config;
2911
+ user$: Observable<YuvUser | undefined>;
2912
+ globalSettings: Map<any, any>;
2913
+ userPermissions?: UserPermissions;
2914
+ /**
2915
+ * @ignore
2916
+ */
2917
+ constructor(backend: BackendService, translate: TranslateService, logger: Logger, system: SystemService, eventService: EventService, config: ConfigService);
2918
+ private getUiDirection;
2919
+ /**
2920
+ * Set a new current user
2921
+ * @param user The user to be set as current user
2922
+ */
2923
+ setCurrentUser(user: YuvUser): void;
2924
+ getCurrentUser(): YuvUser;
2925
+ get hasAdminRole(): boolean;
2926
+ get hasSystemRole(): boolean;
2927
+ get hasAdministrationRoles(): boolean;
2928
+ get hasManageSettingsRole(): boolean;
2929
+ get isAdvancedUser(): boolean;
2930
+ get isRetentionManager(): boolean;
2931
+ canCreateObjects: boolean;
2932
+ /**
2933
+ * Change the users client locale
2934
+ * @param iso ISO locale string to be set as new client locale
2935
+ */
2936
+ changeClientLocale(iso: string, persist?: boolean): void;
2937
+ saveUserSettings(settings: Partial<UserSettings>): Observable<any>;
2938
+ fetchUserSettings(): Observable<UserSettings>;
2939
+ private setUserPermissions;
2940
+ private mapPermissions;
2941
+ /**
2942
+ * Search for a user based on a search term
2943
+ * @param term Search term
2944
+ * @param excludeMe whether or not to exclude myself from the result list
2945
+ * @param roles narrow down the search results by certain roles
2946
+ */
2947
+ queryUser(term: string, excludeMe?: boolean, roles?: string[]): Observable<YuvUser[]>;
2948
+ getUserById(id: string): Observable<YuvUser>;
2949
+ logout(redirRoute?: string): void;
2950
+ getSettings(section: string): Observable<any>;
2951
+ saveObjectConfig(objectConfigs: StoredObjectConfig): Observable<any>;
2952
+ loadObjectConfig(): Observable<StoredObjectConfig | undefined>;
2953
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
2954
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
2955
+ }
2956
+
2957
+ declare enum Sort {
2958
+ ASC = "asc",
2959
+ DESC = "desc"
2960
+ }
2961
+ declare enum ClassificationPrefix {
2962
+ EMAIL = "mailto:",
2963
+ EMAIL_ICON = "envelope",
2964
+ PHONE = "tel:",
2965
+ PHONE_ICON = "phone",
2966
+ URL = "",
2967
+ URL_ICON = "globe"
2968
+ }
2969
+ type FormattedMailTo = string | string[];
2970
+
2971
+ declare class Utils {
2972
+ static readonly DEFAULT_TIME_OFFSET_V2: number;
2973
+ static optionsToURLParams(options: Record<string, any>): string;
2974
+ /**
2975
+ * Get all focusable child elements of a host element.
2976
+ * @param host The host/parent element
2977
+ * @returns Array of focusable child elements
2978
+ */
2979
+ static getFocusableChildren(host: HTMLElement): Element[];
2980
+ static hasProperty(o: unknown, property: string): boolean;
2981
+ static patternToRegExp(pattern: string): RegExp;
2982
+ /**
2983
+ * Utility method for adding parameters to a given URI.
2984
+ *
2985
+ * @param uri The uri string to attach the parameters to
2986
+ * @param params The object containing parameters to be appended
2987
+ * @returns the given uri extended by the given parameters + remove empty parameters
2988
+ */
2989
+ static buildUri(uri: string, params: any): string;
2990
+ static formatMailTo(value: FormattedMailTo, isEmail: boolean): FormattedMailTo;
2991
+ /**
2992
+ * Creates a unique identifier.
2993
+ * @returns A Universally Unique Identifier
2994
+ */
2995
+ static uuid(): string;
2996
+ /**
2997
+ * Encode a filename safe for sending chars beyond ASCII-7bit using quoted printable encoding.
2998
+ *
2999
+ * @param filename The file name
3000
+ * @returns The quoted printable filename
3001
+ */
3002
+ static encodeFileName(filename: string): string;
3003
+ /**
3004
+ *
3005
+ * @param boolean s
3006
+ * @return string
3007
+ */
3008
+ private static _p8;
3009
+ /**
3010
+ * Converts a javascript text to the utf-8 converted variant.
3011
+ * See [unicode]{@link http://thlist.onlinehome.de/thomas_homepage/unicode/UTF-8%20Konvertierung%20mittels%20JavaScript.htm} for reference
3012
+ *
3013
+ * @param rawinput The input string
3014
+ * @returns The utf-8 converted string
3015
+ */
3016
+ private static encodeToUtf8;
3017
+ /**
3018
+ * See [quoted-printable]{@link https://github.com/mathiasbynens/quoted-printable/blob/master/quoted-printable.js}
3019
+ **/
3020
+ private static quotedPrintable;
3021
+ /**
3022
+ * Encode symbols that are definitely unsafe (i.e. unsafe in any context). The regular expression describes these unsafe symbols.
3023
+ *
3024
+ * @param rawinput Input string to be encoded
3025
+ * @returns The encoded string
3026
+ */
3027
+ private static encodeToQuotedPrintable;
3028
+ /**
3029
+ * Sorts An Array of Object by given key
3030
+ * See [ng-packagr issues 696]{@link https://github.com/dherges/ng-packagr/issues/696}
3031
+ *
3032
+ * @param key
3033
+ * @param order
3034
+ * @param locales
3035
+ * @param options
3036
+ * @returns (a: any, b: any) => number
3037
+ */
3038
+ static sortValues(key?: string, order?: Sort, locales?: string | string[], options?: Intl.CollatorOptions): (a: any, b: any) => number;
3039
+ /**
3040
+ * [ng-packagr issues 696]{@link https://github.com/dherges/ng-packagr/issues/696}
3041
+ *
3042
+ * @param object
3043
+ * @param string key
3044
+ * @returns any
3045
+ */
3046
+ static getProperty(object: any, key?: string): any;
3047
+ /**
3048
+ * @param object
3049
+ * @param key
3050
+ * @param value
3051
+ */
3052
+ static setProperty(object: any, key: string | undefined, value: any): any;
3053
+ /**
3054
+ * Use on Observable.catch or Observable.subscribe to return empty value
3055
+ * [ng-packagr issues 696]{@link https://github.com/dherges/ng-packagr/issues/696}
3056
+ *
3057
+ * @param (error) => any callback
3058
+ * @returns (error) => Observable<never>
3059
+ */
3060
+ static empty(callback?: (error: any) => any): () => rxjs.Observable<never>;
3061
+ static getBaseHref(removeTrailingSlash?: boolean): string;
3062
+ /**
3063
+ * Truncate a string (first argument) if it is longer than the given maximum string length (second argument).
3064
+ * Return the truncated string with a ... ending or whats provided.
3065
+ *
3066
+ * @param string str
3067
+ * @param number num
3068
+ */
3069
+ static truncateString(str: string, num: number, ending?: string): string;
3070
+ /**
3071
+ * Get the TimeZone Offsest as minutes
3072
+ */
3073
+ static getTimezoneOffset(): number;
3074
+ /**
3075
+ * Transform to date with yyyy-mm-dd format
3076
+ */
3077
+ static transformDate(v: Date | string): string;
3078
+ static isEdge(): boolean;
3079
+ static isFirefox(): boolean;
3080
+ static isSafari(): boolean;
3081
+ static isEmpty(obj: any): boolean;
3082
+ static isEmptyOrFalse(val: any): boolean;
3083
+ static escapeHtml(str: string): string;
3084
+ static arrayToObject<T>(arr?: any[], keyProperty?: string | ((o: any) => string), valueProperty?: string | ((o: any) => any)): {
3085
+ [key: string]: T;
3086
+ };
3087
+ static downloadBlob(content: any, mimeType: string, filename: string): void;
3088
+ static isValidDate(value: any): value is Date;
3089
+ static getDateFrom(value?: Date | string | null): Date | undefined;
3090
+ static getDateRangeFrom(dateRange: RangeValue<Date | string>): RangeValue<Date> | undefined;
3091
+ }
3092
+
3093
+ /**
3094
+ * @ignore
3095
+ */
3096
+ declare class LocaleDecimalPipe extends DecimalPipe implements PipeTransform {
3097
+ translate: TranslateService;
3098
+ constructor(translate: TranslateService);
3099
+ transform(value: any, digits?: string, locale?: string): string | null | any;
3100
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocaleDecimalPipe, never>;
3101
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocaleDecimalPipe, "localeDecimal", true>;
3102
+ }
3103
+ /**
3104
+ * @ignore
3105
+ */
3106
+ declare class LocalePercentPipe extends PercentPipe implements PipeTransform {
3107
+ translate: TranslateService;
3108
+ constructor(translate: TranslateService);
3109
+ transform(value: any, digits?: string, locale?: string): string | null | any;
3110
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalePercentPipe, never>;
3111
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocalePercentPipe, "localePercent", true>;
3112
+ }
3113
+ /**
3114
+ * @ignore
3115
+ */
3116
+ declare class LocaleCurrencyPipe extends CurrencyPipe implements PipeTransform {
3117
+ translate: TranslateService;
3118
+ constructor(translate: TranslateService);
3119
+ transform(value: any, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | boolean, digits?: string, locale?: string): string | null | any;
3120
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocaleCurrencyPipe, never>;
3121
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocaleCurrencyPipe, "localeCurrency", true>;
3122
+ }
3123
+ declare class LocaleNumberPipe implements PipeTransform {
3124
+ translate: TranslateService;
3125
+ decimalPipe: LocaleDecimalPipe;
3126
+ decimalSeparator: string;
3127
+ separator: string;
3128
+ constructor(translate: TranslateService);
3129
+ transform(value: any, grouping?: boolean, pattern?: string, scale?: number, digits?: string, locale?: string): string | null;
3130
+ private updateSeparators;
3131
+ stringToNumber(value: string): number;
3132
+ numberToString(value: number, grouping?: boolean, pattern?: string, scale?: number): string | null;
3133
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocaleNumberPipe, never>;
3134
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocaleNumberPipe, "localeNumber", true>;
3135
+ }
3136
+
3137
+ /**
3138
+ * This pipe transforms its input (supposed to be a file size in bytes) into a more
3139
+ * human readable format like for example 1MB or 200KB.
3140
+ *
3141
+ * @example
3142
+ * <div *ngFor="let size of file | fileSize">...</div>
3143
+ */
3144
+ declare class FileSizePipe extends LocaleNumberPipe implements PipeTransform {
3145
+ private k;
3146
+ private sizes;
3147
+ transform(bytes?: number): string;
3148
+ stringToNumber(value: string): number;
3149
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileSizePipe, never>;
3150
+ static ɵpipe: i0.ɵɵPipeDeclaration<FileSizePipe, "fileSize", true>;
3151
+ }
3152
+
3153
+ type Formats = 'short' | 'medium' | 'shortDate';
3154
+ declare class LocaleDatePipe implements PipeTransform {
3155
+ translate: TranslateService;
3156
+ constructor(translate: TranslateService);
3157
+ transform(value: string | number | Date | undefined, format?: Formats): string;
3158
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocaleDatePipe, never>;
3159
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocaleDatePipe, "localeDate", true>;
3160
+ }
3161
+
3162
+ /**
3163
+ * This pipe bypass security and trust the given value to be safe HTML.
3164
+ * Only use this when the bound HTML is unsafe (e.g. contains script tags and the code should be executed.).
3165
+ * @example
3166
+ * <div [innerHtml]="value | safeHtml"></div>
3167
+ */
3168
+ declare class SafeHtmlPipe implements PipeTransform {
3169
+ private sanitizer;
3170
+ constructor(sanitizer: DomSanitizer);
3171
+ transform(style: any): SafeHtml;
3172
+ static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
3173
+ static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", true>;
3174
+ }
3175
+ /**
3176
+ * This pipe bypass security and trust the given value to be a safe style URL, i.e. a value that can be used in hyperlinks or img src.
3177
+ * @example
3178
+ * <iframe [src]="previewSrc | safeUrl"></iframe>
3179
+ */
3180
+ declare class SafeUrlPipe implements PipeTransform {
3181
+ private sanitizer;
3182
+ constructor(sanitizer: DomSanitizer);
3183
+ transform(url: any): SafeResourceUrl;
3184
+ static ɵfac: i0.ɵɵFactoryDeclaration<SafeUrlPipe, never>;
3185
+ static ɵpipe: i0.ɵɵPipeDeclaration<SafeUrlPipe, "safeUrl", true>;
3186
+ }
3187
+
3188
+ /**
3189
+ * @ignore
3190
+ */
3191
+ declare class KeysPipe implements PipeTransform {
3192
+ transform(value: any): any;
3193
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeysPipe, never>;
3194
+ static ɵpipe: i0.ɵɵPipeDeclaration<KeysPipe, "keys", true>;
3195
+ }
3196
+
3197
+ interface NativeNotificationOptions {
3198
+ options: NotificationOptions;
3199
+ preventOnTabActive?: boolean;
3200
+ onClick?: () => void;
3201
+ }
3202
+
3203
+ declare class NativeNotificationService {
3204
+ requestPermission(): void;
3205
+ showNotification(title: string, options?: NativeNotificationOptions): void;
3206
+ static ɵfac: i0.ɵɵFactoryDeclaration<NativeNotificationService, never>;
3207
+ static ɵprov: i0.ɵɵInjectableDeclaration<NativeNotificationService>;
3208
+ }
3209
+
3210
+ type AvailabilityState = 'enabled' | 'disabled';
3211
+ type Requirements = Record<string, string[]>;
3212
+ interface YuvAvailableBackendApps {
3213
+ name: string;
3214
+ state: AvailabilityState;
3215
+ }
3216
+
3217
+ declare const AVAILABLE_BACKEND_APPS: InjectionToken<YuvAvailableBackendApps[] | undefined>;
3218
+ declare const provideAvailabilityManagement: (user: YuvAvailableBackendApps[]) => Provider;
3219
+ declare const CLIENT_APP_REQUIREMENTS: InjectionToken<Requirements | null>;
3220
+ declare const provideRequirements: (requirements: Requirements) => Provider;
3221
+
3222
+ /**
3223
+ * Registers a global `beforeunload` event listener that prevents the browser
3224
+ * from navigating away (tab close / reload) whenever there are pending tasks
3225
+ * tracked by {@link PendingChangesService}.
3226
+ *
3227
+ * Usage in `app.config.ts`:
3228
+ * ```ts
3229
+ * provideBeforeUnloadProtection()
3230
+ * ```
3231
+ */
3232
+ declare function provideBeforeUnloadProtection(): EnvironmentProviders;
3233
+
3234
+ declare function provideNavigationProtection(): EnvironmentProviders[];
3235
+
3236
+ /**
3237
+ * Provides environment-level protection against the browser back/forward buttons
3238
+ * while a Material dialog is open.
3239
+ *
3240
+ * Behavior:
3241
+ * 1. Listens for the browser `popstate` event (triggered by back/forward navigation).
3242
+ * 2. If at least one `MatDialog` is open, the URL is immediately restored via
3243
+ * `history.pushState` so the Angular router does not pick up the navigation.
3244
+ * 3. If `PendingChangesService` reports a pending task the user is prompted for
3245
+ * confirmation — the topmost dialog is closed only when the user agrees to discard.
3246
+ * 4. If there are no pending changes the topmost dialog is closed directly.
3247
+ */
3248
+ declare function providePopstateDialogProtection(): EnvironmentProviders;
3249
+
3250
+ interface YuvClientCoreConfig {
3251
+ translations: string[];
3252
+ }
3253
+ declare const provideYuvClientCore: (options?: YuvClientCoreConfig, customEvents?: string[], customEventsTrustedOrigin?: string[], disableBeforeUnloadProtection?: boolean, disablePopstateDialogProtection?: boolean) => EnvironmentProviders;
3254
+
3255
+ export { AFO_STATE, AVAILABLE_BACKEND_APPS, AdministrationRoles, ApiBase, AppCacheService, AuditField, AuditService, AuthService, BackendService, BaseObjectTypeField, BpmService, CLIENT_APP_REQUIREMENTS, CORE_CONFIG, CUSTOM_CONFIG, CUSTOM_YUV_EVENT_PREFIX, CatalogService, Classification, ClassificationPrefix, ClientCacheService, ClientDefaultsObjectTypeField, ClipboardService, ColumnConfigSkipFields, ConfigService, ConnectionService, ContentStreamAllowed, ContentStreamField, CoreConfig, DeviceScreenOrientation, DeviceService, DialogCloseGuard, Direction, DmsObject, DmsService, EventService, FileSizePipe, IdmService, InternalFieldType, KeysPipe, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, Logger, LoginStateName, NativeNotificationService, NotificationService, ObjectConfigService, ObjectFormControl, ObjectFormControlWrapper, ObjectFormGroup, ObjectTag, ObjectTypeClassification, ObjectTypePropertyClassification, Operator, OperatorLabel, ParentField, PendingChangesGuard, PendingChangesService, PredictionService, ProcessAction, RelationshipTypeField, RetentionField, RetentionService, SafeHtmlPipe, SafeUrlPipe, SearchService, SearchUtils, SecondaryObjectTypeClassification, SessionStorageService, Situation, Sort, SystemResult, SystemSOT, SystemService, SystemType, TENANT_HEADER, TabGuardDirective, ToastService, UploadService, UserRoles, UserService, UserStorageService, Utils, YUV_USER, YuvError, YuvEventType, YuvUser, init_moduleFnc, provideAvailabilityManagement, provideBeforeUnloadProtection, provideNavigationProtection, providePopstateDialogProtection, provideRequirements, provideUser, provideYuvClientCore };
3256
+ export type { AggregateResult, Aggregation, AggregationEntry, ApplicableSecondaries, AuditEntry, AuditQueryOptions, AuditQueryResult, AuthData, AvailabilityState, BaseCatalog, CacheEntry, Catalog, CatalogEntry, ClassificationEntry, ClipboardData, ClipboardDataMode, ClipboardStore, ConfigTypeOption, ConnectionState, ContentStream$1 as ContentStream, CoreApiBatchResponse, CoreApiObject, CoreApiObjectProperty, CoreApiResponse, CreatedObject, DateRange, DeviceScreen, DeviceScreenBounds, DmsObjectAuditInfo, DmsObjectPermissions, DmsObjectTag, FetchTaskOptions, FilesizeRange, FlavoredDmsObject, FormElementBoolean, FormElementDatetime, FormElementDecimal, FormElementInteger, FormElementString, FormElementTable, FormattedMailTo, GenericObjectType, HttpDeleteOptions, HttpOptions, ILogger, IdmCachedUser, IdmUserCache, IdmUserResponse, InboxTask, IsAny, Localization, LoginDeviceResult, LoginState, ObjectConfig, ObjectConfigAction, ObjectConfigBadge, ObjectConfigBucket, ObjectConfigIcon, ObjectConfigProperty, ObjectConfigRecord, ObjectCopyOptions, ObjectCreateFlavor, ObjectDeleteError, ObjectDeleteOptions, ObjectDeleteResult, ObjectFormModel, ObjectMoveOptions, ObjectOptions, ObjectType, ObjectTypeField, ObjectTypeFieldInternalType, ObjectTypeFieldType, ObjectTypeFlavor, ObjectTypePermissions, OrganizationSetEntry, PredictionClassifyResult, PredictionClassifyResultItem, PredictionExtractResult, PredictionExtractResultItem, Process, ProcessCreatePayload, ProcessPostPayload, ProcessUser, ProcessVariable, ProgressStatus, ProgressStatusItem, RangeValue, Relationship, RendererType, Requirements, ResolvedObjectConfig, ResolvedObjectConfigItem, RetentionState, SchemaResponse, SchemaResponseDocumentTypeDefinition, SchemaResponseFieldDefinition, SchemaResponseFolderTypeDefinition, SchemaResponseRelationDefinition, SchemaResponseTypeDefinition, ScreenSize, SearchFilter, SearchQuery, SearchResponse, SearchResult, SearchResultContent, SearchResultItem, SearchResultPermissions, SecondaryObjectType, SortOption, StoredObjectConfig, StoredToken, SystemDefinition, TableFilter, ToastLevel, ToastOptions, ToastPosition, Trigger, UploadResult, UserPermissions, UserPermissionsSection, UserSettings, VirtualObjectType, VisibleObjectTag, YuvAvailableBackendApps, YuvClientCoreConfig, YuvConfig, YuvConfigLanguages, YuvEvent, YuvEventCreatedData, YuvEventDeletedData, YuvEventUpdatedData, YuvFormGroup, YuvFormGroupWrapper, YuvInitError, YuvMessage, _ObjectTypeBase, _ObjectTypeFieldBase };