@itwin/presentation-backend 4.0.0-dev.8 → 4.0.0-dev.81

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 (70) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/lib/cjs/assets/primary-presentation-rules/ElementProperties.PresentationRuleSet.json +14 -14
  3. package/lib/cjs/assets/supplemental-presentation-rules/BisCore.PresentationRuleSet.json +726 -762
  4. package/lib/cjs/assets/supplemental-presentation-rules/Functional.PresentationRuleSet.json +139 -139
  5. package/lib/cjs/presentation-backend/BackendLoggerCategory.d.ts +41 -41
  6. package/lib/cjs/presentation-backend/BackendLoggerCategory.js +50 -50
  7. package/lib/cjs/presentation-backend/BackendLoggerCategory.js.map +1 -1
  8. package/lib/cjs/presentation-backend/Constants.d.ts +8 -8
  9. package/lib/cjs/presentation-backend/Constants.js +40 -36
  10. package/lib/cjs/presentation-backend/Constants.js.map +1 -1
  11. package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts +11 -11
  12. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js +272 -274
  13. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js.map +1 -1
  14. package/lib/cjs/presentation-backend/NativePlatform.d.ts +87 -87
  15. package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -1
  16. package/lib/cjs/presentation-backend/NativePlatform.js +147 -140
  17. package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -1
  18. package/lib/cjs/presentation-backend/Presentation.d.ts +106 -106
  19. package/lib/cjs/presentation-backend/Presentation.d.ts.map +1 -1
  20. package/lib/cjs/presentation-backend/Presentation.js +148 -150
  21. package/lib/cjs/presentation-backend/Presentation.js.map +1 -1
  22. package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts +11 -12
  23. package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts.map +1 -1
  24. package/lib/cjs/presentation-backend/PresentationIpcHandler.js +30 -41
  25. package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -1
  26. package/lib/cjs/presentation-backend/PresentationManager.d.ts +463 -445
  27. package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -1
  28. package/lib/cjs/presentation-backend/PresentationManager.js +317 -311
  29. package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -1
  30. package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts +61 -61
  31. package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts.map +1 -1
  32. package/lib/cjs/presentation-backend/PresentationManagerDetail.js +442 -430
  33. package/lib/cjs/presentation-backend/PresentationManagerDetail.js.map +1 -1
  34. package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts +62 -62
  35. package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -1
  36. package/lib/cjs/presentation-backend/PresentationRpcImpl.js +388 -388
  37. package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -1
  38. package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts +102 -102
  39. package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts.map +1 -1
  40. package/lib/cjs/presentation-backend/RulesetEmbedder.js +287 -282
  41. package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -1
  42. package/lib/cjs/presentation-backend/RulesetManager.d.ts +53 -53
  43. package/lib/cjs/presentation-backend/RulesetManager.js +73 -73
  44. package/lib/cjs/presentation-backend/RulesetManager.js.map +1 -1
  45. package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts +140 -140
  46. package/lib/cjs/presentation-backend/RulesetVariablesManager.js +129 -129
  47. package/lib/cjs/presentation-backend/RulesetVariablesManager.js.map +1 -1
  48. package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts +28 -28
  49. package/lib/cjs/presentation-backend/SelectionScopesHelper.js +226 -229
  50. package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -1
  51. package/lib/cjs/presentation-backend/TemporaryStorage.d.ts +123 -123
  52. package/lib/cjs/presentation-backend/TemporaryStorage.js +151 -151
  53. package/lib/cjs/presentation-backend/TemporaryStorage.js.map +1 -1
  54. package/lib/cjs/presentation-backend/UpdatesTracker.d.ts +27 -27
  55. package/lib/cjs/presentation-backend/UpdatesTracker.js +54 -54
  56. package/lib/cjs/presentation-backend/UpdatesTracker.js.map +1 -1
  57. package/lib/cjs/presentation-backend/Utils.d.ts +49 -49
  58. package/lib/cjs/presentation-backend/Utils.d.ts.map +1 -1
  59. package/lib/cjs/presentation-backend/Utils.js +107 -106
  60. package/lib/cjs/presentation-backend/Utils.js.map +1 -1
  61. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.d.ts +16 -16
  62. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js +55 -51
  63. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js.map +1 -1
  64. package/lib/cjs/presentation-backend/domain/RulesetElements.d.ts +21 -21
  65. package/lib/cjs/presentation-backend/domain/RulesetElements.js +38 -38
  66. package/lib/cjs/presentation-backend/domain/RulesetElements.js.map +1 -1
  67. package/lib/cjs/presentation-backend.d.ts +19 -19
  68. package/lib/cjs/presentation-backend.js +39 -35
  69. package/lib/cjs/presentation-backend.js.map +1 -1
  70. package/package.json +20 -18
@@ -1,446 +1,464 @@
1
- /** @packageDocumentation
2
- * @module Core
3
- */
4
- import { IModelDb } from "@itwin/core-backend";
5
- import { Id64String } from "@itwin/core-bentley";
6
- import { FormatProps, UnitSystemKey } from "@itwin/core-quantity";
7
- import { ComputeSelectionRequestOptions, Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyCompareInfo, HierarchyCompareOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, KeySet, LabelDefinition, MultiElementPropertiesRequestOptions, Node, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SelectionScope, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions, WithCancelEvent } from "@itwin/presentation-common";
8
- import { NativePlatformDefinition } from "./NativePlatform";
9
- import { PresentationManagerDetail } from "./PresentationManagerDetail";
10
- import { RulesetManager } from "./RulesetManager";
11
- import { RulesetVariablesManager } from "./RulesetVariablesManager";
12
- import { BackendDiagnosticsAttribute, BackendDiagnosticsOptions } from "./Utils";
13
- /**
14
- * Presentation manager working mode.
15
- * @public
16
- * @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
17
- */
18
- export declare enum PresentationManagerMode {
19
- /**
20
- * Presentation manager assumes iModels are opened in read-only mode and avoids doing some work
21
- * related to reacting to changes in iModels.
22
- */
23
- ReadOnly = 0,
24
- /**
25
- * Presentation manager assumes iModels are opened in read-write mode and it may need to
26
- * react to changes. This involves some additional work and gives slightly worse performance.
27
- */
28
- ReadWrite = 1
29
- }
30
- /**
31
- * Presentation hierarchy cache mode.
32
- * @public
33
- */
34
- export declare enum HierarchyCacheMode {
35
- /**
36
- * Hierarchy cache is created in memory.
37
- */
38
- Memory = "memory",
39
- /**
40
- * Hierarchy cache is created on disk. In this mode hierarchy cache is persisted between iModel
41
- * openings.
42
- */
43
- Disk = "disk",
44
- /**
45
- * Hierarchy cache is created on disk. In this mode everything is cached in memory while creating hierarchy level
46
- * and persisted in disk cache when whole hierarchy level is created.
47
- *
48
- * **Note:** This mode is still experimental.
49
- */
50
- Hybrid = "hybrid"
51
- }
52
- /**
53
- * Configuration for hierarchy cache.
54
- * @public
55
- */
56
- export declare type HierarchyCacheConfig = MemoryHierarchyCacheConfig | DiskHierarchyCacheConfig | HybridCacheConfig;
57
- /**
58
- * Base interface for all [[HierarchyCacheConfig]] implementations.
59
- * @public
60
- */
61
- export interface HierarchyCacheConfigBase {
62
- mode: HierarchyCacheMode;
63
- }
64
- /**
65
- * Configuration for in-memory hierarchy cache.
66
- *
67
- * @see [Memory cache documentation page]($docs/presentation/advanced/Caching.md#memory-cache)
68
- * @public
69
- */
70
- export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
71
- mode: HierarchyCacheMode.Memory;
72
- }
73
- /**
74
- * Configuration for persistent disk hierarchy cache.
75
- *
76
- * @see [Disk cache documentation page]($docs/presentation/advanced/Caching.md#disk-cache)
77
- * @public
78
- */
79
- export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
80
- mode: HierarchyCacheMode.Disk;
81
- /**
82
- * A directory for Presentation hierarchy cache. If set, the directory must exist.
83
- *
84
- * The default directory depends on the iModel and the way it's opened.
85
- */
86
- directory?: string;
87
- /**
88
- * While the cache itself is stored on a disk, there's still a required small in-memory cache.
89
- * The parameter allows controlling size of that cache. Defaults to `32768000` bytes (32 MB).
90
- */
91
- memoryCacheSize?: number;
92
- }
93
- /**
94
- * Configuration for the experimental hybrid hierarchy cache.
95
- *
96
- * Hybrid cache uses a combination of in-memory and disk caches, which should make it a better
97
- * alternative for cases when there are lots of simultaneous requests.
98
- *
99
- * @see [Hybrid cache documentation page]($docs/presentation/advanced/Caching.md#hybrid-cache)
100
- * @public
101
- */
102
- export interface HybridCacheConfig extends HierarchyCacheConfigBase {
103
- mode: HierarchyCacheMode.Hybrid;
104
- /** Configuration for disk cache used to persist hierarchies. */
105
- disk?: DiskHierarchyCacheConfig;
106
- }
107
- /**
108
- * Configuration for content cache.
109
- *
110
- * @see [Content cache documentation page]($docs/presentation/advanced/Caching.md#content-cache)
111
- * @public
112
- */
113
- export interface ContentCacheConfig {
114
- /**
115
- * Maximum number of content descriptors cached in memory for quicker paged content requests.
116
- *
117
- * Defaults to `100`.
118
- */
119
- size?: number;
120
- }
121
- /**
122
- * Caching configuration options for [[PresentationManager]].
123
- * @public
124
- */
125
- export interface PresentationManagerCachingConfig {
126
- /**
127
- * Hierarchies-related caching options.
128
- *
129
- * @see [Hierarchies cache documentation page]($docs/presentation/advanced/Caching.md#hierarchies-cache)
130
- */
131
- hierarchies?: HierarchyCacheConfig;
132
- /**
133
- * Content-related caching options.
134
- *
135
- * @see [Content cache documentation page]($docs/presentation/advanced/Caching.md#content-cache)
136
- */
137
- content?: ContentCacheConfig;
138
- /**
139
- * Each worker thread (see [[workerThreadsCount]]) opens a connection to an iModel used for a request. This
140
- * means there could be `{workerThreadsCount} * {iModels count}` number of connections. Each connection
141
- * uses a memory cache to increase iModel read performance. This parameter allows controlling the size of that
142
- * cache. Defaults to `32768000` bytes (32 MB).
143
- *
144
- * @see [Worker connections cache documentation page]($docs/presentation/advanced/Caching.md#worker-connections-cache)
145
- */
146
- workerConnectionCacheSize?: number;
147
- }
148
- /**
149
- * A data structure that associates unit systems with a format. The associations are used for
150
- * assigning default unit formats for specific phenomenons (see [[PresentationManagerProps.defaultFormats]]).
151
- *
152
- * @public
153
- */
154
- export interface UnitSystemFormat {
155
- unitSystems: UnitSystemKey[];
156
- format: FormatProps;
157
- }
158
- /**
159
- * Data structure for multiple element properties request response.
160
- * @public
161
- */
162
- export interface MultiElementPropertiesResponse {
163
- total: number;
164
- iterator: () => AsyncGenerator<ElementProperties[]>;
165
- }
166
- /**
167
- * Configuration options for supplying asset directly paths to [[PresentationManager]].
168
- * @public
169
- */
170
- export interface PresentationAssetsRootConfig {
171
- /** Path to `presentation-backend` assets */
172
- backend: string;
173
- /**
174
- * Path to `presentation-common` assets.
175
- *
176
- * @deprecated in 3.x. This path is not used anymore
177
- */
178
- common: string;
179
- }
180
- /**
181
- * Properties that can be used to configure [[PresentationManager]]
182
- * @public
183
- */
184
- export interface PresentationManagerProps {
185
- /**
186
- * Path overrides for presentation backend assets. Need to be overriden by application if it puts these assets someplace else than the default.
187
- *
188
- * By default the path to assets directory is determined during the call of [[Presentation.initialize]] using this algorithm:
189
- *
190
- * - if path of `.js` file that contains [[PresentationManager]] definition contains "presentation-backend", assume the package is in `node_modules` and the directory structure is:
191
- * - `assets/*\*\/*`
192
- * - `presentation-backend/{presentation-backend source files}`
193
- *
194
- * which means the assets can be found through a relative path `../assets/` from the JS file being executed.
195
- *
196
- * - else, assume the backend is webpacked into a single file with assets next to it:
197
- * - `assets/*\*\/*`
198
- * - `{source file being executed}.js`
199
- *
200
- * which means the assets can be found through a relative path `./assets/` from the `{source file being executed}`.
201
- */
202
- presentationAssetsRoot?: string | PresentationAssetsRootConfig;
203
- /**
204
- * A list of directories containing application's presentation rulesets.
205
- */
206
- rulesetDirectories?: string[];
207
- /**
208
- * A list of directories containing application's supplemental presentation rulesets.
209
- */
210
- supplementalRulesetDirectories?: string[];
211
- /**
212
- * A list of directories containing application's locale-specific localized
213
- * string files (in simplified i18next v3 format)
214
- *
215
- * @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
216
- */
217
- localeDirectories?: string[];
218
- /**
219
- * Sets the active locale to use when localizing presentation-related
220
- * strings. It can later be changed through [[PresentationManager.activeLocale]].
221
- *
222
- * @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
223
- */
224
- defaultLocale?: string;
225
- /**
226
- * Sets the active unit system to use for formatting property values with
227
- * units. Default presentation units are used if this is not specified. The active unit
228
- * system can later be changed through [[PresentationManager.activeUnitSystem]] or overriden for each request
229
- * through request options.
230
- */
231
- defaultUnitSystem?: UnitSystemKey;
232
- /**
233
- * A map of default unit formats to use for formatting properties that don't have a presentation format
234
- * in requested unit system.
235
- */
236
- defaultFormats?: {
237
- [phenomenon: string]: UnitSystemFormat;
238
- };
239
- /**
240
- * Should schemas preloading be enabled. If true, presentation manager listens
241
- * for `BriefcaseDb.onOpened` event and force pre-loads all ECSchemas.
242
- *
243
- * @deprecated in 3.x. Use [[PresentationPropsBase.enableSchemasPreload]] instead.
244
- */
245
- enableSchemasPreload?: boolean;
246
- /**
247
- * A number of worker threads to use for handling presentation requests. Defaults to `2`.
248
- */
249
- workerThreadsCount?: number;
250
- /**
251
- * Presentation manager working mode. Backends that use iModels in read-write mode should
252
- * use `ReadWrite`, others might want to set to `ReadOnly` for better performance.
253
- *
254
- * Defaults to [[PresentationManagerMode.ReadWrite]].
255
- *
256
- * @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
257
- */
258
- mode?: PresentationManagerMode;
259
- /**
260
- * The interval (in milliseconds) used to poll for presentation data changes. Only has
261
- * effect in read-write mode (see [[mode]]).
262
- *
263
- * @beta
264
- */
265
- updatesPollInterval?: number;
266
- /** Options for caching. */
267
- caching?: PresentationManagerCachingConfig;
268
- /**
269
- * Use [SQLite's Memory-Mapped I/O](https://sqlite.org/mmap.html) for worker connections. This mode improves performance of handling
270
- * requests with high I/O intensity, e.g. filtering large tables on non-indexed columns. No downsides have been noticed.
271
- *
272
- * Set to a falsy value to turn off. `true` for memory-mapping the whole iModel. Number value for memory-mapping the specified amount of bytes.
273
- *
274
- * @beta
275
- */
276
- useMmap?: boolean | number;
277
- /**
278
- * An identifier which helps separate multiple presentation managers. It's
279
- * mostly useful in tests where multiple presentation managers can co-exist
280
- * and try to share the same resources, which we don't want. With this identifier
281
- * set, managers put their resources into id-named subdirectories.
282
- *
283
- * @internal
284
- */
285
- id?: string;
286
- /** @internal */
287
- addon?: NativePlatformDefinition;
288
- /**
289
- * Localization function when only backend is used.
290
- * @beta
291
- */
292
- getLocalizedString?: (key: string) => string;
293
- /**
294
- * Parameters for gathering diagnostics at the manager level. When supplied, they're used with every request
295
- * made through the manager.
296
- *
297
- * @see [Diagnostics documentation page]($docs/presentation/advanced/Diagnostics.md)
298
- * @beta
299
- */
300
- diagnostics?: BackendDiagnosticsOptions;
301
- }
302
- /**
303
- * Backend Presentation manager which pulls the presentation data from
304
- * an iModel using native platform.
305
- *
306
- * @public
307
- */
308
- export declare class PresentationManager {
309
- private _props;
310
- private _detail;
311
- private _localizationHelper;
312
- /**
313
- * Get / set active locale used for localizing presentation data
314
- * @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
315
- */
316
- activeLocale: string | undefined;
317
- /**
318
- * Creates an instance of PresentationManager.
319
- * @param props Optional configuration properties.
320
- */
321
- constructor(props?: PresentationManagerProps);
322
- /** Get / set active unit system used to format property values with units */
323
- get activeUnitSystem(): UnitSystemKey | undefined;
324
- set activeUnitSystem(value: UnitSystemKey | undefined);
325
- /** Dispose the presentation manager. Must be called to clean up native resources. */
326
- dispose(): void;
327
- /** @internal */
328
- setOnManagerUsedHandler(handler: () => void): void;
329
- /** Properties used to initialize the manager */
330
- get props(): PresentationManagerProps;
331
- /** Get rulesets manager */
332
- rulesets(): RulesetManager;
333
- /**
334
- * Get ruleset variables manager for specific ruleset
335
- * @param rulesetId Id of the ruleset to get variables manager for
336
- */
337
- vars(rulesetId: string): RulesetVariablesManager;
338
- /** @internal */
339
- getNativePlatform: () => NativePlatformDefinition;
340
- /** @internal */
341
- getDetail(): PresentationManagerDetail;
342
- /** @internal */
343
- getRulesetId(rulesetOrId: Ruleset | string): string;
344
- /**
345
- * Retrieves nodes
346
- * @public
347
- */
348
- getNodes(requestOptions: WithCancelEvent<Prioritized<Paged<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Node[]>;
349
- /**
350
- * Retrieves nodes count
351
- * @public
352
- */
353
- getNodesCount(requestOptions: WithCancelEvent<Prioritized<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
354
- /**
355
- * Retrieves hierarchy level descriptor
356
- * @beta
357
- */
358
- getNodesDescriptor(requestOptions: WithCancelEvent<Prioritized<HierarchyLevelDescriptorRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<Descriptor | undefined>;
359
- /**
360
- * Retrieves paths from root nodes to children nodes according to specified instance key paths. Intersecting paths will be merged.
361
- * TODO: Return results in pages
362
- * @public
363
- */
364
- getNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByInstancePathsHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
365
- /**
366
- * Retrieves paths from root nodes to nodes containing filter text in their label.
367
- * TODO: Return results in pages
368
- * @public
369
- */
370
- getFilteredNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByTextHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
371
- /**
372
- * Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
373
- * its related instances for loading related and navigation properties.
374
- * @public
375
- */
376
- getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]>;
377
- /**
378
- * Retrieves the content descriptor which can be used to get content
379
- * @public
380
- */
381
- getContentDescriptor(requestOptions: WithCancelEvent<Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<Descriptor | undefined>;
382
- /**
383
- * Retrieves the content set size based on the supplied content descriptor override
384
- * @public
385
- */
386
- getContentSetSize(requestOptions: WithCancelEvent<Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
387
- /**
388
- * Retrieves the content based on the supplied content descriptor override.
389
- * @public
390
- */
391
- getContent(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Content | undefined>;
392
- /**
393
- * Retrieves distinct values of specific field from the content based on the supplied content descriptor override.
394
- * @param requestOptions Options for the request
395
- * @return A promise object that returns either distinct values on success or an error string on error.
396
- * @public
397
- */
398
- getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
399
- /**
400
- * Retrieves property data in a simplified format for a single element specified by ID.
401
- * @public
402
- */
403
- getElementProperties(requestOptions: WithCancelEvent<Prioritized<SingleElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<ElementProperties | undefined>;
404
- /**
405
- * Retrieves property data in simplified format for multiple elements specified by class or all element.
406
- * @return An object that contains element count and AsyncGenerator to iterate over properties of those elements in batches of undefined size.
407
- * @public
408
- */
409
- getElementProperties(requestOptions: WithCancelEvent<Prioritized<MultiElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<MultiElementPropertiesResponse>;
410
- private getMultipleElementProperties;
411
- /**
412
- * Retrieves display label definition of specific item
413
- * @public
414
- */
415
- getDisplayLabelDefinition(requestOptions: WithCancelEvent<Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition>;
416
- /**
417
- * Retrieves display label definitions of specific items
418
- * @public
419
- */
420
- getDisplayLabelDefinitions(requestOptions: WithCancelEvent<Prioritized<Paged<DisplayLabelsRequestOptions<IModelDb, InstanceKey>>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition[]>;
421
- /**
422
- * Retrieves available selection scopes.
423
- * @public
424
- */
425
- getSelectionScopes(_requestOptions: SelectionScopeRequestOptions<IModelDb> & BackendDiagnosticsAttribute): Promise<SelectionScope[]>;
426
- /**
427
- * Computes selection set based on provided selection scope.
428
- * @public
429
- * @deprecated in 3.x. Use overload with `ComputeSelectionRequestOptions` parameter.
430
- */
431
- computeSelection(requestOptions: SelectionScopeRequestOptions<IModelDb> & {
432
- ids: Id64String[];
433
- scopeId: string;
434
- } & BackendDiagnosticsAttribute): Promise<KeySet>;
435
- /**
436
- * Computes selection based on provided element IDs and selection scope.
437
- * @public
438
- */
439
- computeSelection(requestOptions: ComputeSelectionRequestOptions<IModelDb> & BackendDiagnosticsAttribute): Promise<KeySet>;
440
- /**
441
- * Compares two hierarchies specified in the request options
442
- * @public
443
- */
444
- compareHierarchies(requestOptions: HierarchyCompareOptions<IModelDb, NodeKey>): Promise<HierarchyCompareInfo>;
445
- }
1
+ /** @packageDocumentation
2
+ * @module Core
3
+ */
4
+ import { IModelDb } from "@itwin/core-backend";
5
+ import { Id64String } from "@itwin/core-bentley";
6
+ import { FormatProps, UnitSystemKey } from "@itwin/core-quantity";
7
+ import { SchemaContext } from "@itwin/ecschema-metadata";
8
+ import { ComputeSelectionRequestOptions, Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyCompareInfo, HierarchyCompareOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, KeySet, LabelDefinition, MultiElementPropertiesRequestOptions, Node, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SelectionScope, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions, WithCancelEvent } from "@itwin/presentation-common";
9
+ import { NativePlatformDefinition } from "./NativePlatform";
10
+ import { PresentationManagerDetail } from "./PresentationManagerDetail";
11
+ import { RulesetManager } from "./RulesetManager";
12
+ import { RulesetVariablesManager } from "./RulesetVariablesManager";
13
+ import { BackendDiagnosticsAttribute, BackendDiagnosticsOptions } from "./Utils";
14
+ /**
15
+ * Presentation manager working mode.
16
+ * @public
17
+ * @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
18
+ */
19
+ export declare enum PresentationManagerMode {
20
+ /**
21
+ * Presentation manager assumes iModels are opened in read-only mode and avoids doing some work
22
+ * related to reacting to changes in iModels.
23
+ */
24
+ ReadOnly = 0,
25
+ /**
26
+ * Presentation manager assumes iModels are opened in read-write mode and it may need to
27
+ * react to changes. This involves some additional work and gives slightly worse performance.
28
+ */
29
+ ReadWrite = 1
30
+ }
31
+ /**
32
+ * Presentation hierarchy cache mode.
33
+ * @public
34
+ */
35
+ export declare enum HierarchyCacheMode {
36
+ /**
37
+ * Hierarchy cache is created in memory.
38
+ */
39
+ Memory = "memory",
40
+ /**
41
+ * Hierarchy cache is created on disk. In this mode hierarchy cache is persisted between iModel
42
+ * openings.
43
+ */
44
+ Disk = "disk",
45
+ /**
46
+ * Hierarchy cache is created on disk. In this mode everything is cached in memory while creating hierarchy level
47
+ * and persisted in disk cache when whole hierarchy level is created.
48
+ *
49
+ * **Note:** This mode is still experimental.
50
+ */
51
+ Hybrid = "hybrid"
52
+ }
53
+ /**
54
+ * Configuration for hierarchy cache.
55
+ * @public
56
+ */
57
+ export type HierarchyCacheConfig = MemoryHierarchyCacheConfig | DiskHierarchyCacheConfig | HybridCacheConfig;
58
+ /**
59
+ * Base interface for all [[HierarchyCacheConfig]] implementations.
60
+ * @public
61
+ */
62
+ export interface HierarchyCacheConfigBase {
63
+ mode: HierarchyCacheMode;
64
+ }
65
+ /**
66
+ * Configuration for in-memory hierarchy cache.
67
+ *
68
+ * @see [Memory cache documentation page]($docs/presentation/advanced/Caching.md#memory-cache)
69
+ * @public
70
+ */
71
+ export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
72
+ mode: HierarchyCacheMode.Memory;
73
+ }
74
+ /**
75
+ * Configuration for persistent disk hierarchy cache.
76
+ *
77
+ * @see [Disk cache documentation page]($docs/presentation/advanced/Caching.md#disk-cache)
78
+ * @public
79
+ */
80
+ export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
81
+ mode: HierarchyCacheMode.Disk;
82
+ /**
83
+ * A directory for hierarchy caches. If set, the directory must exist. Relative paths start from `process.cwd()`.
84
+ *
85
+ * The default directory depends on the iModel and the way it's opened.
86
+ */
87
+ directory?: string;
88
+ /**
89
+ * While the cache itself is stored on a disk, there's still a required small in-memory cache.
90
+ * The parameter allows controlling size of that cache. Defaults to `32768000` bytes (32 MB).
91
+ */
92
+ memoryCacheSize?: number;
93
+ }
94
+ /**
95
+ * Configuration for the experimental hybrid hierarchy cache.
96
+ *
97
+ * Hybrid cache uses a combination of in-memory and disk caches, which should make it a better
98
+ * alternative for cases when there are lots of simultaneous requests.
99
+ *
100
+ * @see [Hybrid cache documentation page]($docs/presentation/advanced/Caching.md#hybrid-cache)
101
+ * @public
102
+ */
103
+ export interface HybridCacheConfig extends HierarchyCacheConfigBase {
104
+ mode: HierarchyCacheMode.Hybrid;
105
+ /** Configuration for disk cache used to persist hierarchies. */
106
+ disk?: DiskHierarchyCacheConfig;
107
+ }
108
+ /**
109
+ * Configuration for content cache.
110
+ *
111
+ * @see [Content cache documentation page]($docs/presentation/advanced/Caching.md#content-cache)
112
+ * @public
113
+ */
114
+ export interface ContentCacheConfig {
115
+ /**
116
+ * Maximum number of content descriptors cached in memory for quicker paged content requests.
117
+ *
118
+ * Defaults to `100`.
119
+ */
120
+ size?: number;
121
+ }
122
+ /**
123
+ * Caching configuration options for [[PresentationManager]].
124
+ * @public
125
+ */
126
+ export interface PresentationManagerCachingConfig {
127
+ /**
128
+ * Hierarchies-related caching options.
129
+ *
130
+ * @see [Hierarchies cache documentation page]($docs/presentation/advanced/Caching.md#hierarchies-cache)
131
+ */
132
+ hierarchies?: HierarchyCacheConfig;
133
+ /**
134
+ * Content-related caching options.
135
+ *
136
+ * @see [Content cache documentation page]($docs/presentation/advanced/Caching.md#content-cache)
137
+ */
138
+ content?: ContentCacheConfig;
139
+ /**
140
+ * Each worker thread (see [[workerThreadsCount]]) opens a connection to an iModel used for a request. This
141
+ * means there could be `{workerThreadsCount} * {iModels count}` number of connections. Each connection
142
+ * uses a memory cache to increase iModel read performance. This parameter allows controlling the size of that
143
+ * cache. Defaults to `32768000` bytes (32 MB).
144
+ *
145
+ * @see [Worker connections cache documentation page]($docs/presentation/advanced/Caching.md#worker-connections-cache)
146
+ */
147
+ workerConnectionCacheSize?: number;
148
+ }
149
+ /**
150
+ * A data structure that associates unit systems with a format. The associations are used for
151
+ * assigning default unit formats for specific phenomenons (see [[PresentationManagerProps.defaultFormats]]).
152
+ *
153
+ * @public
154
+ */
155
+ export interface UnitSystemFormat {
156
+ unitSystems: UnitSystemKey[];
157
+ format: FormatProps;
158
+ }
159
+ /**
160
+ * Data structure for multiple element properties request response.
161
+ * @public
162
+ */
163
+ export interface MultiElementPropertiesResponse {
164
+ total: number;
165
+ iterator: () => AsyncGenerator<ElementProperties[]>;
166
+ }
167
+ /**
168
+ * Configuration options for supplying asset paths to [[PresentationManager]].
169
+ * @public
170
+ */
171
+ export interface PresentationAssetsRootConfig {
172
+ /**
173
+ * Path to `presentation-backend` assets. Relative paths start from `process.cwd()`.
174
+ */
175
+ backend: string;
176
+ /**
177
+ * Path to `presentation-common` assets.
178
+ *
179
+ * @deprecated in 3.x. This path is not used anymore
180
+ */
181
+ common: string;
182
+ }
183
+ /**
184
+ * Properties that can be used to configure [[PresentationManager]]
185
+ * @public
186
+ */
187
+ export interface PresentationManagerProps {
188
+ /**
189
+ * Path overrides for presentation backend assets. Need to be overriden by application if it puts these assets someplace else than the default.
190
+ *
191
+ * By default the path to assets directory is determined during the call of [[Presentation.initialize]] using this algorithm:
192
+ *
193
+ * - if path of `.js` file that contains [[PresentationManager]] definition contains "presentation-backend", assume the package is in `node_modules` and the directory structure is:
194
+ * - `assets/*\*\/*`
195
+ * - `presentation-backend/{presentation-backend source files}`
196
+ *
197
+ * which means the assets can be found through a relative path `../assets/` from the JS file being executed.
198
+ *
199
+ * - else, assume the backend is webpacked into a single file with assets next to it:
200
+ * - `assets/*\*\/*`
201
+ * - `{source file being executed}.js`
202
+ *
203
+ * which means the assets can be found through a relative path `./assets/` from the `{source file being executed}`.
204
+ */
205
+ presentationAssetsRoot?: string | PresentationAssetsRootConfig;
206
+ /**
207
+ * A list of directories containing application's presentation rulesets. Relative
208
+ * paths start from `process.cwd()`. The directories are traversed recursively.
209
+ *
210
+ * @note Only files with `.PresentationRuleSet.json` are read.
211
+ */
212
+ rulesetDirectories?: string[];
213
+ /**
214
+ * A list of directories containing application's supplemental presentation rulesets. Relative
215
+ * paths start from `process.cwd()`. The directories are traversed recursively.
216
+ *
217
+ * @note Only files with `.PresentationRuleSet.json` are read.
218
+ */
219
+ supplementalRulesetDirectories?: string[];
220
+ /**
221
+ * A list of directories containing application's locale-specific localized
222
+ * string files (in simplified i18next v3 format)
223
+ *
224
+ * @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
225
+ */
226
+ localeDirectories?: string[];
227
+ /**
228
+ * Sets the active locale to use when localizing presentation-related
229
+ * strings. It can later be changed through [[PresentationManager.activeLocale]].
230
+ *
231
+ * @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
232
+ */
233
+ defaultLocale?: string;
234
+ /**
235
+ * Sets the active unit system to use for formatting property values with
236
+ * units. Default presentation units are used if this is not specified. The active unit
237
+ * system can later be changed through [[PresentationManager.activeUnitSystem]] or overriden for each request
238
+ * through request options.
239
+ */
240
+ defaultUnitSystem?: UnitSystemKey;
241
+ /**
242
+ * A map of default unit formats to use for formatting properties that don't have a presentation format
243
+ * in requested unit system.
244
+ */
245
+ defaultFormats?: {
246
+ [phenomenon: string]: UnitSystemFormat;
247
+ };
248
+ /**
249
+ * Should schemas preloading be enabled. If true, presentation manager listens
250
+ * for `BriefcaseDb.onOpened` event and force pre-loads all ECSchemas.
251
+ *
252
+ * @deprecated in 3.x. Use [[PresentationPropsBase.enableSchemasPreload]] instead.
253
+ */
254
+ enableSchemasPreload?: boolean;
255
+ /**
256
+ * A number of worker threads to use for handling presentation requests. Defaults to `2`.
257
+ */
258
+ workerThreadsCount?: number;
259
+ /**
260
+ * Presentation manager working mode. Backends that use iModels in read-write mode should
261
+ * use `ReadWrite`, others might want to set to `ReadOnly` for better performance.
262
+ *
263
+ * Defaults to [[PresentationManagerMode.ReadWrite]].
264
+ *
265
+ * @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
266
+ */
267
+ mode?: PresentationManagerMode;
268
+ /**
269
+ * The interval (in milliseconds) used to poll for presentation data changes. If not set, presentation
270
+ * data changes are not tracked at all.
271
+ *
272
+ * @beta
273
+ */
274
+ updatesPollInterval?: number;
275
+ /** Options for caching. */
276
+ caching?: PresentationManagerCachingConfig;
277
+ /**
278
+ * Use [SQLite's Memory-Mapped I/O](https://sqlite.org/mmap.html) for worker connections. This mode improves performance of handling
279
+ * requests with high I/O intensity, e.g. filtering large tables on non-indexed columns. No downsides have been noticed.
280
+ *
281
+ * Set to a falsy value to turn off. `true` for memory-mapping the whole iModel. Number value for memory-mapping the specified amount of bytes.
282
+ *
283
+ * @beta
284
+ */
285
+ useMmap?: boolean | number;
286
+ /**
287
+ * An identifier which helps separate multiple presentation managers. It's
288
+ * mostly useful in tests where multiple presentation managers can co-exist
289
+ * and try to share the same resources, which we don't want. With this identifier
290
+ * set, managers put their resources into id-named subdirectories.
291
+ *
292
+ * @internal
293
+ */
294
+ id?: string;
295
+ /** @internal */
296
+ addon?: NativePlatformDefinition;
297
+ /**
298
+ * Localization function to localize data returned by presentation manager when it's used directly on the backend (as opposed to when used through RPC, where
299
+ * data is localized on the frontend). Defaults to English localization.
300
+ *
301
+ * @see [Localization]($docs/presentation/advanced/Localization)
302
+ * @beta
303
+ */
304
+ getLocalizedString?: (key: string) => string;
305
+ /**
306
+ * Callback that provides [SchemaContext]($ecschema-metadata) for supplied [IModelDb]($core-backend).
307
+ * [SchemaContext]($ecschema-metadata) is used for getting metadata required for values formatting.
308
+ * @alpha
309
+ */
310
+ schemaContextProvider?: (imodel: IModelDb) => SchemaContext;
311
+ /**
312
+ * Parameters for gathering diagnostics at the manager level. When supplied, they're used with every request
313
+ * made through the manager.
314
+ *
315
+ * @see [Diagnostics documentation page]($docs/presentation/advanced/Diagnostics.md)
316
+ * @beta
317
+ */
318
+ diagnostics?: BackendDiagnosticsOptions;
319
+ }
320
+ /**
321
+ * Backend Presentation manager which pulls the presentation data from
322
+ * an iModel using native platform.
323
+ *
324
+ * @public
325
+ */
326
+ export declare class PresentationManager {
327
+ private _props;
328
+ private _detail;
329
+ private _localizationHelper;
330
+ /**
331
+ * Get / set active locale used for localizing presentation data
332
+ * @deprecated in 3.x. Use [[PresentationManagerProps.getLocalizedString]] to localize data returned by [[PresentationManager]].
333
+ */
334
+ activeLocale: string | undefined;
335
+ /**
336
+ * Creates an instance of PresentationManager.
337
+ * @param props Optional configuration properties.
338
+ */
339
+ constructor(props?: PresentationManagerProps);
340
+ /** Get / set active unit system used to format property values with units */
341
+ get activeUnitSystem(): UnitSystemKey | undefined;
342
+ set activeUnitSystem(value: UnitSystemKey | undefined);
343
+ /** Dispose the presentation manager. Must be called to clean up native resources. */
344
+ dispose(): void;
345
+ /** @internal */
346
+ setOnManagerUsedHandler(handler: () => void): void;
347
+ /** Properties used to initialize the manager */
348
+ get props(): PresentationManagerProps;
349
+ /** Get rulesets manager */
350
+ rulesets(): RulesetManager;
351
+ /**
352
+ * Get ruleset variables manager for specific ruleset
353
+ * @param rulesetId Id of the ruleset to get variables manager for
354
+ */
355
+ vars(rulesetId: string): RulesetVariablesManager;
356
+ /** @internal */
357
+ getNativePlatform: () => NativePlatformDefinition;
358
+ /** @internal */
359
+ getDetail(): PresentationManagerDetail;
360
+ /** @internal */
361
+ getRulesetId(rulesetOrId: Ruleset | string): string;
362
+ /**
363
+ * Retrieves nodes
364
+ * @public
365
+ */
366
+ getNodes(requestOptions: WithCancelEvent<Prioritized<Paged<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Node[]>;
367
+ /**
368
+ * Retrieves nodes count
369
+ * @public
370
+ */
371
+ getNodesCount(requestOptions: WithCancelEvent<Prioritized<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
372
+ /**
373
+ * Retrieves hierarchy level descriptor
374
+ * @beta
375
+ */
376
+ getNodesDescriptor(requestOptions: WithCancelEvent<Prioritized<HierarchyLevelDescriptorRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<Descriptor | undefined>;
377
+ /**
378
+ * Retrieves paths from root nodes to children nodes according to specified instance key paths. Intersecting paths will be merged.
379
+ * TODO: Return results in pages
380
+ * @public
381
+ */
382
+ getNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByInstancePathsHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
383
+ /**
384
+ * Retrieves paths from root nodes to nodes containing filter text in their label.
385
+ * TODO: Return results in pages
386
+ * @public
387
+ */
388
+ getFilteredNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByTextHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
389
+ /**
390
+ * Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
391
+ * its related instances for loading related and navigation properties.
392
+ * @public
393
+ */
394
+ getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]>;
395
+ /**
396
+ * Retrieves the content descriptor which can be used to get content
397
+ * @public
398
+ */
399
+ getContentDescriptor(requestOptions: WithCancelEvent<Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<Descriptor | undefined>;
400
+ /**
401
+ * Retrieves the content set size based on the supplied content descriptor override
402
+ * @public
403
+ */
404
+ getContentSetSize(requestOptions: WithCancelEvent<Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
405
+ /**
406
+ * Retrieves the content based on the supplied content descriptor override.
407
+ * @public
408
+ */
409
+ getContent(requestOptions: WithCancelEvent<Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>>> & BackendDiagnosticsAttribute): Promise<Content | undefined>;
410
+ /**
411
+ * Retrieves distinct values of specific field from the content based on the supplied content descriptor override.
412
+ * @param requestOptions Options for the request
413
+ * @return A promise object that returns either distinct values on success or an error string on error.
414
+ * @public
415
+ */
416
+ getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
417
+ /**
418
+ * Retrieves property data in a simplified format for a single element specified by ID.
419
+ * @public
420
+ */
421
+ getElementProperties(requestOptions: WithCancelEvent<Prioritized<SingleElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<ElementProperties | undefined>;
422
+ /**
423
+ * Retrieves property data in simplified format for multiple elements specified by class or all element.
424
+ * @return An object that contains element count and AsyncGenerator to iterate over properties of those elements in batches of undefined size.
425
+ * @public
426
+ */
427
+ getElementProperties(requestOptions: WithCancelEvent<Prioritized<MultiElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<MultiElementPropertiesResponse>;
428
+ private getMultipleElementProperties;
429
+ /**
430
+ * Retrieves display label definition of specific item
431
+ * @public
432
+ */
433
+ getDisplayLabelDefinition(requestOptions: WithCancelEvent<Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition>;
434
+ /**
435
+ * Retrieves display label definitions of specific items
436
+ * @public
437
+ */
438
+ getDisplayLabelDefinitions(requestOptions: WithCancelEvent<Prioritized<Paged<DisplayLabelsRequestOptions<IModelDb, InstanceKey>>>> & BackendDiagnosticsAttribute): Promise<LabelDefinition[]>;
439
+ /**
440
+ * Retrieves available selection scopes.
441
+ * @public
442
+ */
443
+ getSelectionScopes(_requestOptions: SelectionScopeRequestOptions<IModelDb> & BackendDiagnosticsAttribute): Promise<SelectionScope[]>;
444
+ /**
445
+ * Computes selection set based on provided selection scope.
446
+ * @public
447
+ * @deprecated in 3.x. Use overload with `ComputeSelectionRequestOptions` parameter.
448
+ */
449
+ computeSelection(requestOptions: SelectionScopeRequestOptions<IModelDb> & {
450
+ ids: Id64String[];
451
+ scopeId: string;
452
+ } & BackendDiagnosticsAttribute): Promise<KeySet>;
453
+ /**
454
+ * Computes selection based on provided element IDs and selection scope.
455
+ * @public
456
+ */
457
+ computeSelection(requestOptions: ComputeSelectionRequestOptions<IModelDb> & BackendDiagnosticsAttribute): Promise<KeySet>;
458
+ /**
459
+ * Compares two hierarchies specified in the request options
460
+ * @public
461
+ */
462
+ compareHierarchies(requestOptions: HierarchyCompareOptions<IModelDb, NodeKey>): Promise<HierarchyCompareInfo>;
463
+ }
446
464
  //# sourceMappingURL=PresentationManager.d.ts.map