@snaptrude/plugin-core 0.10.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +187 -3
  3. package/api-manifest.json +929 -25
  4. package/dist/api/analysis/daylight.d.ts +5 -5
  5. package/dist/api/analysis/solar.d.ts +2 -2
  6. package/dist/api/core/camera/index.d.ts +463 -0
  7. package/dist/api/core/camera/index.d.ts.map +1 -1
  8. package/dist/api/core/geom/create/index.d.ts +942 -101
  9. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  10. package/dist/api/core/geom/query/brep.d.ts +59 -2
  11. package/dist/api/core/geom/query/brep.d.ts.map +1 -1
  12. package/dist/api/core/geom/query/curve.d.ts +59 -35
  13. package/dist/api/core/geom/query/curve.d.ts.map +1 -1
  14. package/dist/api/core/geom/query/edge.d.ts +2 -2
  15. package/dist/api/core/geom/query/face.d.ts +105 -0
  16. package/dist/api/core/geom/query/face.d.ts.map +1 -1
  17. package/dist/api/core/geom/update/contour.d.ts +10 -2
  18. package/dist/api/core/geom/update/contour.d.ts.map +1 -1
  19. package/dist/api/core/geom/update/curve.d.ts +5 -5
  20. package/dist/api/core/geom/update/profile.d.ts +3 -1
  21. package/dist/api/core/geom/update/profile.d.ts.map +1 -1
  22. package/dist/api/core/handles/index.d.ts +4 -2
  23. package/dist/api/core/handles/index.d.ts.map +1 -1
  24. package/dist/api/core/index.d.ts +4 -4
  25. package/dist/api/core/index.d.ts.map +1 -1
  26. package/dist/api/core/io/import/index.d.ts +3 -1
  27. package/dist/api/core/io/import/index.d.ts.map +1 -1
  28. package/dist/api/core/layers.d.ts +377 -255
  29. package/dist/api/core/layers.d.ts.map +1 -1
  30. package/dist/api/core/mode/index.d.ts +19 -7
  31. package/dist/api/core/mode/index.d.ts.map +1 -1
  32. package/dist/api/core/project/index.d.ts +68 -1
  33. package/dist/api/core/project/index.d.ts.map +1 -1
  34. package/dist/api/core/proposals/index.d.ts +4 -3
  35. package/dist/api/core/proposals/index.d.ts.map +1 -1
  36. package/dist/api/core/storeys/index.d.ts +31 -2
  37. package/dist/api/core/storeys/index.d.ts.map +1 -1
  38. package/dist/api/core/storeys/layers.d.ts +408 -0
  39. package/dist/api/core/storeys/layers.d.ts.map +1 -0
  40. package/dist/api/core/tags.d.ts +84 -3
  41. package/dist/api/core/tags.d.ts.map +1 -1
  42. package/dist/api/core/zoom/index.d.ts +13 -0
  43. package/dist/api/core/zoom/index.d.ts.map +1 -1
  44. package/dist/api/design/bim.d.ts +299 -0
  45. package/dist/api/design/bim.d.ts.map +1 -0
  46. package/dist/api/design/boolean/index.d.ts +2 -0
  47. package/dist/api/design/boolean/index.d.ts.map +1 -1
  48. package/dist/api/design/catalog.d.ts +320 -0
  49. package/dist/api/design/catalog.d.ts.map +1 -0
  50. package/dist/api/design/create/bulk-items.d.ts +269 -0
  51. package/dist/api/design/create/bulk-items.d.ts.map +1 -0
  52. package/dist/api/design/create/grids.d.ts +132 -0
  53. package/dist/api/design/create/grids.d.ts.map +1 -0
  54. package/dist/api/design/create/index.d.ts +752 -78
  55. package/dist/api/design/create/index.d.ts.map +1 -1
  56. package/dist/api/design/create/opening-fields.d.ts +38 -0
  57. package/dist/api/design/create/opening-fields.d.ts.map +1 -0
  58. package/dist/api/design/delete/index.d.ts +5 -0
  59. package/dist/api/design/delete/index.d.ts.map +1 -1
  60. package/dist/api/design/dimensions.d.ts +427 -0
  61. package/dist/api/design/dimensions.d.ts.map +1 -0
  62. package/dist/api/design/doors/index.d.ts +24 -23
  63. package/dist/api/design/doors/index.d.ts.map +1 -1
  64. package/dist/api/design/family.d.ts +1446 -0
  65. package/dist/api/design/family.d.ts.map +1 -0
  66. package/dist/api/design/furniture/index.d.ts +33 -0
  67. package/dist/api/design/furniture/index.d.ts.map +1 -1
  68. package/dist/api/design/grids.d.ts +237 -0
  69. package/dist/api/design/grids.d.ts.map +1 -0
  70. package/dist/api/design/index.d.ts +30 -0
  71. package/dist/api/design/index.d.ts.map +1 -1
  72. package/dist/api/design/networks.d.ts +1703 -0
  73. package/dist/api/design/networks.d.ts.map +1 -0
  74. package/dist/api/design/query/geometry/index.d.ts +33 -5
  75. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  76. package/dist/api/design/query/grids.d.ts +287 -0
  77. package/dist/api/design/query/grids.d.ts.map +1 -0
  78. package/dist/api/design/query/index.d.ts +143 -34
  79. package/dist/api/design/query/index.d.ts.map +1 -1
  80. package/dist/api/design/query/spaces.d.ts +5 -5
  81. package/dist/api/design/selection/index.d.ts +12 -12
  82. package/dist/api/design/types/index.d.ts +40 -24
  83. package/dist/api/design/types/index.d.ts.map +1 -1
  84. package/dist/api/design/update/index.d.ts +412 -8
  85. package/dist/api/design/update/index.d.ts.map +1 -1
  86. package/dist/api/design/visibility.d.ts +28 -0
  87. package/dist/api/design/visibility.d.ts.map +1 -1
  88. package/dist/api/design/windows/index.d.ts +8 -8
  89. package/dist/api/design/windows/index.d.ts.map +1 -1
  90. package/dist/api/entity/buildableEnvelope.d.ts +84 -2
  91. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  92. package/dist/api/entity/referenceLine.d.ts +13 -1
  93. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  94. package/dist/api/entity/space.d.ts +12 -12
  95. package/dist/api/entity/story.d.ts +4 -4
  96. package/dist/api/presentation/aiInspiration.d.ts +24 -24
  97. package/dist/api/presentation/annotate.d.ts +38 -22
  98. package/dist/api/presentation/annotate.d.ts.map +1 -1
  99. package/dist/api/presentation/camera.d.ts +265 -0
  100. package/dist/api/presentation/camera.d.ts.map +1 -0
  101. package/dist/api/presentation/drawingContract.d.ts +32 -0
  102. package/dist/api/presentation/drawingContract.d.ts.map +1 -0
  103. package/dist/api/presentation/drawings.d.ts +3523 -0
  104. package/dist/api/presentation/drawings.d.ts.map +1 -0
  105. package/dist/api/presentation/export.d.ts +23 -5
  106. package/dist/api/presentation/export.d.ts.map +1 -1
  107. package/dist/api/presentation/graphics.d.ts +419 -0
  108. package/dist/api/presentation/graphics.d.ts.map +1 -0
  109. package/dist/api/presentation/index.d.ts +66 -12
  110. package/dist/api/presentation/index.d.ts.map +1 -1
  111. package/dist/api/presentation/placedViews.d.ts +116 -16
  112. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  113. package/dist/api/presentation/sections.d.ts +461 -0
  114. package/dist/api/presentation/sections.d.ts.map +1 -0
  115. package/dist/api/presentation/shapes.d.ts +2 -2
  116. package/dist/api/presentation/sheets.d.ts +175 -19
  117. package/dist/api/presentation/sheets.d.ts.map +1 -1
  118. package/dist/api/presentation/standards.d.ts +590 -0
  119. package/dist/api/presentation/standards.d.ts.map +1 -0
  120. package/dist/api/presentation/viewPresets.d.ts +222 -0
  121. package/dist/api/presentation/viewPresets.d.ts.map +1 -0
  122. package/dist/api/presentation/views.d.ts +144 -9
  123. package/dist/api/presentation/views.d.ts.map +1 -1
  124. package/dist/api/presentation/walkthroughs.d.ts +1350 -0
  125. package/dist/api/presentation/walkthroughs.d.ts.map +1 -0
  126. package/dist/api/program/departments.d.ts +58 -2
  127. package/dist/api/program/departments.d.ts.map +1 -1
  128. package/dist/api/program/index.d.ts +16 -6
  129. package/dist/api/program/index.d.ts.map +1 -1
  130. package/dist/api/program/labels.d.ts +355 -0
  131. package/dist/api/program/labels.d.ts.map +1 -0
  132. package/dist/api/program/metadata.d.ts +328 -0
  133. package/dist/api/program/metadata.d.ts.map +1 -0
  134. package/dist/api/program/site.d.ts +4 -4
  135. package/dist/api/program/spreadsheet.d.ts +267 -4
  136. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  137. package/dist/api/workspace/index.d.ts +49 -2
  138. package/dist/api/workspace/index.d.ts.map +1 -1
  139. package/dist/errors/codes.d.ts +3 -1
  140. package/dist/errors/codes.d.ts.map +1 -1
  141. package/dist/handles.d.ts +32 -3
  142. package/dist/handles.d.ts.map +1 -1
  143. package/dist/index.cjs +6539 -2804
  144. package/dist/index.cjs.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +6121 -2801
  148. package/dist/index.js.map +1 -1
  149. package/dist/massParameters.d.ts +287 -0
  150. package/dist/massParameters.d.ts.map +1 -0
  151. package/dist/massParameters.ops.d.ts +138 -0
  152. package/dist/massParameters.ops.d.ts.map +1 -0
  153. package/package.json +14 -13
  154. package/scripts/check-dist-fresh.mjs +22 -0
  155. package/scripts/generate-manifest.mjs +5 -0
  156. package/scripts/generate-manifest.test.mjs +14 -3
  157. package/src/api/core/camera/index.ts +446 -1
  158. package/src/api/core/geom/create/index.ts +1037 -102
  159. package/src/api/core/geom/query/brep.ts +60 -2
  160. package/src/api/core/geom/query/curve.ts +26 -2
  161. package/src/api/core/geom/query/edge.ts +2 -2
  162. package/src/api/core/geom/query/face.ts +109 -4
  163. package/src/api/core/geom/update/contour.ts +10 -2
  164. package/src/api/core/geom/update/profile.ts +2 -0
  165. package/src/api/core/handles/index.ts +3 -2
  166. package/src/api/core/index.ts +4 -4
  167. package/src/api/core/io/import/index.ts +11 -3
  168. package/src/api/core/layers.ts +380 -173
  169. package/src/api/core/mode/index.ts +19 -7
  170. package/src/api/core/project/index.ts +62 -1
  171. package/src/api/core/proposals/index.ts +4 -3
  172. package/src/api/core/storeys/index.ts +34 -2
  173. package/src/api/core/storeys/layers.ts +339 -0
  174. package/src/api/core/tags.ts +76 -0
  175. package/src/api/core/zoom/index.ts +13 -0
  176. package/src/api/design/bim.ts +210 -0
  177. package/src/api/design/boolean/index.ts +2 -0
  178. package/src/api/design/catalog.ts +203 -0
  179. package/src/api/design/create/bulk-items.ts +294 -0
  180. package/src/api/design/create/grids.ts +137 -0
  181. package/src/api/design/create/index.ts +823 -114
  182. package/src/api/design/create/opening-fields.ts +40 -0
  183. package/src/api/design/delete/index.ts +5 -0
  184. package/src/api/design/dimensions.ts +453 -0
  185. package/src/api/design/doors/index.ts +64 -41
  186. package/src/api/design/family.ts +1342 -0
  187. package/src/api/design/furniture/index.ts +34 -0
  188. package/src/api/design/grids.ts +237 -0
  189. package/src/api/design/index.ts +49 -4
  190. package/src/api/design/networks.ts +607 -0
  191. package/src/api/design/query/geometry/index.ts +35 -4
  192. package/src/api/design/query/grids.ts +197 -0
  193. package/src/api/design/query/index.ts +105 -3
  194. package/src/api/design/types/index.ts +31 -24
  195. package/src/api/design/update/index.ts +398 -4
  196. package/src/api/design/visibility.ts +34 -0
  197. package/src/api/design/windows/index.ts +40 -22
  198. package/src/api/entity/buildableEnvelope.ts +77 -2
  199. package/src/api/entity/referenceLine.ts +25 -12
  200. package/src/api/presentation/annotate.ts +90 -58
  201. package/src/api/presentation/camera.ts +289 -0
  202. package/src/api/presentation/drawingContract.ts +70 -0
  203. package/src/api/presentation/drawings.ts +1179 -0
  204. package/src/api/presentation/export.ts +32 -6
  205. package/src/api/presentation/graphics.ts +324 -0
  206. package/src/api/presentation/index.ts +73 -14
  207. package/src/api/presentation/placedViews.ts +119 -28
  208. package/src/api/presentation/sections.ts +420 -0
  209. package/src/api/presentation/sheets.ts +181 -20
  210. package/src/api/presentation/standards.ts +445 -0
  211. package/src/api/presentation/viewPresets.ts +241 -0
  212. package/src/api/presentation/views.ts +81 -10
  213. package/src/api/presentation/walkthroughs.ts +1201 -0
  214. package/src/api/program/departments.ts +54 -2
  215. package/src/api/program/index.ts +16 -6
  216. package/src/api/program/labels.ts +332 -0
  217. package/src/api/program/metadata.ts +364 -0
  218. package/src/api/program/spreadsheet.ts +282 -0
  219. package/src/api/workspace/index.ts +51 -2
  220. package/src/errors/codes.ts +7 -0
  221. package/src/handles.ts +42 -3
  222. package/src/index.ts +2 -0
  223. package/src/massParameters.ops.ts +246 -0
  224. package/src/massParameters.ts +427 -0
  225. package/test/drawingContract.test.mjs +288 -0
  226. package/test/errors.test.mjs +1 -0
  227. package/test/massParameters.test.mjs +952 -0
  228. package/test/paperPensContract.test.mjs +75 -0
  229. package/test/presentationViewSettings.test.mjs +85 -0
@@ -1,9 +1,11 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../../types";
3
3
  import { ComponentHandle, BBoxComponents } from "../../../handles";
4
+ import type { MassParametersRecord } from "../../../massParameters";
4
5
  import { PluginDesignQueryGeometryApi } from "./geometry";
5
6
  import { PluginDesignQuerySpacesApi } from "./spaces";
6
7
  import { PluginDesignQueryReferenceLinesApi } from "./referenceLines";
8
+ import { PluginDesignQueryGridsApi } from "./grids";
7
9
  /**
8
10
  * The kind of a BIM entity — the discovery/filter vocabulary for the whole
9
11
  * `design.query.*` surface. Values are clean `lowerCamel` tokens; the host maps
@@ -15,6 +17,7 @@ import { PluginDesignQueryReferenceLinesApi } from "./referenceLines";
15
17
  * | `"wall"` | Wall |
16
18
  * | `"space"` | Space (a room mass) |
17
19
  * | `"mass"` | Generic mass (non-room) |
20
+ * | `"void"` | A hosted cutting solid, separate from spaces and masses |
18
21
  * | `"door"` | Door |
19
22
  * | `"window"` | Window |
20
23
  * | `"floor"` | Floor |
@@ -29,25 +32,30 @@ import { PluginDesignQueryReferenceLinesApi } from "./referenceLines";
29
32
  * | `"curtainWall"` | Parametric curtain wall |
30
33
  * | `"mullion"` | Curtain-wall mullion |
31
34
  * | `"panel"` | Curtain-wall panel |
35
+ * | `"parametricComponent"` | A placed parametric family instance (native or Revit-imported). Its geometry is rebuilt from `design.family` parameters, so read and drive it through `design.family.getParameters` / `setParameters` rather than editing its meshes. |
36
+ * | `"grid"` | Structural grid group |
32
37
  */
33
38
  export declare const PluginEntityType: z.ZodEnum<{
39
+ void: "void";
34
40
  mass: "mass";
35
41
  floor: "floor";
36
42
  wall: "wall";
37
43
  ceiling: "ceiling";
38
- door: "door";
39
- window: "window";
40
- furniture: "furniture";
41
- space: "space";
42
44
  slab: "slab";
43
45
  roof: "roof";
44
- column: "column";
46
+ furniture: "furniture";
47
+ door: "door";
48
+ window: "window";
45
49
  beam: "beam";
50
+ column: "column";
51
+ space: "space";
46
52
  staircase: "staircase";
47
53
  referenceLine: "referenceLine";
48
54
  curtainWall: "curtainWall";
49
55
  mullion: "mullion";
50
56
  panel: "panel";
57
+ parametricComponent: "parametricComponent";
58
+ grid: "grid";
51
59
  }>;
52
60
  export type PluginEntityType = z.infer<typeof PluginEntityType>;
53
61
  /**
@@ -77,34 +85,37 @@ export type PluginEntityType = z.infer<typeof PluginEntityType>;
77
85
  */
78
86
  export declare const PluginEntityFilter: z.ZodObject<{
79
87
  types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
88
+ void: "void";
80
89
  mass: "mass";
81
90
  floor: "floor";
82
91
  wall: "wall";
83
92
  ceiling: "ceiling";
84
- door: "door";
85
- window: "window";
86
- furniture: "furniture";
87
- space: "space";
88
93
  slab: "slab";
89
94
  roof: "roof";
90
- column: "column";
95
+ furniture: "furniture";
96
+ door: "door";
97
+ window: "window";
91
98
  beam: "beam";
99
+ column: "column";
100
+ space: "space";
92
101
  staircase: "staircase";
93
102
  referenceLine: "referenceLine";
94
103
  curtainWall: "curtainWall";
95
104
  mullion: "mullion";
96
105
  panel: "panel";
106
+ parametricComponent: "parametricComponent";
107
+ grid: "grid";
97
108
  }>>>;
98
109
  storeys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
99
110
  buildingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
111
  structureIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
112
  label: z.ZodOptional<z.ZodString>;
102
113
  massTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
114
+ Furniture: "Furniture";
103
115
  Room: "Room";
104
116
  Plinth: "Plinth";
105
117
  Void: "Void";
106
118
  Pergola: "Pergola";
107
- Furniture: "Furniture";
108
119
  "Facade element": "Facade element";
109
120
  "Generic mass": "Generic mass";
110
121
  Department: "Department";
@@ -156,34 +167,37 @@ export type PluginEntityFilter = z.infer<typeof PluginEntityFilter>;
156
167
  */
157
168
  export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
158
169
  types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
170
+ void: "void";
159
171
  mass: "mass";
160
172
  floor: "floor";
161
173
  wall: "wall";
162
174
  ceiling: "ceiling";
163
- door: "door";
164
- window: "window";
165
- furniture: "furniture";
166
- space: "space";
167
175
  slab: "slab";
168
176
  roof: "roof";
169
- column: "column";
177
+ furniture: "furniture";
178
+ door: "door";
179
+ window: "window";
170
180
  beam: "beam";
181
+ column: "column";
182
+ space: "space";
171
183
  staircase: "staircase";
172
184
  referenceLine: "referenceLine";
173
185
  curtainWall: "curtainWall";
174
186
  mullion: "mullion";
175
187
  panel: "panel";
188
+ parametricComponent: "parametricComponent";
189
+ grid: "grid";
176
190
  }>>>;
177
191
  storeys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
178
192
  buildingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
179
193
  structureIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
180
194
  label: z.ZodOptional<z.ZodString>;
181
195
  massTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
196
+ Furniture: "Furniture";
182
197
  Room: "Room";
183
198
  Plinth: "Plinth";
184
199
  Void: "Void";
185
200
  Pergola: "Pergola";
186
- Furniture: "Furniture";
187
201
  "Facade element": "Facade element";
188
202
  "Generic mass": "Generic mass";
189
203
  Department: "Department";
@@ -228,23 +242,26 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
228
242
  overlaps: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
229
243
  ids: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
230
244
  type: z.ZodEnum<{
245
+ void: "void";
231
246
  mass: "mass";
232
247
  floor: "floor";
233
248
  wall: "wall";
234
249
  ceiling: "ceiling";
235
- door: "door";
236
- window: "window";
237
- furniture: "furniture";
238
- space: "space";
239
250
  slab: "slab";
240
251
  roof: "roof";
241
- column: "column";
252
+ furniture: "furniture";
253
+ door: "door";
254
+ window: "window";
242
255
  beam: "beam";
256
+ column: "column";
257
+ space: "space";
243
258
  staircase: "staircase";
244
259
  referenceLine: "referenceLine";
245
260
  curtainWall: "curtainWall";
246
261
  mullion: "mullion";
247
262
  panel: "panel";
263
+ parametricComponent: "parametricComponent";
264
+ grid: "grid";
248
265
  }>;
249
266
  }, z.core.$strip>;
250
267
  export type PluginDesignQueryListByTypeArgs = z.infer<typeof PluginDesignQueryListByTypeArgs>;
@@ -291,23 +308,26 @@ export type PluginDesignQueryComponentsArgs = z.infer<typeof PluginDesignQueryCo
291
308
  export declare const PluginEntityProperties: z.ZodObject<{
292
309
  id: z.ZodOptional<z.ZodString>;
293
310
  type: z.ZodOptional<z.ZodEnum<{
311
+ void: "void";
294
312
  mass: "mass";
295
313
  floor: "floor";
296
314
  wall: "wall";
297
315
  ceiling: "ceiling";
298
- door: "door";
299
- window: "window";
300
- furniture: "furniture";
301
- space: "space";
302
316
  slab: "slab";
303
317
  roof: "roof";
304
- column: "column";
318
+ furniture: "furniture";
319
+ door: "door";
320
+ window: "window";
305
321
  beam: "beam";
322
+ column: "column";
323
+ space: "space";
306
324
  staircase: "staircase";
307
325
  referenceLine: "referenceLine";
308
326
  curtainWall: "curtainWall";
309
327
  mullion: "mullion";
310
328
  panel: "panel";
329
+ parametricComponent: "parametricComponent";
330
+ grid: "grid";
311
331
  }>>;
312
332
  label: z.ZodOptional<z.ZodString>;
313
333
  storey: z.ZodOptional<z.ZodNumber>;
@@ -499,6 +519,8 @@ export declare abstract class PluginDesignQueryApi {
499
519
  abstract spaces: PluginDesignQuerySpacesApi;
500
520
  /** Reference-line-specific reads. See {@linkcode PluginDesignQueryReferenceLinesApi}. */
501
521
  abstract referenceLines: PluginDesignQueryReferenceLinesApi;
522
+ /** Structural-grid-specific reads. See {@linkcode PluginDesignQueryGridsApi}. */
523
+ abstract grids: PluginDesignQueryGridsApi;
502
524
  constructor();
503
525
  /**
504
526
  * List **all** BIM entities in the project matching the filter.
@@ -534,6 +556,9 @@ export declare abstract class PluginDesignQueryApi {
534
556
  * List all entities of one BIM object type — wall, door, slab, panel, and so
535
557
  * on — optionally narrowed by the shared filter.
536
558
  *
559
+ * `"void"` lists native Void components (made by `design.create.void`),
560
+ * as does `design.query.listVoids`. `"mass"` excludes voids.
561
+ *
537
562
  * @param type - the {@linkcode PluginEntityType} to list
538
563
  * @param filter - an optional {@linkcode PluginEntityFilter}
539
564
  * @returns matching entities as {@linkcode ComponentHandle}`[]`
@@ -615,6 +640,8 @@ export declare abstract class PluginDesignQueryApi {
615
640
  * List all the generic masses (non-room massing volumes) in the project,
616
641
  * optionally filtered by storey, building, label, mass type, or region.
617
642
  *
643
+ * Excludes Void components. Use `design.query.listVoids` for hosted cutters.
644
+ *
618
645
  * @param filter - an optional {@linkcode PluginEntityFilter}
619
646
  * @returns mass {@linkcode ComponentHandle}`[]`
620
647
  *
@@ -632,6 +659,16 @@ export declare abstract class PluginDesignQueryApi {
632
659
  * ```
633
660
  */
634
661
  abstract listMasses(filter?: PluginEntityFilter): PluginApiReturn<ComponentHandle[]>;
662
+ /**
663
+ * List Void components, excluding masses and spaces. Voids cut their hosts.
664
+ * Use family queries for authored parametric families with a cut relationship.
665
+ *
666
+ * @param filter - Optional storey, building, selection, or region filter.
667
+ * @returns Void component handles, or an empty array when none match.
668
+ * @example
669
+ * const voids = await snaptrude.design.query.listVoids({ storeys: [1] })
670
+ */
671
+ abstract listVoids(filter?: PluginEntityFilter): PluginApiReturn<ComponentHandle[]>;
635
672
  /**
636
673
  * List all the doors in the project, optionally filtered by storey, building,
637
674
  * selection state, or region.
@@ -860,6 +897,24 @@ export declare abstract class PluginDesignQueryApi {
860
897
  * ```
861
898
  */
862
899
  abstract listMullions(filter?: PluginEntityFilter): PluginApiReturn<ComponentHandle[]>;
900
+ /**
901
+ * List all the structural grids (grid groups) in the project, optionally
902
+ * filtered by storey, building, selection state, or region.
903
+ *
904
+ * @param filter - an optional {@linkcode PluginEntityFilter}
905
+ * @returns grid-group {@linkcode ComponentHandle}`[]`
906
+ *
907
+ * @examplePrompt List all the structural grids in the model
908
+ * @examplePrompt How many grids are on the ground floor?
909
+ * @examplePrompt Show the grids on this storey
910
+ * @examplePrompt Which grids are currently selected?
911
+ *
912
+ * # Example
913
+ * ```ts
914
+ * const groundFloorGrids = await snaptrude.design.query.listGrids({ storeys: [1] })
915
+ * ```
916
+ */
917
+ abstract listGrids(filter?: PluginEntityFilter): PluginApiReturn<ComponentHandle[]>;
863
918
  /**
864
919
  * Look an entity up by id — returns the same handle if it still resolves live,
865
920
  * else `null`. A cheap validity probe (distinct from {@linkcode PluginDesignQueryApi.exists}).
@@ -978,7 +1033,8 @@ export declare abstract class PluginDesignQueryApi {
978
1033
  abstract getEntityRef(component: ComponentHandle): PluginApiReturn<ComponentHandle>;
979
1034
  /**
980
1035
  * List an entity's direct child entities — for example the doors and windows
981
- * hosted in a wall.
1036
+ * hosted in a wall, or the voids (holes, shafts, openings) cut in a slab,
1037
+ * floor, roof or ceiling by `design.create.void`.
982
1038
  * @param component - the entity's {@linkcode ComponentHandle}
983
1039
  * @returns child {@linkcode ComponentHandle}`[]` (`[]` if none)
984
1040
  *
@@ -986,6 +1042,7 @@ export declare abstract class PluginDesignQueryApi {
986
1042
  * @examplePrompt Show the child elements of the selected object
987
1043
  * @examplePrompt Which openings belong to this wall?
988
1044
  * @examplePrompt List everything nested under this mass
1045
+ * @examplePrompt List all holes in this slab
989
1046
  *
990
1047
  * # Example
991
1048
  * ```ts
@@ -1002,7 +1059,8 @@ export declare abstract class PluginDesignQueryApi {
1002
1059
  */
1003
1060
  abstract listChildren(component: ComponentHandle): PluginApiReturn<ComponentHandle[]>;
1004
1061
  /**
1005
- * Get an entity's host/parent entity (e.g. the wall a door is cut into).
1062
+ * Get an entity's host/parent entity (e.g. the wall a door is cut into, or
1063
+ * the slab, floor, roof or ceiling a void is cut through).
1006
1064
  * @param component - the entity's {@linkcode ComponentHandle}
1007
1065
  * @returns the host {@linkcode ComponentHandle}, or `null` if top-level
1008
1066
  *
@@ -1010,6 +1068,7 @@ export declare abstract class PluginDesignQueryApi {
1010
1068
  * @examplePrompt Find the parent of the selected window
1011
1069
  * @examplePrompt What is this element attached to?
1012
1070
  * @examplePrompt Which wall hosts this window?
1071
+ * @examplePrompt Which slab is this shaft in?
1013
1072
  *
1014
1073
  * # Example
1015
1074
  * ```ts
@@ -1121,6 +1180,52 @@ export declare abstract class PluginDesignQueryApi {
1121
1180
  * ```
1122
1181
  */
1123
1182
  abstract getStaircaseParams(staircase: ComponentHandle): PluginApiReturn<PluginStaircaseParams | null>;
1183
+ /**
1184
+ * Read a mass's creation-parameter record — the recipe it was built from
1185
+ * (`kind` plus the values that constructor was called with). Present on
1186
+ * masses committed from a `core.geom.create` brep constructor that carries a
1187
+ * recipe: {@linkcode MassParametersRecord} covers the four primitives
1188
+ * (sphere, cylinder, cone, torus), extrusions, revolutions, lofts and sweeps.
1189
+ *
1190
+ * A fillet, chamfer, shell or offset of a recorded solid keeps the record
1191
+ * too: `kind` stays the base constructor and the operation is appended to the
1192
+ * record's `operations` list. Edit any of it with `design.update.parameters`.
1193
+ *
1194
+ * `null` for everything else — drawn masses, imported geometry, booleans,
1195
+ * split parts, `brepFromFaces` / `brepFromMesh`, and results built on a
1196
+ * source that carried no record — and for a mass whose record no longer
1197
+ * matches what is on
1198
+ * screen (a later free-form edit dropped the recipe, or the mass carries a
1199
+ * baked scale). `null` too when the recipe was not recordable: the record
1200
+ * schema has its own caps (a sweep path of at most 512 points, a loft of at
1201
+ * most 32 sections, at most 8 chained `operations`, at most 256 curves in one
1202
+ * profile loop and 64 holes in one contour), and a mass built past one of
1203
+ * them — through a route that does not enforce the matching creator cap —
1204
+ * commits as ordinary geometry carrying no record. The `operations` cap is
1205
+ * the one an agent can walk into by accident: a 9th chained
1206
+ * fillet/chamfer/shell/offset drops the record silently, so the result
1207
+ * commits as ordinary geometry and reads back `null` here. A record is never
1208
+ * reported unless it is still the truth.
1209
+ *
1210
+ * Points and axes come back in **world** coordinates. Pure read — nothing is
1211
+ * created or modified.
1212
+ *
1213
+ * @param component - the mass's {@linkcode ComponentHandle}
1214
+ * @returns the {@linkcode MassParametersRecord}, or `null`
1215
+ *
1216
+ * @examplePrompt What radius is this sphere?
1217
+ * @examplePrompt Is this mass parametric?
1218
+ * @examplePrompt Read back the dome's creation parameters
1219
+ * @examplePrompt How tall was this cylinder made?
1220
+ *
1221
+ * # Example
1222
+ * ```ts
1223
+ * const [mass] = await snaptrude.design.query.listMasses({ isSelected: true })
1224
+ * const params = await snaptrude.design.query.getParameters(mass)
1225
+ * if (params?.kind === "sphere") console.log("radius:", params.values.radius)
1226
+ * ```
1227
+ */
1228
+ abstract getParameters(component: ComponentHandle): PluginApiReturn<MassParametersRecord | null>;
1124
1229
  /**
1125
1230
  * Get the **union** axis-aligned bounding box enclosing a set of entities.
1126
1231
  *
@@ -1209,23 +1314,26 @@ export type PluginOutlinePlanPoint = z.infer<typeof PluginOutlinePlanPoint>;
1209
1314
  export declare const PluginStoreyOutlineOptions: z.ZodObject<{
1210
1315
  storey: z.ZodOptional<z.ZodNumber>;
1211
1316
  include: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1317
+ void: "void";
1212
1318
  mass: "mass";
1213
1319
  floor: "floor";
1214
1320
  wall: "wall";
1215
1321
  ceiling: "ceiling";
1216
- door: "door";
1217
- window: "window";
1218
- furniture: "furniture";
1219
- space: "space";
1220
1322
  slab: "slab";
1221
1323
  roof: "roof";
1222
- column: "column";
1324
+ furniture: "furniture";
1325
+ door: "door";
1326
+ window: "window";
1223
1327
  beam: "beam";
1328
+ column: "column";
1329
+ space: "space";
1224
1330
  staircase: "staircase";
1225
1331
  referenceLine: "referenceLine";
1226
1332
  curtainWall: "curtainWall";
1227
1333
  mullion: "mullion";
1228
1334
  panel: "panel";
1335
+ parametricComponent: "parametricComponent";
1336
+ grid: "grid";
1229
1337
  }>>>;
1230
1338
  minArea: z.ZodDefault<z.ZodNumber>;
1231
1339
  }, z.core.$strip>;
@@ -1279,4 +1387,5 @@ export type PluginStoreyOutlineResult = z.infer<typeof PluginStoreyOutlineResult
1279
1387
  export * from "./geometry";
1280
1388
  export * from "./spaces";
1281
1389
  export * from "./referenceLines";
1390
+ export * from "./grids";
1282
1391
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/index.ts"],"names":[],"mappings":"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"}
@@ -135,9 +135,9 @@ export declare const PluginDesignQuerySpacesGetProperty: z.ZodEnum<{
135
135
  type: "type";
136
136
  id: "id";
137
137
  position: "position";
138
+ height: "height";
138
139
  name: "name";
139
140
  storey: "storey";
140
- height: "height";
141
141
  depth: "depth";
142
142
  innerProfiles: "innerProfiles";
143
143
  room_type: "room_type";
@@ -171,9 +171,9 @@ export declare const PluginDesignQuerySpacesGetArgs: z.ZodObject<{
171
171
  type: "type";
172
172
  id: "id";
173
173
  position: "position";
174
+ height: "height";
174
175
  name: "name";
175
176
  storey: "storey";
176
- height: "height";
177
177
  depth: "depth";
178
178
  innerProfiles: "innerProfiles";
179
179
  room_type: "room_type";
@@ -199,7 +199,7 @@ export type PluginDesignQuerySpacesGetArgs = z.infer<typeof PluginDesignQuerySpa
199
199
  * requested properties are present.
200
200
  */
201
201
  export declare const PluginDesignQuerySpacesGetResult: z.ZodObject<{
202
- profile: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"line">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"arc">, string>>]>>>;
202
+ profile: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"line">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"arc">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"spline">, string>>]>>>;
203
203
  type: z.ZodOptional<z.ZodString>;
204
204
  id: z.ZodOptional<z.ZodString>;
205
205
  position: z.ZodOptional<z.ZodObject<{
@@ -207,11 +207,11 @@ export declare const PluginDesignQuerySpacesGetResult: z.ZodObject<{
207
207
  y: z.ZodNumber;
208
208
  z: z.ZodNumber;
209
209
  }, z.core.$strip>>;
210
+ height: z.ZodOptional<z.ZodNumber>;
210
211
  name: z.ZodOptional<z.ZodString>;
211
212
  storey: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
212
- height: z.ZodOptional<z.ZodNumber>;
213
213
  depth: z.ZodOptional<z.ZodNumber>;
214
- innerProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"line">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"arc">, string>>]>>>>;
214
+ innerProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"line">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"arc">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"spline">, string>>]>>>>;
215
215
  room_type: z.ZodOptional<z.ZodString>;
216
216
  area: z.ZodOptional<z.ZodNumber>;
217
217
  breadth: z.ZodOptional<z.ZodNumber>;
@@ -38,20 +38,20 @@ import { PluginDesignChangeResult } from "../lock";
38
38
  */
39
39
  export declare const PluginSelectionEntityType: z.ZodEnum<{
40
40
  terrain: "terrain";
41
+ cad: "cad";
41
42
  floor: "floor";
42
43
  wall: "wall";
43
44
  ceiling: "ceiling";
44
45
  image: "image";
45
- cad: "cad";
46
46
  pdf: "pdf";
47
- door: "door";
48
- window: "window";
49
- furniture: "furniture";
50
- space: "space";
51
47
  slab: "slab";
52
48
  roof: "roof";
53
- column: "column";
49
+ furniture: "furniture";
50
+ door: "door";
51
+ window: "window";
54
52
  beam: "beam";
53
+ column: "column";
54
+ space: "space";
55
55
  staircase: "staircase";
56
56
  referenceLine: "referenceLine";
57
57
  pergola: "pergola";
@@ -79,20 +79,20 @@ export declare const PluginSelectionFilter: z.ZodObject<{
79
79
  storeys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
80
80
  types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
81
81
  terrain: "terrain";
82
+ cad: "cad";
82
83
  floor: "floor";
83
84
  wall: "wall";
84
85
  ceiling: "ceiling";
85
86
  image: "image";
86
- cad: "cad";
87
87
  pdf: "pdf";
88
- door: "door";
89
- window: "window";
90
- furniture: "furniture";
91
- space: "space";
92
88
  slab: "slab";
93
89
  roof: "roof";
94
- column: "column";
90
+ furniture: "furniture";
91
+ door: "door";
92
+ window: "window";
95
93
  beam: "beam";
94
+ column: "column";
95
+ space: "space";
96
96
  staircase: "staircase";
97
97
  referenceLine: "referenceLine";
98
98
  pergola: "pergola";
@@ -1,22 +1,25 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../../types";
3
+ /** An exact saved native wall family. Access is checked on every use; Draw selection is not registration. */
4
+ export declare const PluginNativeWallType: z.ZodObject<{
5
+ id: z.ZodString;
6
+ version: z.ZodNumber;
7
+ }, z.core.$strip>;
8
+ export type PluginNativeWallType = z.infer<typeof PluginNativeWallType>;
9
+ /** Legacy project type name/id, or an exact authorized native wall family pin. */
10
+ export declare const PluginWallType: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
11
+ id: z.ZodString;
12
+ version: z.ZodNumber;
13
+ }, z.core.$strip>]>;
14
+ export type PluginWallType = z.infer<typeof PluginWallType>;
3
15
  /**
4
- * `snaptrude.design.types` — READ-ONLY reference over the project's building
5
- * **type / assembly** system (the Project Properties layer stacks: External /
6
- * Internal walls, slabs, floors, ceilings, roofs). A type bundles a labelled
7
- * layer stack — each layer's role, thickness (engine units) and material — plus a
8
- * summed total thickness. Both the built-in defaults and any team/user-added types
9
- * are surfaced.
10
- *
11
- * Types are plain value records ({@linkcode PluginBuildingType}) — NOT scene
12
- * entities/handles. A type's `id` is a stable `"<kind>:<name>"` token
13
- * (e.g. `"wall:brickWithPlasterAndPaint"`) returned by
14
- * {@linkcode PluginDesignTypesApi.list} and consumed by
15
- * {@linkcode PluginDesignTypesApi.get}. Reads never throw — an unknown id yields
16
- * `null`; a kind with no types yields `[]`.
17
- *
18
- * These are reads only: there is no engine seam to author a type from a plugin
19
- * (types are created through the construction/project-properties UI).
16
+ * Read-only project assemblies and authorized saved native wall families.
17
+ * Legacy ids use `"<kind>:<name>"`. Native wall records carry `nativeFamily`:
18
+ * pass that exact `{ id, version }` pin to get, create.walls, create.wallRuns,
19
+ * or update.wall. Labels and bare definition ids do not select native families.
20
+ * Native lengths use Snaptrude units (1 SU = 254 mm).
21
+ * Missing ids return null; catalog/network failures reject rather than return
22
+ * an incomplete catalog. Author native families with design.family.
20
23
  */
21
24
  export declare abstract class PluginDesignTypesApi {
22
25
  constructor();
@@ -41,10 +44,10 @@ export declare abstract class PluginDesignTypesApi {
41
44
  */
42
45
  abstract list(kind: PluginBuildingTypeKind): PluginApiReturn<PluginBuildingTypeSummary[]>;
43
46
  /**
44
- * Get one building type by its `"<kind>:<name>"` id — its labelled layer stack
47
+ * Get one building type by its legacy id or exact native wall pin — its labelled layer stack
45
48
  * (each layer's role, thickness and material) plus the summed total thickness.
46
49
  *
47
- * @param typeId The type id from {@linkcode PluginDesignTypesApi.list} (e.g. `"wall:exposedConcrete"`)
50
+ * @param typeId The legacy id or nativeFamily pin from {@linkcode PluginDesignTypesApi.list}
48
51
  * @returns The full type, or `null` if no type matches
49
52
  *
50
53
  * @examplePrompt What layers make up this wall type?
@@ -55,11 +58,11 @@ export declare abstract class PluginDesignTypesApi {
55
58
  * # Example
56
59
  * ```ts
57
60
  * const [first] = await snaptrude.design.types.list("wall")
58
- * const type = await snaptrude.design.types.get(first.id)
61
+ * const type = await snaptrude.design.types.get(first.nativeFamily ?? first.id)
59
62
  * if (type) for (const layer of type.layers) console.log(layer.name, layer.thickness)
60
63
  * ```
61
64
  */
62
- abstract get(typeId: string): PluginApiReturn<PluginBuildingType | null>;
65
+ abstract get(typeId: PluginWallType): PluginApiReturn<PluginBuildingType | null>;
63
66
  }
64
67
  /** The building-type families exposed by {@linkcode PluginDesignTypesApi}. */
65
68
  export declare const PluginBuildingTypeKind: z.ZodEnum<{
@@ -84,6 +87,7 @@ export declare const PluginTypeLayer: z.ZodObject<{
84
87
  name: z.ZodString;
85
88
  role: z.ZodString;
86
89
  thickness: z.ZodNumber;
90
+ isCore: z.ZodOptional<z.ZodBoolean>;
87
91
  material: z.ZodOptional<z.ZodObject<{
88
92
  name: z.ZodString;
89
93
  type: z.ZodString;
@@ -95,7 +99,7 @@ export type PluginTypeLayer = z.infer<typeof PluginTypeLayer>;
95
99
  *
96
100
  * | Property | Type | Description |
97
101
  * |---|---|---|
98
- * | `id` | `string` | Stable `"<kind>:<name>"` token — pass to `design.types.get` |
102
+ * | `id` | `string` | Legacy `"<kind>:<name>"` token or native definition id; native lookups use `nativeFamily` |
99
103
  * | `kind` | {@linkcode PluginBuildingTypeKind} | Which family it belongs to |
100
104
  * | `label` | `string` | Human-readable label |
101
105
  * | `isDefault` | `boolean` | `true` for a built-in type, `false` for a team/user type |
@@ -113,6 +117,10 @@ export declare const PluginBuildingTypeSummary: z.ZodObject<{
113
117
  label: z.ZodString;
114
118
  isDefault: z.ZodBoolean;
115
119
  thickness: z.ZodNumber;
120
+ nativeFamily: z.ZodOptional<z.ZodObject<{
121
+ id: z.ZodString;
122
+ version: z.ZodNumber;
123
+ }, z.core.$strip>>;
116
124
  }, z.core.$strip>;
117
125
  export type PluginBuildingTypeSummary = z.infer<typeof PluginBuildingTypeSummary>;
118
126
  /**
@@ -120,7 +128,7 @@ export type PluginBuildingTypeSummary = z.infer<typeof PluginBuildingTypeSummary
120
128
  *
121
129
  * | Property | Type | Description |
122
130
  * |---|---|---|
123
- * | `id` | `string` | Stable `"<kind>:<name>"` token |
131
+ * | `id` | `string` | Legacy type token or native definition id |
124
132
  * | `kind` | {@linkcode PluginBuildingTypeKind} | Which family it belongs to |
125
133
  * | `label` | `string` | Human-readable label |
126
134
  * | `isDefault` | `boolean` | `true` for a built-in type |
@@ -139,10 +147,15 @@ export declare const PluginBuildingType: z.ZodObject<{
139
147
  label: z.ZodString;
140
148
  isDefault: z.ZodBoolean;
141
149
  thickness: z.ZodNumber;
150
+ nativeFamily: z.ZodOptional<z.ZodObject<{
151
+ id: z.ZodString;
152
+ version: z.ZodNumber;
153
+ }, z.core.$strip>>;
142
154
  layers: z.ZodArray<z.ZodObject<{
143
155
  name: z.ZodString;
144
156
  role: z.ZodString;
145
157
  thickness: z.ZodNumber;
158
+ isCore: z.ZodOptional<z.ZodBoolean>;
146
159
  material: z.ZodOptional<z.ZodObject<{
147
160
  name: z.ZodString;
148
161
  type: z.ZodString;
@@ -172,10 +185,13 @@ export type PluginDesignTypesListArgs = z.infer<typeof PluginDesignTypesListArgs
172
185
  *
173
186
  * | Property | Type | Description |
174
187
  * |---|---|---|
175
- * | `typeId` | `string` | The `"<kind>:<name>"` id from `design.types.list` |
188
+ * | `typeId` | {@linkcode PluginWallType} | A legacy `"<kind>:<name>"` id or exact `nativeFamily` pin from `design.types.list` |
176
189
  */
177
190
  export declare const PluginDesignTypesGetArgs: z.ZodObject<{
178
- typeId: z.ZodString;
191
+ typeId: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
192
+ id: z.ZodString;
193
+ version: z.ZodNumber;
194
+ }, z.core.$strip>]>;
179
195
  }, z.core.$strip>;
180
196
  export type PluginDesignTypesGetArgs = z.infer<typeof PluginDesignTypesGetArgs>;
181
197
  //# sourceMappingURL=index.d.ts.map