@itwin/core-backend 3.4.0-dev.50 → 3.4.0-dev.56

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 (246) hide show
  1. package/lib/cjs/AliCloudStorageService.d.ts +23 -17
  2. package/lib/cjs/AliCloudStorageService.d.ts.map +1 -1
  3. package/lib/cjs/AliCloudStorageService.js +71 -68
  4. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  5. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +91 -87
  9. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
  10. package/lib/cjs/BackendLoggerCategory.js +99 -95
  11. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  12. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  13. package/lib/cjs/BisCoreSchema.js +60 -60
  14. package/lib/cjs/BisCoreSchema.js.map +1 -1
  15. package/lib/cjs/BriefcaseManager.d.ts +165 -165
  16. package/lib/cjs/BriefcaseManager.js +405 -405
  17. package/lib/cjs/BriefcaseManager.js.map +1 -1
  18. package/lib/cjs/Category.d.ts +153 -153
  19. package/lib/cjs/Category.js +243 -243
  20. package/lib/cjs/Category.js.map +1 -1
  21. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  22. package/lib/cjs/ChangeSummaryManager.js +445 -445
  23. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  24. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  25. package/lib/cjs/ChangedElementsDb.js +165 -165
  26. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  27. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  28. package/lib/cjs/ChangedElementsManager.js +88 -88
  29. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  30. package/lib/cjs/CheckpointManager.d.ts +120 -122
  31. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  32. package/lib/cjs/CheckpointManager.js +343 -354
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +71 -71
  35. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  36. package/lib/cjs/ClassRegistry.js +215 -213
  37. package/lib/cjs/ClassRegistry.js.map +1 -1
  38. package/lib/cjs/CloudSqlite.d.ts +328 -328
  39. package/lib/cjs/CloudSqlite.js +135 -135
  40. package/lib/cjs/CloudSqlite.js.map +1 -1
  41. package/lib/cjs/CloudStorageBackend.d.ts +58 -46
  42. package/lib/cjs/CloudStorageBackend.d.ts.map +1 -1
  43. package/lib/cjs/CloudStorageBackend.js +173 -164
  44. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +391 -391
  46. package/lib/cjs/CodeService.d.ts.map +1 -1
  47. package/lib/cjs/CodeService.js +63 -61
  48. package/lib/cjs/CodeService.js.map +1 -1
  49. package/lib/cjs/CodeSpecs.d.ts +50 -50
  50. package/lib/cjs/CodeSpecs.js +112 -112
  51. package/lib/cjs/CodeSpecs.js.map +1 -1
  52. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  53. package/lib/cjs/ConcurrentQuery.js +30 -30
  54. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  55. package/lib/cjs/CustomViewState3dCreator.d.ts +32 -32
  56. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  57. package/lib/cjs/CustomViewState3dCreator.js +113 -107
  58. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  59. package/lib/cjs/DevTools.d.ts +71 -71
  60. package/lib/cjs/DevTools.d.ts.map +1 -1
  61. package/lib/cjs/DevTools.js +154 -154
  62. package/lib/cjs/DevTools.js.map +1 -1
  63. package/lib/cjs/DisplayStyle.d.ts +106 -106
  64. package/lib/cjs/DisplayStyle.js +256 -256
  65. package/lib/cjs/DisplayStyle.js.map +1 -1
  66. package/lib/cjs/ECDb.d.ts +191 -191
  67. package/lib/cjs/ECDb.js +350 -350
  68. package/lib/cjs/ECDb.js.map +1 -1
  69. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  70. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  71. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  72. package/lib/cjs/ECSqlStatement.d.ts +466 -466
  73. package/lib/cjs/ECSqlStatement.js +791 -791
  74. package/lib/cjs/ECSqlStatement.js.map +1 -1
  75. package/lib/cjs/Element.d.ts +1109 -1109
  76. package/lib/cjs/Element.d.ts.map +1 -1
  77. package/lib/cjs/Element.js +1420 -1421
  78. package/lib/cjs/Element.js.map +1 -1
  79. package/lib/cjs/ElementAspect.d.ts +156 -156
  80. package/lib/cjs/ElementAspect.js +178 -178
  81. package/lib/cjs/ElementAspect.js.map +1 -1
  82. package/lib/cjs/ElementGraphics.d.ts +9 -9
  83. package/lib/cjs/ElementGraphics.js +41 -41
  84. package/lib/cjs/ElementGraphics.js.map +1 -1
  85. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  86. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  87. package/lib/cjs/ElementTreeWalker.js +409 -409
  88. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  89. package/lib/cjs/Entity.d.ts +76 -76
  90. package/lib/cjs/Entity.js +82 -82
  91. package/lib/cjs/Entity.js.map +1 -1
  92. package/lib/cjs/ExportGraphics.d.ts +317 -317
  93. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  94. package/lib/cjs/ExportGraphics.js +208 -208
  95. package/lib/cjs/ExportGraphics.js.map +1 -1
  96. package/lib/cjs/ExternalSource.d.ts +94 -94
  97. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  98. package/lib/cjs/ExternalSource.js +125 -125
  99. package/lib/cjs/ExternalSource.js.map +1 -1
  100. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  101. package/lib/cjs/GeoCoordConfig.js +82 -82
  102. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  103. package/lib/cjs/GeometrySummary.d.ts +4 -4
  104. package/lib/cjs/GeometrySummary.js +380 -380
  105. package/lib/cjs/GeometrySummary.js.map +1 -1
  106. package/lib/cjs/HubMock.d.ts +93 -93
  107. package/lib/cjs/HubMock.js +190 -190
  108. package/lib/cjs/HubMock.js.map +1 -1
  109. package/lib/cjs/IModelCloneContext.d.ts +85 -85
  110. package/lib/cjs/IModelCloneContext.js +150 -150
  111. package/lib/cjs/IModelCloneContext.js.map +1 -1
  112. package/lib/cjs/IModelDb.d.ts +1164 -1164
  113. package/lib/cjs/IModelDb.d.ts.map +1 -1
  114. package/lib/cjs/IModelDb.js +2324 -2321
  115. package/lib/cjs/IModelDb.js.map +1 -1
  116. package/lib/cjs/IModelHost.d.ts +361 -347
  117. package/lib/cjs/IModelHost.d.ts.map +1 -1
  118. package/lib/cjs/IModelHost.js +489 -457
  119. package/lib/cjs/IModelHost.js.map +1 -1
  120. package/lib/cjs/IModelJsFs.d.ts +62 -62
  121. package/lib/cjs/IModelJsFs.js +140 -140
  122. package/lib/cjs/IModelJsFs.js.map +1 -1
  123. package/lib/cjs/IpcHost.d.ts +98 -98
  124. package/lib/cjs/IpcHost.js +234 -234
  125. package/lib/cjs/IpcHost.js.map +1 -1
  126. package/lib/cjs/LineStyle.d.ts +311 -311
  127. package/lib/cjs/LineStyle.js +295 -295
  128. package/lib/cjs/LineStyle.js.map +1 -1
  129. package/lib/cjs/LocalHub.d.ts +162 -162
  130. package/lib/cjs/LocalHub.js +587 -587
  131. package/lib/cjs/LocalHub.js.map +1 -1
  132. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  133. package/lib/cjs/LocalhostIpcHost.js +81 -81
  134. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  135. package/lib/cjs/Material.d.ts +103 -103
  136. package/lib/cjs/Material.js +147 -147
  137. package/lib/cjs/Material.js.map +1 -1
  138. package/lib/cjs/Model.d.ts +386 -386
  139. package/lib/cjs/Model.d.ts.map +1 -1
  140. package/lib/cjs/Model.js +471 -468
  141. package/lib/cjs/Model.js.map +1 -1
  142. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  143. package/lib/cjs/NativeAppStorage.js +202 -202
  144. package/lib/cjs/NativeAppStorage.js.map +1 -1
  145. package/lib/cjs/NativeHost.d.ts +52 -52
  146. package/lib/cjs/NativeHost.js +168 -168
  147. package/lib/cjs/NativeHost.js.map +1 -1
  148. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  149. package/lib/cjs/NavigationRelationship.js +225 -225
  150. package/lib/cjs/NavigationRelationship.js.map +1 -1
  151. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  152. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  153. package/lib/cjs/PromiseMemoizer.js +101 -95
  154. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  155. package/lib/cjs/PropertyStore.d.ts +132 -132
  156. package/lib/cjs/PropertyStore.js +11 -11
  157. package/lib/cjs/PropertyStore.js.map +1 -1
  158. package/lib/cjs/Relationship.d.ts +400 -400
  159. package/lib/cjs/Relationship.js +465 -465
  160. package/lib/cjs/Relationship.js.map +1 -1
  161. package/lib/cjs/RpcBackend.d.ts +28 -28
  162. package/lib/cjs/RpcBackend.js +126 -126
  163. package/lib/cjs/RpcBackend.js.map +1 -1
  164. package/lib/cjs/SQLiteDb.d.ts +219 -219
  165. package/lib/cjs/SQLiteDb.js +214 -214
  166. package/lib/cjs/SQLiteDb.js.map +1 -1
  167. package/lib/cjs/Schema.d.ts +55 -55
  168. package/lib/cjs/Schema.js +83 -83
  169. package/lib/cjs/Schema.js.map +1 -1
  170. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  171. package/lib/cjs/ServerBasedLocks.js +168 -168
  172. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  173. package/lib/cjs/SqliteStatement.d.ts +283 -283
  174. package/lib/cjs/SqliteStatement.js +448 -448
  175. package/lib/cjs/SqliteStatement.js.map +1 -1
  176. package/lib/cjs/Texture.d.ts +58 -58
  177. package/lib/cjs/Texture.js +82 -82
  178. package/lib/cjs/Texture.js.map +1 -1
  179. package/lib/cjs/TileStorage.d.ts +19 -0
  180. package/lib/cjs/TileStorage.d.ts.map +1 -0
  181. package/lib/cjs/TileStorage.js +91 -0
  182. package/lib/cjs/TileStorage.js.map +1 -0
  183. package/lib/cjs/TxnManager.d.ts +202 -202
  184. package/lib/cjs/TxnManager.d.ts.map +1 -1
  185. package/lib/cjs/TxnManager.js +356 -353
  186. package/lib/cjs/TxnManager.js.map +1 -1
  187. package/lib/cjs/ViewDefinition.d.ts +435 -435
  188. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  189. package/lib/cjs/ViewDefinition.js +635 -629
  190. package/lib/cjs/ViewDefinition.js.map +1 -1
  191. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  192. package/lib/cjs/ViewStateHydrator.js +103 -103
  193. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  194. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  195. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  196. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  197. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  198. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  199. package/lib/cjs/core-backend.d.ts +182 -178
  200. package/lib/cjs/core-backend.d.ts.map +1 -1
  201. package/lib/cjs/core-backend.js +202 -198
  202. package/lib/cjs/core-backend.js.map +1 -1
  203. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  204. package/lib/cjs/domains/FunctionalElements.js +145 -145
  205. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  206. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  207. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  208. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  209. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  210. package/lib/cjs/domains/GenericElements.js +263 -263
  211. package/lib/cjs/domains/GenericElements.js.map +1 -1
  212. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  213. package/lib/cjs/domains/GenericSchema.js +28 -28
  214. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  215. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  216. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  217. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  218. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +45 -45
  219. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +262 -262
  220. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  221. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -20
  222. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
  223. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +204 -195
  224. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  225. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  226. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  227. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -165
  228. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  229. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  230. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  231. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  232. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  233. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  234. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  235. package/lib/cjs/workspace/Settings.d.ts +186 -186
  236. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  237. package/lib/cjs/workspace/Settings.js +155 -152
  238. package/lib/cjs/workspace/Settings.js.map +1 -1
  239. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  240. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  241. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  242. package/lib/cjs/workspace/Workspace.d.ts +414 -405
  243. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  244. package/lib/cjs/workspace/Workspace.js +543 -539
  245. package/lib/cjs/workspace/Workspace.js.map +1 -1
  246. package/package.json +17 -13
@@ -1,157 +1,157 @@
1
- /** @packageDocumentation
2
- * @module ElementAspects
3
- */
4
- import { ChannelRootAspectProps, ElementAspectProps, ExternalSourceAspectProps, RelatedElement } from "@itwin/core-common";
5
- import { Entity } from "./Entity";
6
- import { IModelDb } from "./IModelDb";
7
- import { Id64String } from "@itwin/core-bentley";
8
- /** Argument for the `ElementAspect.onXxx` static methods
9
- * @beta
10
- */
11
- export interface OnAspectArg {
12
- /** The iModel for the aspect affected by this event. */
13
- iModel: IModelDb;
14
- }
15
- /** Argument for the `ElementAspect.onXxx` static methods that supply the properties of an aspect to be inserted or updated.
16
- * @beta
17
- */
18
- export interface OnAspectPropsArg extends OnAspectArg {
19
- /** The new properties of the aspect affected by this event. */
20
- props: Readonly<ElementAspectProps>;
21
- }
22
- /** Argument for the `ElementAspect.onXxx` static methods that only supply the Id of the affected aspect.
23
- * @beta
24
- */
25
- export interface OnAspectIdArg extends OnAspectArg {
26
- /** The Id of the aspect affected by this event */
27
- aspectId: Id64String;
28
- }
29
- /** An Element Aspect is a class that defines a set of properties that are related to (and owned by) a single element.
30
- * Semantically, an ElementAspect can be considered part of the Element. Thus, an ElementAspect is deleted if its owning Element is deleted.
31
- * BIS Guideline: Subclass ElementUniqueAspect or ElementMultiAspect rather than subclassing ElementAspect directly.
32
- * @public
33
- */
34
- export declare class ElementAspect extends Entity {
35
- /** @internal */
36
- static get className(): string;
37
- element: RelatedElement;
38
- /** @internal */
39
- constructor(props: ElementAspectProps, iModel: IModelDb);
40
- /** @internal */
41
- toJSON(): ElementAspectProps;
42
- /** Called before a new ElementAspect is inserted.
43
- * @note throw an exception to disallow the insert
44
- * @note If you override this method, you must call super.
45
- * @beta
46
- */
47
- protected static onInsert(_arg: OnAspectPropsArg): void;
48
- /** Called after a new ElementAspect was inserted.
49
- * @note If you override this method, you must call super.
50
- * @beta
51
- */
52
- protected static onInserted(_arg: OnAspectPropsArg): void;
53
- /** Called before an ElementAspect is updated.
54
- * @note throw an exception to disallow the update
55
- * @note If you override this method, you must call super.
56
- * @beta
57
- */
58
- protected static onUpdate(_arg: OnAspectPropsArg): void;
59
- /** Called after an ElementAspect was updated.
60
- * @note If you override this method, you must call super.
61
- * @beta
62
- */
63
- protected static onUpdated(_arg: OnAspectPropsArg): void;
64
- /** Called before an ElementAspect is deleted.
65
- * @note throw an exception to disallow the delete
66
- * @note If you override this method, you must call super.
67
- * @beta
68
- */
69
- protected static onDelete(_arg: OnAspectIdArg): void;
70
- /** Called after an ElementAspect was deleted.
71
- * @note If you override this method, you must call super.
72
- * @beta
73
- */
74
- protected static onDeleted(_arg: OnAspectIdArg): void;
75
- }
76
- /** An Element Unique Aspect is an ElementAspect where there can be only zero or one instance of the Element Aspect class per Element.
77
- * @public
78
- */
79
- export declare class ElementUniqueAspect extends ElementAspect {
80
- /** @internal */
81
- static get className(): string;
82
- }
83
- /** An Element Multi-Aspect is an ElementAspect where there can be **n** instances of the Element Aspect class per Element.
84
- * @public
85
- */
86
- export declare class ElementMultiAspect extends ElementAspect {
87
- /** @internal */
88
- static get className(): string;
89
- }
90
- /** A ChannelRootAspect identifies an Element as the root of a *channel* which is a subset of the overall iModel hierarchy that is independently maintained.
91
- * @note The associated ECClass was added to the BisCore schema in version 1.0.10
92
- * @public
93
- */
94
- export declare class ChannelRootAspect extends ElementUniqueAspect {
95
- /** @internal */
96
- static get className(): string;
97
- /** The owner of the channel */
98
- owner: string;
99
- /** @internal */
100
- constructor(props: ChannelRootAspectProps, iModel: IModelDb);
101
- /** @internal */
102
- toJSON(): ChannelRootAspectProps;
103
- /** Insert a ChannelRootAspect on the specified element. */
104
- static insert(iModel: IModelDb, ownerId: Id64String, ownerDescription: string): void;
105
- }
106
- /** An ElementMultiAspect that stores synchronization information for an Element originating from an external source.
107
- * @note The associated ECClass was added to the BisCore schema in version 1.0.2
108
- * @public
109
- */
110
- export declare class ExternalSourceAspect extends ElementMultiAspect {
111
- /** @internal */
112
- static get className(): string;
113
- /** An element that scopes the combination of `kind` and `identifier` to uniquely identify the object from the external source. */
114
- scope: RelatedElement;
115
- /** The identifier of the object in the source repository. */
116
- identifier: string;
117
- /** The kind of object within the source repository. */
118
- kind: string;
119
- /** The cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. */
120
- checksum?: string;
121
- /** An optional value that is typically a version number or a pseudo version number like last modified time.
122
- * It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided.
123
- * If present, this value must be guaranteed to change when any of the source object's content changes.
124
- */
125
- version?: string;
126
- /** A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process. */
127
- jsonProperties?: string;
128
- /** The source of the imported/synchronized object. Should point to an instance of [ExternalSource]($backend). */
129
- source?: RelatedElement;
130
- /** @internal */
131
- constructor(props: ExternalSourceAspectProps, iModel: IModelDb);
132
- /** Look up the ElementId of the element that contains an aspect with the specified Scope, Kind, and Identifier
133
- */
134
- static findBySource(iModelDb: IModelDb, scope: Id64String, kind: string, identifier: string): {
135
- elementId?: Id64String;
136
- aspectId?: Id64String;
137
- };
138
- /** @internal */
139
- toJSON(): ExternalSourceAspectProps;
140
- }
141
- /** @public */
142
- export declare namespace ExternalSourceAspect {
143
- /** Standard values for the `Kind` property of `ExternalSourceAspect`.
144
- * @public
145
- */
146
- enum Kind {
147
- /** Indicates that the [[ExternalSourceAspect]] is storing [[Element]] provenance */
148
- Element = "Element",
149
- /** Indicates that the [[ExternalSourceAspect]] is storing [[Relationship]] provenance */
150
- Relationship = "Relationship",
151
- /** Indicates that the [[ExternalSourceAspect]] is storing *scope* provenance
152
- * @see [[ExternalSourceAspect.scope]]
153
- */
154
- Scope = "Scope"
155
- }
156
- }
1
+ /** @packageDocumentation
2
+ * @module ElementAspects
3
+ */
4
+ import { ChannelRootAspectProps, ElementAspectProps, ExternalSourceAspectProps, RelatedElement } from "@itwin/core-common";
5
+ import { Entity } from "./Entity";
6
+ import { IModelDb } from "./IModelDb";
7
+ import { Id64String } from "@itwin/core-bentley";
8
+ /** Argument for the `ElementAspect.onXxx` static methods
9
+ * @beta
10
+ */
11
+ export interface OnAspectArg {
12
+ /** The iModel for the aspect affected by this event. */
13
+ iModel: IModelDb;
14
+ }
15
+ /** Argument for the `ElementAspect.onXxx` static methods that supply the properties of an aspect to be inserted or updated.
16
+ * @beta
17
+ */
18
+ export interface OnAspectPropsArg extends OnAspectArg {
19
+ /** The new properties of the aspect affected by this event. */
20
+ props: Readonly<ElementAspectProps>;
21
+ }
22
+ /** Argument for the `ElementAspect.onXxx` static methods that only supply the Id of the affected aspect.
23
+ * @beta
24
+ */
25
+ export interface OnAspectIdArg extends OnAspectArg {
26
+ /** The Id of the aspect affected by this event */
27
+ aspectId: Id64String;
28
+ }
29
+ /** An Element Aspect is a class that defines a set of properties that are related to (and owned by) a single element.
30
+ * Semantically, an ElementAspect can be considered part of the Element. Thus, an ElementAspect is deleted if its owning Element is deleted.
31
+ * BIS Guideline: Subclass ElementUniqueAspect or ElementMultiAspect rather than subclassing ElementAspect directly.
32
+ * @public
33
+ */
34
+ export declare class ElementAspect extends Entity {
35
+ /** @internal */
36
+ static get className(): string;
37
+ element: RelatedElement;
38
+ /** @internal */
39
+ constructor(props: ElementAspectProps, iModel: IModelDb);
40
+ /** @internal */
41
+ toJSON(): ElementAspectProps;
42
+ /** Called before a new ElementAspect is inserted.
43
+ * @note throw an exception to disallow the insert
44
+ * @note If you override this method, you must call super.
45
+ * @beta
46
+ */
47
+ protected static onInsert(_arg: OnAspectPropsArg): void;
48
+ /** Called after a new ElementAspect was inserted.
49
+ * @note If you override this method, you must call super.
50
+ * @beta
51
+ */
52
+ protected static onInserted(_arg: OnAspectPropsArg): void;
53
+ /** Called before an ElementAspect is updated.
54
+ * @note throw an exception to disallow the update
55
+ * @note If you override this method, you must call super.
56
+ * @beta
57
+ */
58
+ protected static onUpdate(_arg: OnAspectPropsArg): void;
59
+ /** Called after an ElementAspect was updated.
60
+ * @note If you override this method, you must call super.
61
+ * @beta
62
+ */
63
+ protected static onUpdated(_arg: OnAspectPropsArg): void;
64
+ /** Called before an ElementAspect is deleted.
65
+ * @note throw an exception to disallow the delete
66
+ * @note If you override this method, you must call super.
67
+ * @beta
68
+ */
69
+ protected static onDelete(_arg: OnAspectIdArg): void;
70
+ /** Called after an ElementAspect was deleted.
71
+ * @note If you override this method, you must call super.
72
+ * @beta
73
+ */
74
+ protected static onDeleted(_arg: OnAspectIdArg): void;
75
+ }
76
+ /** An Element Unique Aspect is an ElementAspect where there can be only zero or one instance of the Element Aspect class per Element.
77
+ * @public
78
+ */
79
+ export declare class ElementUniqueAspect extends ElementAspect {
80
+ /** @internal */
81
+ static get className(): string;
82
+ }
83
+ /** An Element Multi-Aspect is an ElementAspect where there can be **n** instances of the Element Aspect class per Element.
84
+ * @public
85
+ */
86
+ export declare class ElementMultiAspect extends ElementAspect {
87
+ /** @internal */
88
+ static get className(): string;
89
+ }
90
+ /** A ChannelRootAspect identifies an Element as the root of a *channel* which is a subset of the overall iModel hierarchy that is independently maintained.
91
+ * @note The associated ECClass was added to the BisCore schema in version 1.0.10
92
+ * @public
93
+ */
94
+ export declare class ChannelRootAspect extends ElementUniqueAspect {
95
+ /** @internal */
96
+ static get className(): string;
97
+ /** The owner of the channel */
98
+ owner: string;
99
+ /** @internal */
100
+ constructor(props: ChannelRootAspectProps, iModel: IModelDb);
101
+ /** @internal */
102
+ toJSON(): ChannelRootAspectProps;
103
+ /** Insert a ChannelRootAspect on the specified element. */
104
+ static insert(iModel: IModelDb, ownerId: Id64String, ownerDescription: string): void;
105
+ }
106
+ /** An ElementMultiAspect that stores synchronization information for an Element originating from an external source.
107
+ * @note The associated ECClass was added to the BisCore schema in version 1.0.2
108
+ * @public
109
+ */
110
+ export declare class ExternalSourceAspect extends ElementMultiAspect {
111
+ /** @internal */
112
+ static get className(): string;
113
+ /** An element that scopes the combination of `kind` and `identifier` to uniquely identify the object from the external source. */
114
+ scope: RelatedElement;
115
+ /** The identifier of the object in the source repository. */
116
+ identifier: string;
117
+ /** The kind of object within the source repository. */
118
+ kind: string;
119
+ /** The cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. */
120
+ checksum?: string;
121
+ /** An optional value that is typically a version number or a pseudo version number like last modified time.
122
+ * It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided.
123
+ * If present, this value must be guaranteed to change when any of the source object's content changes.
124
+ */
125
+ version?: string;
126
+ /** A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process. */
127
+ jsonProperties?: string;
128
+ /** The source of the imported/synchronized object. Should point to an instance of [ExternalSource]($backend). */
129
+ source?: RelatedElement;
130
+ /** @internal */
131
+ constructor(props: ExternalSourceAspectProps, iModel: IModelDb);
132
+ /** Look up the ElementId of the element that contains an aspect with the specified Scope, Kind, and Identifier
133
+ */
134
+ static findBySource(iModelDb: IModelDb, scope: Id64String, kind: string, identifier: string): {
135
+ elementId?: Id64String;
136
+ aspectId?: Id64String;
137
+ };
138
+ /** @internal */
139
+ toJSON(): ExternalSourceAspectProps;
140
+ }
141
+ /** @public */
142
+ export declare namespace ExternalSourceAspect {
143
+ /** Standard values for the `Kind` property of `ExternalSourceAspect`.
144
+ * @public
145
+ */
146
+ enum Kind {
147
+ /** Indicates that the [[ExternalSourceAspect]] is storing [[Element]] provenance */
148
+ Element = "Element",
149
+ /** Indicates that the [[ExternalSourceAspect]] is storing [[Relationship]] provenance */
150
+ Relationship = "Relationship",
151
+ /** Indicates that the [[ExternalSourceAspect]] is storing *scope* provenance
152
+ * @see [[ExternalSourceAspect.scope]]
153
+ */
154
+ Scope = "Scope"
155
+ }
156
+ }
157
157
  //# sourceMappingURL=ElementAspect.d.ts.map