@picteus/extension-sdk 0.15.0 → 0.17.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 (239) hide show
  1. package/dist/featureViewGrammar.d.ts +2814 -0
  2. package/dist/featureViewGrammar.js +2612 -0
  3. package/dist/generated/featureViewGrammar.d.ts +3913 -0
  4. package/dist/generated/featureViewGrammar.js +4099 -0
  5. package/dist/generated/viewKit.d.ts +3853 -0
  6. package/dist/generated/viewKit.js +4022 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +1 -0
  9. package/dist/picteus-ws-client/apis/AdministrationApi.d.ts +1 -1
  10. package/dist/picteus-ws-client/apis/AdministrationApi.js +1 -1
  11. package/dist/picteus-ws-client/apis/ApiSecretApi.d.ts +1 -1
  12. package/dist/picteus-ws-client/apis/ApiSecretApi.js +1 -1
  13. package/dist/picteus-ws-client/apis/CollectionApi.d.ts +1 -1
  14. package/dist/picteus-ws-client/apis/CollectionApi.js +1 -1
  15. package/dist/picteus-ws-client/apis/ExtensionApi.d.ts +69 -34
  16. package/dist/picteus-ws-client/apis/ExtensionApi.js +83 -38
  17. package/dist/picteus-ws-client/apis/ImageApi.d.ts +36 -5
  18. package/dist/picteus-ws-client/apis/ImageApi.js +44 -3
  19. package/dist/picteus-ws-client/apis/ImageAttachmentApi.d.ts +1 -1
  20. package/dist/picteus-ws-client/apis/ImageAttachmentApi.js +1 -1
  21. package/dist/picteus-ws-client/apis/MiscellaneousApi.d.ts +1 -1
  22. package/dist/picteus-ws-client/apis/MiscellaneousApi.js +1 -1
  23. package/dist/picteus-ws-client/apis/RepositoryApi.d.ts +5 -5
  24. package/dist/picteus-ws-client/apis/RepositoryApi.js +3 -3
  25. package/dist/picteus-ws-client/apis/SettingsApi.d.ts +1 -1
  26. package/dist/picteus-ws-client/apis/SettingsApi.js +1 -1
  27. package/dist/picteus-ws-client/models/ApiSecret.d.ts +1 -1
  28. package/dist/picteus-ws-client/models/ApiSecret.js +1 -1
  29. package/dist/picteus-ws-client/models/ApiSecretSummary.d.ts +1 -1
  30. package/dist/picteus-ws-client/models/ApiSecretSummary.js +1 -1
  31. package/dist/picteus-ws-client/models/ApiSecretType.d.ts +1 -1
  32. package/dist/picteus-ws-client/models/ApiSecretType.js +1 -1
  33. package/dist/picteus-ws-client/models/ApplicationConfiguration.d.ts +1 -1
  34. package/dist/picteus-ws-client/models/ApplicationConfiguration.js +1 -1
  35. package/dist/picteus-ws-client/models/ApplicationMetadata.d.ts +1 -1
  36. package/dist/picteus-ws-client/models/ApplicationMetadata.js +1 -1
  37. package/dist/picteus-ws-client/models/ApplicationMetadataItem.d.ts +1 -1
  38. package/dist/picteus-ws-client/models/ApplicationMetadataItem.js +1 -1
  39. package/dist/picteus-ws-client/models/ApplicationMetadataItemValue.d.ts +4 -2
  40. package/dist/picteus-ws-client/models/ApplicationMetadataItemValue.js +1 -1
  41. package/dist/picteus-ws-client/models/ApplicationSettings.d.ts +1 -1
  42. package/dist/picteus-ws-client/models/ApplicationSettings.js +1 -1
  43. package/dist/picteus-ws-client/models/Collection.d.ts +1 -1
  44. package/dist/picteus-ws-client/models/Collection.js +1 -1
  45. package/dist/picteus-ws-client/models/CommandEntity.d.ts +1 -1
  46. package/dist/picteus-ws-client/models/CommandEntity.js +1 -1
  47. package/dist/picteus-ws-client/models/ComputedImageFormat.d.ts +1 -1
  48. package/dist/picteus-ws-client/models/ComputedImageFormat.js +1 -1
  49. package/dist/picteus-ws-client/models/ConfigurationCapability.d.ts +1 -1
  50. package/dist/picteus-ws-client/models/ConfigurationCapability.js +1 -1
  51. package/dist/picteus-ws-client/models/ConfigurationExtensionCommand.d.ts +1 -1
  52. package/dist/picteus-ws-client/models/ConfigurationExtensionCommand.js +1 -1
  53. package/dist/picteus-ws-client/models/ConstantsRegistry.d.ts +1 -1
  54. package/dist/picteus-ws-client/models/ConstantsRegistry.js +1 -1
  55. package/dist/picteus-ws-client/models/Dates.d.ts +1 -1
  56. package/dist/picteus-ws-client/models/Dates.js +1 -1
  57. package/dist/picteus-ws-client/models/Extension.d.ts +5 -5
  58. package/dist/picteus-ws-client/models/Extension.js +5 -5
  59. package/dist/picteus-ws-client/models/ExtensionActivity.d.ts +23 -5
  60. package/dist/picteus-ws-client/models/ExtensionActivity.js +17 -5
  61. package/dist/picteus-ws-client/models/ExtensionActivityKind.d.ts +1 -1
  62. package/dist/picteus-ws-client/models/ExtensionActivityKind.js +1 -1
  63. package/dist/picteus-ws-client/models/ExtensionActivityState.d.ts +25 -0
  64. package/dist/picteus-ws-client/models/ExtensionActivityState.js +43 -0
  65. package/dist/picteus-ws-client/models/ExtensionAndManual.d.ts +5 -5
  66. package/dist/picteus-ws-client/models/ExtensionAndManual.js +5 -5
  67. package/dist/picteus-ws-client/models/ExtensionCategory.d.ts +1 -1
  68. package/dist/picteus-ws-client/models/ExtensionCategory.js +1 -1
  69. package/dist/picteus-ws-client/models/ExtensionGenerationOptions.d.ts +1 -1
  70. package/dist/picteus-ws-client/models/ExtensionGenerationOptions.js +1 -1
  71. package/dist/picteus-ws-client/models/ExtensionIdImageEmbeddingName.d.ts +1 -1
  72. package/dist/picteus-ws-client/models/ExtensionIdImageEmbeddingName.js +1 -1
  73. package/dist/picteus-ws-client/models/ExtensionImageEmbeddings.d.ts +1 -1
  74. package/dist/picteus-ws-client/models/ExtensionImageEmbeddings.js +1 -1
  75. package/dist/picteus-ws-client/models/ExtensionImageFeature.d.ts +1 -1
  76. package/dist/picteus-ws-client/models/ExtensionImageFeature.js +1 -1
  77. package/dist/picteus-ws-client/models/ExtensionImageFeatureName.d.ts +1 -1
  78. package/dist/picteus-ws-client/models/ExtensionImageFeatureName.js +1 -1
  79. package/dist/picteus-ws-client/models/ExtensionImageFeaturesAttribute.d.ts +1 -1
  80. package/dist/picteus-ws-client/models/ExtensionImageFeaturesAttribute.js +1 -1
  81. package/dist/picteus-ws-client/models/ExtensionImageTag.d.ts +1 -1
  82. package/dist/picteus-ws-client/models/ExtensionImageTag.js +1 -1
  83. package/dist/picteus-ws-client/models/ExtensionImageTagsAttribute.d.ts +1 -1
  84. package/dist/picteus-ws-client/models/ExtensionImageTagsAttribute.js +1 -1
  85. package/dist/picteus-ws-client/models/ExtensionManual.d.ts +1 -1
  86. package/dist/picteus-ws-client/models/ExtensionManual.js +1 -1
  87. package/dist/picteus-ws-client/models/ExtensionSettings.d.ts +5 -3
  88. package/dist/picteus-ws-client/models/ExtensionSettings.js +1 -1
  89. package/dist/picteus-ws-client/models/ExtensionState.d.ts +25 -0
  90. package/dist/picteus-ws-client/models/ExtensionState.js +43 -0
  91. package/dist/picteus-ws-client/models/ExtensionsConfiguration.d.ts +1 -1
  92. package/dist/picteus-ws-client/models/ExtensionsConfiguration.js +1 -1
  93. package/dist/picteus-ws-client/models/GenerationRecipe.d.ts +13 -1
  94. package/dist/picteus-ws-client/models/GenerationRecipe.js +5 -1
  95. package/dist/picteus-ws-client/models/GenerationRecipePrompt.d.ts +1 -1
  96. package/dist/picteus-ws-client/models/GenerationRecipePrompt.js +1 -1
  97. package/dist/picteus-ws-client/models/Image.d.ts +1 -1
  98. package/dist/picteus-ws-client/models/Image.js +1 -1
  99. package/dist/picteus-ws-client/models/ImageDimensions.d.ts +1 -1
  100. package/dist/picteus-ws-client/models/ImageDimensions.js +1 -1
  101. package/dist/picteus-ws-client/models/ImageDistance.d.ts +1 -1
  102. package/dist/picteus-ws-client/models/ImageDistance.js +1 -1
  103. package/dist/picteus-ws-client/models/ImageEmbedding.d.ts +1 -1
  104. package/dist/picteus-ws-client/models/ImageEmbedding.js +1 -1
  105. package/dist/picteus-ws-client/models/ImageFeature.d.ts +1 -1
  106. package/dist/picteus-ws-client/models/ImageFeature.js +1 -1
  107. package/dist/picteus-ws-client/models/ImageFeatureFormat.d.ts +3 -1
  108. package/dist/picteus-ws-client/models/ImageFeatureFormat.js +4 -2
  109. package/dist/picteus-ws-client/models/ImageFeatureNullValue.d.ts +1 -1
  110. package/dist/picteus-ws-client/models/ImageFeatureNullValue.js +1 -1
  111. package/dist/picteus-ws-client/models/ImageFeatureType.d.ts +2 -1
  112. package/dist/picteus-ws-client/models/ImageFeatureType.js +2 -1
  113. package/dist/picteus-ws-client/models/ImageFeatureValue.d.ts +1 -1
  114. package/dist/picteus-ws-client/models/ImageFeatureValue.js +1 -1
  115. package/dist/picteus-ws-client/models/ImageFormat.d.ts +1 -1
  116. package/dist/picteus-ws-client/models/ImageFormat.js +1 -1
  117. package/dist/picteus-ws-client/models/ImageMediaUrl.d.ts +1 -1
  118. package/dist/picteus-ws-client/models/ImageMediaUrl.js +1 -1
  119. package/dist/picteus-ws-client/models/ImageMetadata.d.ts +1 -1
  120. package/dist/picteus-ws-client/models/ImageMetadata.js +1 -1
  121. package/dist/picteus-ws-client/models/ImageResizeRender.d.ts +1 -1
  122. package/dist/picteus-ws-client/models/ImageResizeRender.js +1 -1
  123. package/dist/picteus-ws-client/models/ImageSummary.d.ts +1 -1
  124. package/dist/picteus-ws-client/models/ImageSummary.js +1 -1
  125. package/dist/picteus-ws-client/models/InstructionsPrompt.d.ts +5 -3
  126. package/dist/picteus-ws-client/models/InstructionsPrompt.js +1 -1
  127. package/dist/picteus-ws-client/models/Manifest.d.ts +5 -3
  128. package/dist/picteus-ws-client/models/Manifest.js +1 -1
  129. package/dist/picteus-ws-client/models/ManifestCapability.d.ts +1 -1
  130. package/dist/picteus-ws-client/models/ManifestCapability.js +1 -1
  131. package/dist/picteus-ws-client/models/ManifestCapabilityId.d.ts +1 -1
  132. package/dist/picteus-ws-client/models/ManifestCapabilityId.js +1 -1
  133. package/dist/picteus-ws-client/models/ManifestEvent.d.ts +1 -3
  134. package/dist/picteus-ws-client/models/ManifestEvent.js +1 -3
  135. package/dist/picteus-ws-client/models/ManifestExecution.d.ts +1 -1
  136. package/dist/picteus-ws-client/models/ManifestExecution.js +1 -1
  137. package/dist/picteus-ws-client/models/ManifestExtensionCommand.d.ts +5 -3
  138. package/dist/picteus-ws-client/models/ManifestExtensionCommand.js +1 -1
  139. package/dist/picteus-ws-client/models/ManifestExtensionCommandOn.d.ts +1 -1
  140. package/dist/picteus-ws-client/models/ManifestExtensionCommandOn.js +1 -1
  141. package/dist/picteus-ws-client/models/ManifestExtensionCommandSpecification.d.ts +1 -1
  142. package/dist/picteus-ws-client/models/ManifestExtensionCommandSpecification.js +1 -1
  143. package/dist/picteus-ws-client/models/ManifestExtensionCommandUi.d.ts +1 -1
  144. package/dist/picteus-ws-client/models/ManifestExtensionCommandUi.js +1 -1
  145. package/dist/picteus-ws-client/models/ManifestInstructions.d.ts +1 -1
  146. package/dist/picteus-ws-client/models/ManifestInstructions.js +1 -1
  147. package/dist/picteus-ws-client/models/ManifestInterfaceElement.d.ts +1 -1
  148. package/dist/picteus-ws-client/models/ManifestInterfaceElement.js +1 -1
  149. package/dist/picteus-ws-client/models/ManifestInterfaceElementIntegration.d.ts +1 -1
  150. package/dist/picteus-ws-client/models/ManifestInterfaceElementIntegration.js +1 -1
  151. package/dist/picteus-ws-client/models/ManifestRuntime.d.ts +1 -1
  152. package/dist/picteus-ws-client/models/ManifestRuntime.js +1 -1
  153. package/dist/picteus-ws-client/models/ManifestRuntimeEnvironment.d.ts +1 -1
  154. package/dist/picteus-ws-client/models/ManifestRuntimeEnvironment.js +1 -1
  155. package/dist/picteus-ws-client/models/ManifestThrottlingPolicy.d.ts +1 -1
  156. package/dist/picteus-ws-client/models/ManifestThrottlingPolicy.js +1 -1
  157. package/dist/picteus-ws-client/models/ManifestUserInterface.d.ts +1 -1
  158. package/dist/picteus-ws-client/models/ManifestUserInterface.js +1 -1
  159. package/dist/picteus-ws-client/models/PromptKind.d.ts +1 -1
  160. package/dist/picteus-ws-client/models/PromptKind.js +1 -1
  161. package/dist/picteus-ws-client/models/Repository.d.ts +5 -5
  162. package/dist/picteus-ws-client/models/Repository.js +5 -5
  163. package/dist/picteus-ws-client/models/RepositoryActivity.d.ts +1 -1
  164. package/dist/picteus-ws-client/models/RepositoryActivity.js +1 -1
  165. package/dist/picteus-ws-client/models/RepositoryActivityKind.d.ts +1 -1
  166. package/dist/picteus-ws-client/models/RepositoryActivityKind.js +1 -1
  167. package/dist/picteus-ws-client/models/RepositoryLocationType.d.ts +1 -1
  168. package/dist/picteus-ws-client/models/RepositoryLocationType.js +1 -1
  169. package/dist/picteus-ws-client/models/RepositoryState.d.ts +27 -0
  170. package/dist/picteus-ws-client/models/RepositoryState.js +45 -0
  171. package/dist/picteus-ws-client/models/RunCommandParameters.d.ts +5 -3
  172. package/dist/picteus-ws-client/models/RunCommandParameters.js +1 -1
  173. package/dist/picteus-ws-client/models/SearchCriteria.d.ts +1 -1
  174. package/dist/picteus-ws-client/models/SearchCriteria.js +1 -1
  175. package/dist/picteus-ws-client/models/SearchFeatureComparisonOperator.d.ts +1 -1
  176. package/dist/picteus-ws-client/models/SearchFeatureComparisonOperator.js +1 -1
  177. package/dist/picteus-ws-client/models/SearchFeatureCondition.d.ts +1 -1
  178. package/dist/picteus-ws-client/models/SearchFeatureCondition.js +1 -1
  179. package/dist/picteus-ws-client/models/SearchFeatureConditionValue.d.ts +1 -1
  180. package/dist/picteus-ws-client/models/SearchFeatureConditionValue.js +1 -1
  181. package/dist/picteus-ws-client/models/SearchFeatureLogicalOperator.d.ts +1 -1
  182. package/dist/picteus-ws-client/models/SearchFeatureLogicalOperator.js +1 -1
  183. package/dist/picteus-ws-client/models/SearchFeatures.d.ts +1 -1
  184. package/dist/picteus-ws-client/models/SearchFeatures.js +1 -1
  185. package/dist/picteus-ws-client/models/SearchFeaturesResult.d.ts +1 -1
  186. package/dist/picteus-ws-client/models/SearchFeaturesResult.js +1 -1
  187. package/dist/picteus-ws-client/models/SearchFilter.d.ts +1 -1
  188. package/dist/picteus-ws-client/models/SearchFilter.js +1 -1
  189. package/dist/picteus-ws-client/models/SearchFilterOrigin.d.ts +1 -1
  190. package/dist/picteus-ws-client/models/SearchFilterOrigin.js +1 -1
  191. package/dist/picteus-ws-client/models/SearchImageIdResult.d.ts +1 -1
  192. package/dist/picteus-ws-client/models/SearchImageIdResult.js +1 -1
  193. package/dist/picteus-ws-client/models/SearchImageResult.d.ts +1 -1
  194. package/dist/picteus-ws-client/models/SearchImageResult.js +1 -1
  195. package/dist/picteus-ws-client/models/SearchImageSummaryResult.d.ts +1 -1
  196. package/dist/picteus-ws-client/models/SearchImageSummaryResult.js +1 -1
  197. package/dist/picteus-ws-client/models/SearchImagesOrigin.d.ts +1 -1
  198. package/dist/picteus-ws-client/models/SearchImagesOrigin.js +1 -1
  199. package/dist/picteus-ws-client/models/SearchKeyword.d.ts +1 -1
  200. package/dist/picteus-ws-client/models/SearchKeyword.js +1 -1
  201. package/dist/picteus-ws-client/models/SearchMediaUrlResult.d.ts +1 -1
  202. package/dist/picteus-ws-client/models/SearchMediaUrlResult.js +1 -1
  203. package/dist/picteus-ws-client/models/SearchOriginNature.d.ts +1 -1
  204. package/dist/picteus-ws-client/models/SearchOriginNature.js +1 -1
  205. package/dist/picteus-ws-client/models/SearchParameters.d.ts +1 -1
  206. package/dist/picteus-ws-client/models/SearchParameters.js +1 -1
  207. package/dist/picteus-ws-client/models/SearchProperties.d.ts +1 -1
  208. package/dist/picteus-ws-client/models/SearchProperties.js +1 -1
  209. package/dist/picteus-ws-client/models/SearchPropertyRange.d.ts +1 -1
  210. package/dist/picteus-ws-client/models/SearchPropertyRange.js +1 -1
  211. package/dist/picteus-ws-client/models/SearchRange.d.ts +1 -1
  212. package/dist/picteus-ws-client/models/SearchRange.js +1 -1
  213. package/dist/picteus-ws-client/models/SearchRepositoriesOrigin.d.ts +1 -1
  214. package/dist/picteus-ws-client/models/SearchRepositoriesOrigin.js +1 -1
  215. package/dist/picteus-ws-client/models/SearchSorting.d.ts +1 -1
  216. package/dist/picteus-ws-client/models/SearchSorting.js +1 -1
  217. package/dist/picteus-ws-client/models/SearchSortingProperty.d.ts +1 -1
  218. package/dist/picteus-ws-client/models/SearchSortingProperty.js +1 -1
  219. package/dist/picteus-ws-client/models/SearchTags.d.ts +1 -1
  220. package/dist/picteus-ws-client/models/SearchTags.js +1 -1
  221. package/dist/picteus-ws-client/models/SearchTagsResult.d.ts +1 -1
  222. package/dist/picteus-ws-client/models/SearchTagsResult.js +1 -1
  223. package/dist/picteus-ws-client/models/Software.d.ts +1 -1
  224. package/dist/picteus-ws-client/models/Software.js +1 -1
  225. package/dist/picteus-ws-client/models/TextualPrompt.d.ts +1 -1
  226. package/dist/picteus-ws-client/models/TextualPrompt.js +1 -1
  227. package/dist/picteus-ws-client/models/UserInterfaceAnchor.d.ts +1 -1
  228. package/dist/picteus-ws-client/models/UserInterfaceAnchor.js +1 -1
  229. package/dist/picteus-ws-client/models/UserInterfaceSidebarIntegration.d.ts +1 -1
  230. package/dist/picteus-ws-client/models/UserInterfaceSidebarIntegration.js +1 -1
  231. package/dist/picteus-ws-client/models/UserInterfaceWindowIntegration.d.ts +1 -1
  232. package/dist/picteus-ws-client/models/UserInterfaceWindowIntegration.js +1 -1
  233. package/dist/picteus-ws-client/models/index.d.ts +3 -3
  234. package/dist/picteus-ws-client/models/index.js +3 -3
  235. package/dist/picteus-ws-client/runtime.d.ts +1 -1
  236. package/dist/picteus-ws-client/runtime.js +1 -1
  237. package/dist/picteusExtension.d.ts +1 -1
  238. package/dist/picteusExtension.js +18 -15
  239. package/package.json +1 -1
@@ -0,0 +1,3853 @@
1
+ /** Generic base class providing recursive JSON serialization for all model instances. */
2
+ export declare abstract class ViewKitNode<T = unknown> {
3
+ /**
4
+ * Serializes this model instance into a strongly-typed, JSON-compatible plain object.
5
+ *
6
+ * @returns The plain object representation conforming to interface `T`.
7
+ */
8
+ toJSON(): T;
9
+ /**
10
+ * Returns the compact JSON string representation of this model instance with no indentation.
11
+ *
12
+ * @returns Compact JSON string without indentation.
13
+ */
14
+ toString(): string;
15
+ }
16
+ /** Typographic stroke weight styling. */
17
+ export declare enum TextWeight {
18
+ thin = "thin",
19
+ normal = "normal",
20
+ heavy = "heavy"
21
+ }
22
+ /** Visual text color intensity and contrast. */
23
+ export declare enum TextIntensity {
24
+ low = "low",
25
+ medium = "medium",
26
+ high = "high"
27
+ }
28
+ /** Geometric shape representation for visual containers and indicators. */
29
+ export declare enum Shape {
30
+ circle = "circle",
31
+ square = "square"
32
+ }
33
+ /** Relative sizing scale for visual elements and indicators. */
34
+ export declare enum Size {
35
+ small = "small",
36
+ medium = "medium",
37
+ large = "large"
38
+ }
39
+ /** Representation style for short string values. */
40
+ export declare enum StringShortRepresentation {
41
+ plain = "plain",
42
+ chip = "chip"
43
+ }
44
+ /** Supported syntax highlighting languages for formatted code blocks. */
45
+ export declare enum CodeLanguage {
46
+ xml = "xml",
47
+ json = "json",
48
+ yaml = "yaml"
49
+ }
50
+ /** Visual color tone variants for badge pill representations. */
51
+ export declare enum BadgeVariant {
52
+ neutral = "neutral",
53
+ success = "success",
54
+ warning = "warning",
55
+ danger = "danger"
56
+ }
57
+ /** Presentation format styles for timestamp elements. */
58
+ export declare enum TimestampFormat {
59
+ datetime = "datetime",
60
+ date = "date",
61
+ time = "time",
62
+ relative = "relative"
63
+ }
64
+ /** Visual style variants for interactive button actions. */
65
+ export declare enum ButtonVariant {
66
+ primary = "primary",
67
+ secondary = "secondary",
68
+ subtle = "subtle",
69
+ danger = "danger"
70
+ }
71
+ /** Text horizontal alignment options for table columns. */
72
+ export declare enum TableColumnAlign {
73
+ left = "left",
74
+ center = "center",
75
+ right = "right"
76
+ }
77
+ /** Visual styling variants for hairline dividers. */
78
+ export declare enum DividerStyle {
79
+ hairline = "hairline",
80
+ solid = "solid",
81
+ dashed = "dashed"
82
+ }
83
+ /**
84
+ * Polymorphic root base model for all visual UI elements in Picteus feature views.
85
+ * Uses the @discriminator("type") decorator so all child models inheriting from UiElement
86
+ * are automatically recognized by schema emitters and SDK code generators.
87
+ */
88
+ export interface UiElementBase {
89
+ /** The polymorphic discriminator type tag. */
90
+ readonly type: string;
91
+ }
92
+ /** Abstract base class for all `UiElement` models. */
93
+ export declare abstract class BaseUiElement<T = UiElement> extends ViewKitNode<T> implements UiElementBase {
94
+ abstract readonly type: string;
95
+ }
96
+ /** Polymorphic base model for interactive actions. */
97
+ export interface UiActionBase {
98
+ /** The polymorphic discriminator type tag. */
99
+ readonly type: string;
100
+ /** Display label for the action */
101
+ readonly label: string;
102
+ }
103
+ /** Abstract base class for all `UiAction` models. */
104
+ export declare abstract class BaseUiAction<T = UiAction> extends ViewKitNode<T> implements UiActionBase {
105
+ abstract readonly type: string;
106
+ abstract readonly label: string;
107
+ }
108
+ /** Truncation configuration for long textual content with optional expand affordance. */
109
+ export interface TruncateOptions {
110
+ /** Maximum number of characters to display before truncating */
111
+ readonly characterLimit: number;
112
+ /**
113
+ * Whether to render a "Show more" / "Show less" toggle affordance
114
+ *
115
+ * @defaultValue true
116
+ */
117
+ readonly showMore?: boolean;
118
+ }
119
+ /** Base modifier traits for elements that support copy affordance. */
120
+ export interface BaseModifiers {
121
+ /** Adds an interactive copy button/action next to the rendered value */
122
+ readonly copyable?: boolean;
123
+ }
124
+ /** Common modifier traits that can be attached to primitive elements. */
125
+ export interface PrimitiveModifiers extends BaseModifiers {
126
+ /** Configures character truncation threshold with show-more affordance */
127
+ readonly truncate?: TruncateOptions;
128
+ /**
129
+ * Typographic text weight
130
+ *
131
+ * @defaultValue TextWeight.normal
132
+ */
133
+ readonly weight?: TextWeight;
134
+ /**
135
+ * Visual text color intensity
136
+ *
137
+ * @defaultValue TextIntensity.medium
138
+ */
139
+ readonly intensity?: TextIntensity;
140
+ /**
141
+ * Whether to use monospace font rendering (for hashes, IDs, codes)
142
+ *
143
+ * @defaultValue false
144
+ */
145
+ readonly monospace?: boolean;
146
+ }
147
+ /**
148
+ * Short string primitive element.
149
+ * Supports plain text or compact chip pill presentation.
150
+ */
151
+ export interface StringShortElement extends UiElementBase {
152
+ /**
153
+ * Discriminator type
154
+ *
155
+ * @defaultValue "string-short"
156
+ */
157
+ readonly type: "string-short";
158
+ /** Text value */
159
+ readonly value: string;
160
+ /**
161
+ * Display representation mode
162
+ *
163
+ * @defaultValue StringShortRepresentation.plain
164
+ */
165
+ readonly representation?: StringShortRepresentation;
166
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
167
+ readonly modifiers?: PrimitiveModifiers;
168
+ }
169
+ /** Multiline text block primitive element for descriptions, comments, or prose. */
170
+ export interface StringLongElement extends UiElementBase {
171
+ /**
172
+ * Discriminator type
173
+ *
174
+ * @defaultValue "string-long"
175
+ */
176
+ readonly type: "string-long";
177
+ /** Text value */
178
+ readonly value: string;
179
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
180
+ readonly modifiers?: PrimitiveModifiers;
181
+ }
182
+ /** Monospace code block or formatted code snippet representation. */
183
+ export interface StringCodeElement extends UiElementBase {
184
+ /**
185
+ * Discriminator type
186
+ *
187
+ * @defaultValue "string-code"
188
+ */
189
+ readonly type: "string-code";
190
+ /** Text value */
191
+ readonly value: string;
192
+ /** Optional syntax highlighting language identifier */
193
+ readonly language?: CodeLanguage;
194
+ /** Optional visual modifiers (copyable) */
195
+ readonly modifiers?: BaseModifiers;
196
+ }
197
+ /** XML markup code block element. */
198
+ export interface XmlElement extends UiElementBase {
199
+ /**
200
+ * Discriminator type
201
+ *
202
+ * @defaultValue "xml"
203
+ */
204
+ readonly type: "xml";
205
+ /** XML content value */
206
+ readonly value: string;
207
+ /** Optional visual modifiers (copyable) */
208
+ readonly modifiers?: BaseModifiers;
209
+ }
210
+ /** JSON data or structure representation element. */
211
+ export interface JsonElement extends UiElementBase {
212
+ /**
213
+ * Discriminator type
214
+ *
215
+ * @defaultValue "json"
216
+ */
217
+ readonly type: "json";
218
+ /** JSON content value */
219
+ readonly value: string;
220
+ /** Optional visual modifiers (copyable) */
221
+ readonly modifiers?: BaseModifiers;
222
+ }
223
+ /** Hyperlink representation for external or internal URL navigation. */
224
+ export interface StringUrlElement extends UiElementBase {
225
+ /**
226
+ * Discriminator type
227
+ *
228
+ * @defaultValue "string-url"
229
+ */
230
+ readonly type: "string-url";
231
+ /** Target URL or navigation destination */
232
+ readonly value: string;
233
+ /** Optional custom anchor text label */
234
+ readonly label?: string;
235
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
236
+ readonly modifiers?: PrimitiveModifiers;
237
+ }
238
+ /** Monospace semantic identifier representation. */
239
+ export interface IdentifierElement extends UiElementBase {
240
+ /**
241
+ * Discriminator type
242
+ *
243
+ * @defaultValue "identifier"
244
+ */
245
+ readonly type: "identifier";
246
+ /** Identifier string value */
247
+ readonly value: string;
248
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
249
+ readonly modifiers?: PrimitiveModifiers;
250
+ }
251
+ /** Aspect ratio representation (e.g. "16:9", "4:3", "1:1"). */
252
+ export interface RatioElement extends UiElementBase {
253
+ /**
254
+ * Discriminator type
255
+ *
256
+ * @defaultValue "ratio"
257
+ */
258
+ readonly type: "ratio";
259
+ /** Aspect ratio numerical expression */
260
+ readonly value: number;
261
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
262
+ readonly modifiers?: PrimitiveModifiers;
263
+ }
264
+ /** Single color representation with hex value, shape/size styling, text display toggle, and copy affordance. */
265
+ export interface ColourElement extends UiElementBase {
266
+ /**
267
+ * Discriminator type
268
+ *
269
+ * @defaultValue "color"
270
+ */
271
+ readonly type: "color";
272
+ /** Hexadecimal color code */
273
+ readonly value: string;
274
+ /** Optional descriptive color name label */
275
+ readonly label?: string;
276
+ /**
277
+ * Whether to display the textual color code or label next to the swatch
278
+ *
279
+ * @defaultValue true
280
+ */
281
+ readonly showText?: boolean;
282
+ /**
283
+ * Visual shape of the color indicator
284
+ *
285
+ * @defaultValue Shape.circle
286
+ */
287
+ readonly shape?: Shape;
288
+ /**
289
+ * Visual size of the color indicator
290
+ *
291
+ * @defaultValue Size.medium
292
+ */
293
+ readonly size?: Size;
294
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
295
+ readonly modifiers?: PrimitiveModifiers;
296
+ }
297
+ /** Plain unbounded numeric value primitive element. */
298
+ export interface NumberUnboundedElement extends UiElementBase {
299
+ /**
300
+ * Discriminator type
301
+ *
302
+ * @defaultValue "number-unbounded"
303
+ */
304
+ readonly type: "number-unbounded";
305
+ /** Numeric value */
306
+ readonly value: number;
307
+ /** Optional unit suffix (e.g. "px", "ms", "MB") */
308
+ readonly unit?: string;
309
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
310
+ readonly modifiers?: PrimitiveModifiers;
311
+ }
312
+ /** Bounded numeric rating represented as visual stars. */
313
+ export interface NumberBoundedStarsElement extends UiElementBase {
314
+ /**
315
+ * Discriminator type
316
+ *
317
+ * @defaultValue "number-stars"
318
+ */
319
+ readonly type: "number-stars";
320
+ /** Numeric rating score */
321
+ readonly value: number;
322
+ /** Maximum rating scale (defaults to 5) */
323
+ readonly maximum?: number;
324
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
325
+ readonly modifiers?: PrimitiveModifiers;
326
+ }
327
+ /** Bounded numeric meter representation (read-only progress / score bar). */
328
+ export interface NumberBoundedMeterElement extends UiElementBase {
329
+ /**
330
+ * Discriminator type
331
+ *
332
+ * @defaultValue "number-meter"
333
+ */
334
+ readonly type: "number-meter";
335
+ /** Numeric value */
336
+ readonly value: number;
337
+ /** Minimum scale bound (defaults to 0) */
338
+ readonly minimum?: number;
339
+ /** Maximum scale bound (e.g. 100) */
340
+ readonly maximum?: number;
341
+ /** Optional custom text label override (e.g. "68 / 100") */
342
+ readonly label?: string;
343
+ /** Optional unit suffix (e.g. "%") */
344
+ readonly unit?: string;
345
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
346
+ readonly modifiers?: PrimitiveModifiers;
347
+ }
348
+ /** Plain boolean value representation (textual "true" / "false"). */
349
+ export interface BooleanPlainElement extends UiElementBase {
350
+ /**
351
+ * Discriminator type
352
+ *
353
+ * @defaultValue "boolean-plain"
354
+ */
355
+ readonly type: "boolean-plain";
356
+ /** Boolean state value */
357
+ readonly value: boolean;
358
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
359
+ readonly modifiers?: PrimitiveModifiers;
360
+ }
361
+ /** Visual badge pill representation of a boolean state. */
362
+ export interface BooleanBadgeElement extends UiElementBase {
363
+ /**
364
+ * Discriminator type
365
+ *
366
+ * @defaultValue "boolean-badge"
367
+ */
368
+ readonly type: "boolean-badge";
369
+ /** Boolean state value */
370
+ readonly value: boolean;
371
+ /**
372
+ * Custom display label when true (defaults to "true")
373
+ *
374
+ * @defaultValue "true"
375
+ */
376
+ readonly trueLabel?: string;
377
+ /**
378
+ * Custom display label when false (defaults to "false")
379
+ *
380
+ * @defaultValue "false"
381
+ */
382
+ readonly falseLabel?: string;
383
+ /**
384
+ * Badge color tone
385
+ *
386
+ * @defaultValue BadgeVariant.neutral
387
+ */
388
+ readonly variant?: BadgeVariant;
389
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
390
+ readonly modifiers?: PrimitiveModifiers;
391
+ }
392
+ /** Formatted date and time representation. */
393
+ export interface TimestampElement extends UiElementBase {
394
+ /**
395
+ * Discriminator type
396
+ *
397
+ * @defaultValue "timestamp"
398
+ */
399
+ readonly type: "timestamp";
400
+ /** The timestamp in milliseconds */
401
+ readonly value: number;
402
+ /**
403
+ * Presentation date/time format
404
+ *
405
+ * @defaultValue TimestampFormat.datetime
406
+ */
407
+ readonly format?: TimestampFormat;
408
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
409
+ readonly modifiers?: PrimitiveModifiers;
410
+ }
411
+ /** Thumbnail image reference with placeholder fallback handling. */
412
+ export interface ImageReferenceElement extends UiElementBase {
413
+ /**
414
+ * Discriminator type
415
+ *
416
+ * @defaultValue "image-ref"
417
+ */
418
+ readonly type: "image-ref";
419
+ /** Image source URI (HTTPS URL, base64 data URI, or asset path) */
420
+ readonly src: string;
421
+ /** Accessible alternative description */
422
+ readonly alt?: string;
423
+ /**
424
+ * Aspect ratio of the thumbnail container
425
+ *
426
+ * @defaultValue "1:1"
427
+ */
428
+ readonly aspectRatio?: string;
429
+ /** Fallback placeholder image URI */
430
+ readonly placeholder?: string;
431
+ }
432
+ /** Interactive button action triggering an extension command. */
433
+ export interface ButtonActionElement extends UiActionBase {
434
+ /**
435
+ * Discriminator type
436
+ *
437
+ * @defaultValue "button"
438
+ */
439
+ readonly type: "button";
440
+ /** Extension identifier owning the target command */
441
+ readonly extensionId?: string;
442
+ /** Command identifier to invoke */
443
+ readonly commandId: string;
444
+ /** Target entity or context identifier */
445
+ readonly target?: string;
446
+ /** Optional arbitrary parameters payload forwarded to the command handler */
447
+ readonly parameters?: Record<string, unknown>;
448
+ /**
449
+ * Whether the button is disabled / unavailable
450
+ *
451
+ * @defaultValue false
452
+ */
453
+ readonly disabled?: boolean;
454
+ /**
455
+ * Button visual style variant
456
+ *
457
+ * @defaultValue ButtonVariant.secondary
458
+ */
459
+ readonly variant?: ButtonVariant;
460
+ }
461
+ /** External link action distinct from inline URL text values. */
462
+ export interface ExternalLinkActionElement extends UiActionBase {
463
+ /**
464
+ * Discriminator type
465
+ *
466
+ * @defaultValue "external-link"
467
+ */
468
+ readonly type: "external-link";
469
+ /** Target URL destination */
470
+ readonly url: string;
471
+ }
472
+ /** Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling. */
473
+ export interface MarkdownBlockElement extends UiElementBase {
474
+ /**
475
+ * Discriminator type
476
+ *
477
+ * @defaultValue "markdown"
478
+ */
479
+ readonly type: "markdown";
480
+ /** Raw Markdown markup content */
481
+ readonly content: string;
482
+ /** Optional visual modifiers (copyable) */
483
+ readonly modifiers?: BaseModifiers;
484
+ }
485
+ /** Sandboxed HTML rendering escape hatch. */
486
+ export interface HtmlBlockElement extends UiElementBase {
487
+ /**
488
+ * Discriminator type
489
+ *
490
+ * @defaultValue "html"
491
+ */
492
+ readonly type: "html";
493
+ /** Raw HTML markup content */
494
+ readonly content: string;
495
+ /** Optional visual modifiers (copyable) */
496
+ readonly modifiers?: BaseModifiers;
497
+ }
498
+ /** Single slot within a multi-slot horizontal row layout. */
499
+ export interface Slot {
500
+ /** Optional slot label (e.g. "Slot A") */
501
+ readonly label?: string;
502
+ /** Relative or fractional width proportion (e.g. "1/3", "2/3", "100px", "auto") */
503
+ readonly width?: string;
504
+ /** Rendered content inside the slot */
505
+ readonly content: UiElement;
506
+ }
507
+ /**
508
+ * Multi-slot horizontal row with declared column width proportions.
509
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
510
+ */
511
+ export interface MultiSlotElement extends UiElementBase {
512
+ /**
513
+ * Discriminator type
514
+ *
515
+ * @defaultValue "multi-slot"
516
+ */
517
+ readonly type: "multi-slot";
518
+ /** Proportions descriptor (e.g. "1/3 + 2/3", "equal", "1/4 + 3/4") */
519
+ readonly proportions?: string;
520
+ /** List of slots comprising the row */
521
+ readonly slots: Slot[];
522
+ }
523
+ /**
524
+ * Flowing inline layout container with automatic line wrapping.
525
+ * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
526
+ */
527
+ export interface FlowingElement extends UiElementBase {
528
+ /**
529
+ * Discriminator type
530
+ *
531
+ * @defaultValue "flowing"
532
+ */
533
+ readonly type: "flowing";
534
+ /** List of child elements rendered sequentially with line wrapping */
535
+ readonly elements: UiElement[];
536
+ }
537
+ /**
538
+ * Standard label and value row.
539
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
540
+ */
541
+ export interface LabelValueElement extends UiElementBase {
542
+ /**
543
+ * Discriminator type
544
+ *
545
+ * @defaultValue "label-value"
546
+ */
547
+ readonly type: "label-value";
548
+ /** Key or descriptive label displayed muted on the left */
549
+ readonly label: string;
550
+ /** Rendered value element on the right */
551
+ readonly value: UiElement;
552
+ /**
553
+ * Whether to render a bottom border/hairline divider
554
+ *
555
+ * @defaultValue false
556
+ */
557
+ readonly withDivider?: boolean;
558
+ }
559
+ /** Column definition for structured tables. */
560
+ export interface TableColumn {
561
+ /** Display header text */
562
+ readonly header?: string;
563
+ /**
564
+ * Text horizontal alignment
565
+ *
566
+ * @defaultValue TableColumnAlign.left
567
+ */
568
+ readonly align?: TableColumnAlign;
569
+ /** Optional width constraint */
570
+ readonly width?: string;
571
+ }
572
+ /** Single table row containing an array of cell values. */
573
+ export interface TableRow {
574
+ /** Array of cell values corresponding to table columns */
575
+ readonly cells: UiElement[];
576
+ }
577
+ /**
578
+ * Structured tabular data representation.
579
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
580
+ */
581
+ export interface TableElement extends UiElementBase {
582
+ /**
583
+ * Discriminator type
584
+ *
585
+ * @defaultValue "table"
586
+ */
587
+ readonly type: "table";
588
+ /**
589
+ * Whether to render a column header row
590
+ *
591
+ * @defaultValue true
592
+ */
593
+ readonly hasHeader?: boolean;
594
+ /**
595
+ * Whether to render alternating row background colors
596
+ *
597
+ * @defaultValue false
598
+ */
599
+ readonly isStriped?: boolean;
600
+ /**
601
+ * Whether to render vertical column separators
602
+ *
603
+ * @defaultValue false
604
+ */
605
+ readonly withColumnSeparators?: boolean;
606
+ /**
607
+ * Whether to render horizontal row separators
608
+ *
609
+ * @defaultValue false
610
+ */
611
+ readonly withRowSeparators?: boolean;
612
+ /** Optional explicit column definitions */
613
+ readonly columns?: TableColumn[];
614
+ /** Tabular data rows */
615
+ readonly rows: TableRow[];
616
+ }
617
+ /** Single entry within a repeating group. */
618
+ export interface RepeatingGroupEntry {
619
+ /** Entry label */
620
+ readonly label: string;
621
+ /** Primary entry value or nested elements */
622
+ readonly value?: UiElement;
623
+ /** Nested elements for structured entries */
624
+ readonly elements?: UiElement[];
625
+ }
626
+ /** Repeating group container where entries share uniform structure and retain per-entry labels. */
627
+ export interface RepeatingGroupElement extends UiElementBase {
628
+ /**
629
+ * Discriminator type
630
+ *
631
+ * @defaultValue "repeating-group"
632
+ */
633
+ readonly type: "repeating-group";
634
+ /** Optional section header for the group */
635
+ readonly title?: string;
636
+ /** List of repeated entry records */
637
+ readonly entries: RepeatingGroupEntry[];
638
+ }
639
+ /** Collapsible disclosure container (accordion) with summary badge. */
640
+ export interface CollapsibleGroupElement extends UiElementBase {
641
+ /**
642
+ * Discriminator type
643
+ *
644
+ * @defaultValue "collapsible-group"
645
+ */
646
+ readonly type: "collapsible-group";
647
+ /** Group title (e.g. "Show specimen details") */
648
+ readonly title: string;
649
+ /** Secondary summary indicator (e.g. "2 neutral values") */
650
+ readonly summary?: string;
651
+ /**
652
+ * Whether the disclosure is open/expanded by default
653
+ *
654
+ * @defaultValue false
655
+ */
656
+ readonly defaultExpanded?: boolean;
657
+ /** Nested content elements revealed when expanded */
658
+ readonly elements: UiElement[];
659
+ }
660
+ /** Visual hairline separator separating sections or element groups. */
661
+ export interface DividerElement extends UiElementBase {
662
+ /**
663
+ * Discriminator type
664
+ *
665
+ * @defaultValue "divider"
666
+ */
667
+ readonly type: "divider";
668
+ /**
669
+ * Line styling
670
+ *
671
+ * @defaultValue DividerStyle.hairline
672
+ */
673
+ readonly style?: DividerStyle;
674
+ }
675
+ /** Base envelope container model holding the schema version attribute. */
676
+ export interface Envelop {
677
+ /**
678
+ * Schema specification version
679
+ *
680
+ * @defaultValue "1.0"
681
+ */
682
+ readonly schemaVersion: "1.0";
683
+ }
684
+ /** Container model representing an ordered list of visual elements. */
685
+ export interface UiContainer extends Envelop {
686
+ /** Ordered list of visual elements, structures, and content */
687
+ readonly elements: UiElement[];
688
+ }
689
+ /**
690
+ * Root Card container model.
691
+ * Represents a complete feature card rendered inside the 360px panel.
692
+ */
693
+ export interface UiCard extends UiContainer {
694
+ /** Human-readable feature title displayed in the card header */
695
+ readonly title: string;
696
+ /** Optional neutral subtitle / description for the feature */
697
+ readonly description?: string;
698
+ /** Optional card action buttons rendered at the base of the feature card */
699
+ readonly actions?: UiAction[];
700
+ }
701
+ /**
702
+ * Polymorphic root base model for all visual UI elements in Picteus feature views.
703
+ * Uses the @discriminator("type") decorator so all child models inheriting from UiElement
704
+ * are automatically recognized by schema emitters and SDK code generators.
705
+ */
706
+ export type UiElement = StringShortElement | StringLongElement | StringCodeElement | XmlElement | JsonElement | StringUrlElement | IdentifierElement | RatioElement | ColourElement | NumberUnboundedElement | NumberBoundedStarsElement | NumberBoundedMeterElement | BooleanPlainElement | BooleanBadgeElement | TimestampElement | ImageReferenceElement | MarkdownBlockElement | HtmlBlockElement | MultiSlotElement | FlowingElement | LabelValueElement | TableElement | RepeatingGroupElement | CollapsibleGroupElement | DividerElement;
707
+ /** Polymorphic base model for interactive actions. */
708
+ export type UiAction = ButtonActionElement | ExternalLinkActionElement;
709
+ /**
710
+ * Class implementation of the `TruncateOptions` interface.
711
+ *
712
+ * @remarks
713
+ * Truncation configuration for long textual content with optional expand affordance.
714
+ */
715
+ export declare class TruncateOptionsClass extends ViewKitNode<TruncateOptions> implements TruncateOptions {
716
+ /** Maximum number of characters to display before truncating */
717
+ readonly characterLimit: number;
718
+ /**
719
+ * Whether to render a "Show more" / "Show less" toggle affordance
720
+ *
721
+ * @defaultValue true
722
+ */
723
+ readonly showMore?: boolean;
724
+ /**
725
+ * Constructs a new `TruncateOptionsClass` instance.
726
+ *
727
+ * @param characterLimit - Maximum number of characters to display before truncating
728
+ * @param options - Optional component settings. (showMore (defaults to `true`)).
729
+ */
730
+ constructor(characterLimit: number, options?: {
731
+ showMore?: boolean;
732
+ });
733
+ }
734
+ /**
735
+ * Class implementation of the `BaseModifiers` interface.
736
+ *
737
+ * @remarks
738
+ * Base modifier traits for elements that support copy affordance.
739
+ */
740
+ export declare class BaseModifiersClass extends ViewKitNode<BaseModifiers> implements BaseModifiers {
741
+ /** Adds an interactive copy button/action next to the rendered value */
742
+ readonly copyable?: boolean;
743
+ /**
744
+ * Constructs a new `BaseModifiersClass` instance.
745
+ *
746
+ * @param options - Optional component settings. (copyable).
747
+ */
748
+ constructor(options?: {
749
+ copyable?: boolean;
750
+ });
751
+ }
752
+ /**
753
+ * Class implementation of the `PrimitiveModifiers` interface.
754
+ *
755
+ * @remarks
756
+ * Common modifier traits that can be attached to primitive elements.
757
+ */
758
+ export declare class PrimitiveModifiersClass extends ViewKitNode<PrimitiveModifiers> implements PrimitiveModifiers {
759
+ /** Configures character truncation threshold with show-more affordance */
760
+ readonly truncate?: TruncateOptions;
761
+ /**
762
+ * Typographic text weight
763
+ *
764
+ * @defaultValue TextWeight.normal
765
+ */
766
+ readonly weight?: TextWeight;
767
+ /**
768
+ * Visual text color intensity
769
+ *
770
+ * @defaultValue TextIntensity.medium
771
+ */
772
+ readonly intensity?: TextIntensity;
773
+ /**
774
+ * Whether to use monospace font rendering (for hashes, IDs, codes)
775
+ *
776
+ * @defaultValue false
777
+ */
778
+ readonly monospace?: boolean;
779
+ /** Adds an interactive copy button/action next to the rendered value */
780
+ readonly copyable?: boolean;
781
+ /**
782
+ * Constructs a new `PrimitiveModifiersClass` instance.
783
+ *
784
+ * @param options - Optional component settings. (truncate, weight (defaults to `normal`), intensity (defaults to `medium`), monospace (defaults to `false`), copyable).
785
+ */
786
+ constructor(options?: {
787
+ truncate?: TruncateOptions;
788
+ weight?: TextWeight;
789
+ intensity?: TextIntensity;
790
+ monospace?: boolean;
791
+ copyable?: boolean;
792
+ });
793
+ }
794
+ /**
795
+ * Class implementation of the `StringShortElement` interface.
796
+ *
797
+ * @remarks
798
+ * Short string primitive element.
799
+ * Supports plain text or compact chip pill presentation.
800
+ */
801
+ export declare class StringShortElementClass extends BaseUiElement<StringShortElement> implements StringShortElement {
802
+ /**
803
+ * Discriminator identifier for `StringShortElement`.
804
+ *
805
+ * @defaultValue "string-short"
806
+ */
807
+ readonly type = "string-short";
808
+ /** Text value */
809
+ readonly value: string;
810
+ /**
811
+ * Display representation mode
812
+ *
813
+ * @defaultValue StringShortRepresentation.plain
814
+ */
815
+ readonly representation?: StringShortRepresentation;
816
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
817
+ readonly modifiers?: PrimitiveModifiers;
818
+ /**
819
+ * Constructs a new `StringShortElementClass` instance.
820
+ *
821
+ * @param value - Text value
822
+ * @param options - Optional component settings. (representation (defaults to `plain`), modifiers).
823
+ */
824
+ constructor(value: string, options?: {
825
+ representation?: StringShortRepresentation;
826
+ modifiers?: PrimitiveModifiers;
827
+ });
828
+ }
829
+ /**
830
+ * Class implementation of the `StringLongElement` interface.
831
+ *
832
+ * @remarks
833
+ * Multiline text block primitive element for descriptions, comments, or prose.
834
+ */
835
+ export declare class StringLongElementClass extends BaseUiElement<StringLongElement> implements StringLongElement {
836
+ /**
837
+ * Discriminator identifier for `StringLongElement`.
838
+ *
839
+ * @defaultValue "string-long"
840
+ */
841
+ readonly type = "string-long";
842
+ /** Text value */
843
+ readonly value: string;
844
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
845
+ readonly modifiers?: PrimitiveModifiers;
846
+ /**
847
+ * Constructs a new `StringLongElementClass` instance.
848
+ *
849
+ * @param value - Text value
850
+ * @param options - Optional component settings. (modifiers).
851
+ */
852
+ constructor(value: string, options?: {
853
+ modifiers?: PrimitiveModifiers;
854
+ });
855
+ }
856
+ /**
857
+ * Class implementation of the `StringCodeElement` interface.
858
+ *
859
+ * @remarks
860
+ * Monospace code block or formatted code snippet representation.
861
+ */
862
+ export declare class StringCodeElementClass extends BaseUiElement<StringCodeElement> implements StringCodeElement {
863
+ /**
864
+ * Discriminator identifier for `StringCodeElement`.
865
+ *
866
+ * @defaultValue "string-code"
867
+ */
868
+ readonly type = "string-code";
869
+ /** Text value */
870
+ readonly value: string;
871
+ /** Optional syntax highlighting language identifier */
872
+ readonly language?: CodeLanguage;
873
+ /** Optional visual modifiers (copyable) */
874
+ readonly modifiers?: BaseModifiers;
875
+ /**
876
+ * Constructs a new `StringCodeElementClass` instance.
877
+ *
878
+ * @param value - Text value
879
+ * @param options - Optional component settings. (language, modifiers).
880
+ */
881
+ constructor(value: string, options?: {
882
+ language?: CodeLanguage;
883
+ modifiers?: BaseModifiers;
884
+ });
885
+ }
886
+ /**
887
+ * Class implementation of the `XmlElement` interface.
888
+ *
889
+ * @remarks
890
+ * XML markup code block element.
891
+ */
892
+ export declare class XmlElementClass extends BaseUiElement<XmlElement> implements XmlElement {
893
+ /**
894
+ * Discriminator identifier for `XmlElement`.
895
+ *
896
+ * @defaultValue "xml"
897
+ */
898
+ readonly type = "xml";
899
+ /** XML content value */
900
+ readonly value: string;
901
+ /** Optional visual modifiers (copyable) */
902
+ readonly modifiers?: BaseModifiers;
903
+ /**
904
+ * Constructs a new `XmlElementClass` instance.
905
+ *
906
+ * @param value - XML content value
907
+ * @param options - Optional component settings. (modifiers).
908
+ */
909
+ constructor(value: string, options?: {
910
+ modifiers?: BaseModifiers;
911
+ });
912
+ }
913
+ /**
914
+ * Class implementation of the `JsonElement` interface.
915
+ *
916
+ * @remarks
917
+ * JSON data or structure representation element.
918
+ */
919
+ export declare class JsonElementClass extends BaseUiElement<JsonElement> implements JsonElement {
920
+ /**
921
+ * Discriminator identifier for `JsonElement`.
922
+ *
923
+ * @defaultValue "json"
924
+ */
925
+ readonly type = "json";
926
+ /** JSON content value */
927
+ readonly value: string;
928
+ /** Optional visual modifiers (copyable) */
929
+ readonly modifiers?: BaseModifiers;
930
+ /**
931
+ * Constructs a new `JsonElementClass` instance.
932
+ *
933
+ * @param value - JSON content value
934
+ * @param options - Optional component settings. (modifiers).
935
+ */
936
+ constructor(value: string, options?: {
937
+ modifiers?: BaseModifiers;
938
+ });
939
+ }
940
+ /**
941
+ * Class implementation of the `StringUrlElement` interface.
942
+ *
943
+ * @remarks
944
+ * Hyperlink representation for external or internal URL navigation.
945
+ */
946
+ export declare class StringUrlElementClass extends BaseUiElement<StringUrlElement> implements StringUrlElement {
947
+ /**
948
+ * Discriminator identifier for `StringUrlElement`.
949
+ *
950
+ * @defaultValue "string-url"
951
+ */
952
+ readonly type = "string-url";
953
+ /** Target URL or navigation destination */
954
+ readonly value: string;
955
+ /** Optional custom anchor text label */
956
+ readonly label?: string;
957
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
958
+ readonly modifiers?: PrimitiveModifiers;
959
+ /**
960
+ * Constructs a new `StringUrlElementClass` instance.
961
+ *
962
+ * @param value - Target URL or navigation destination
963
+ * @param options - Optional component settings. (label, modifiers).
964
+ */
965
+ constructor(value: string, options?: {
966
+ label?: string;
967
+ modifiers?: PrimitiveModifiers;
968
+ });
969
+ }
970
+ /**
971
+ * Class implementation of the `IdentifierElement` interface.
972
+ *
973
+ * @remarks
974
+ * Monospace semantic identifier representation.
975
+ */
976
+ export declare class IdentifierElementClass extends BaseUiElement<IdentifierElement> implements IdentifierElement {
977
+ /**
978
+ * Discriminator identifier for `IdentifierElement`.
979
+ *
980
+ * @defaultValue "identifier"
981
+ */
982
+ readonly type = "identifier";
983
+ /** Identifier string value */
984
+ readonly value: string;
985
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
986
+ readonly modifiers?: PrimitiveModifiers;
987
+ /**
988
+ * Constructs a new `IdentifierElementClass` instance.
989
+ *
990
+ * @param value - Identifier string value
991
+ * @param options - Optional component settings. (modifiers).
992
+ */
993
+ constructor(value: string, options?: {
994
+ modifiers?: PrimitiveModifiers;
995
+ });
996
+ }
997
+ /**
998
+ * Class implementation of the `RatioElement` interface.
999
+ *
1000
+ * @remarks
1001
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
1002
+ */
1003
+ export declare class RatioElementClass extends BaseUiElement<RatioElement> implements RatioElement {
1004
+ /**
1005
+ * Discriminator identifier for `RatioElement`.
1006
+ *
1007
+ * @defaultValue "ratio"
1008
+ */
1009
+ readonly type = "ratio";
1010
+ /** Aspect ratio numerical expression */
1011
+ readonly value: number;
1012
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1013
+ readonly modifiers?: PrimitiveModifiers;
1014
+ /**
1015
+ * Constructs a new `RatioElementClass` instance.
1016
+ *
1017
+ * @param value - Aspect ratio numerical expression
1018
+ * @param options - Optional component settings. (modifiers).
1019
+ */
1020
+ constructor(value: number, options?: {
1021
+ modifiers?: PrimitiveModifiers;
1022
+ });
1023
+ }
1024
+ /**
1025
+ * Class implementation of the `ColourElement` interface.
1026
+ *
1027
+ * @remarks
1028
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
1029
+ */
1030
+ export declare class ColourElementClass extends BaseUiElement<ColourElement> implements ColourElement {
1031
+ /**
1032
+ * Discriminator identifier for `ColourElement`.
1033
+ *
1034
+ * @defaultValue "color"
1035
+ */
1036
+ readonly type = "color";
1037
+ /** Hexadecimal color code */
1038
+ readonly value: string;
1039
+ /** Optional descriptive color name label */
1040
+ readonly label?: string;
1041
+ /**
1042
+ * Whether to display the textual color code or label next to the swatch
1043
+ *
1044
+ * @defaultValue true
1045
+ */
1046
+ readonly showText?: boolean;
1047
+ /**
1048
+ * Visual shape of the color indicator
1049
+ *
1050
+ * @defaultValue Shape.circle
1051
+ */
1052
+ readonly shape?: Shape;
1053
+ /**
1054
+ * Visual size of the color indicator
1055
+ *
1056
+ * @defaultValue Size.medium
1057
+ */
1058
+ readonly size?: Size;
1059
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1060
+ readonly modifiers?: PrimitiveModifiers;
1061
+ /**
1062
+ * Constructs a new `ColourElementClass` instance.
1063
+ *
1064
+ * @param value - Hexadecimal color code
1065
+ * @param options - Optional component settings. (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
1066
+ */
1067
+ constructor(value: string, options?: {
1068
+ label?: string;
1069
+ showText?: boolean;
1070
+ shape?: Shape;
1071
+ size?: Size;
1072
+ modifiers?: PrimitiveModifiers;
1073
+ });
1074
+ }
1075
+ /**
1076
+ * Class implementation of the `NumberUnboundedElement` interface.
1077
+ *
1078
+ * @remarks
1079
+ * Plain unbounded numeric value primitive element.
1080
+ */
1081
+ export declare class NumberUnboundedElementClass extends BaseUiElement<NumberUnboundedElement> implements NumberUnboundedElement {
1082
+ /**
1083
+ * Discriminator identifier for `NumberUnboundedElement`.
1084
+ *
1085
+ * @defaultValue "number-unbounded"
1086
+ */
1087
+ readonly type = "number-unbounded";
1088
+ /** Numeric value */
1089
+ readonly value: number;
1090
+ /** Optional unit suffix (e.g. "px", "ms", "MB") */
1091
+ readonly unit?: string;
1092
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1093
+ readonly modifiers?: PrimitiveModifiers;
1094
+ /**
1095
+ * Constructs a new `NumberUnboundedElementClass` instance.
1096
+ *
1097
+ * @param value - Numeric value
1098
+ * @param options - Optional component settings. (unit, modifiers).
1099
+ */
1100
+ constructor(value: number, options?: {
1101
+ unit?: string;
1102
+ modifiers?: PrimitiveModifiers;
1103
+ });
1104
+ }
1105
+ /**
1106
+ * Class implementation of the `NumberBoundedStarsElement` interface.
1107
+ *
1108
+ * @remarks
1109
+ * Bounded numeric rating represented as visual stars.
1110
+ */
1111
+ export declare class NumberBoundedStarsElementClass extends BaseUiElement<NumberBoundedStarsElement> implements NumberBoundedStarsElement {
1112
+ /**
1113
+ * Discriminator identifier for `NumberBoundedStarsElement`.
1114
+ *
1115
+ * @defaultValue "number-stars"
1116
+ */
1117
+ readonly type = "number-stars";
1118
+ /** Numeric rating score */
1119
+ readonly value: number;
1120
+ /** Maximum rating scale (defaults to 5) */
1121
+ readonly maximum?: number;
1122
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1123
+ readonly modifiers?: PrimitiveModifiers;
1124
+ /**
1125
+ * Constructs a new `NumberBoundedStarsElementClass` instance.
1126
+ *
1127
+ * @param value - Numeric rating score
1128
+ * @param options - Optional component settings. (maximum, modifiers).
1129
+ */
1130
+ constructor(value: number, options?: {
1131
+ maximum?: number;
1132
+ modifiers?: PrimitiveModifiers;
1133
+ });
1134
+ }
1135
+ /**
1136
+ * Class implementation of the `NumberBoundedMeterElement` interface.
1137
+ *
1138
+ * @remarks
1139
+ * Bounded numeric meter representation (read-only progress / score bar).
1140
+ */
1141
+ export declare class NumberBoundedMeterElementClass extends BaseUiElement<NumberBoundedMeterElement> implements NumberBoundedMeterElement {
1142
+ /**
1143
+ * Discriminator identifier for `NumberBoundedMeterElement`.
1144
+ *
1145
+ * @defaultValue "number-meter"
1146
+ */
1147
+ readonly type = "number-meter";
1148
+ /** Numeric value */
1149
+ readonly value: number;
1150
+ /** Minimum scale bound (defaults to 0) */
1151
+ readonly minimum?: number;
1152
+ /** Maximum scale bound (e.g. 100) */
1153
+ readonly maximum?: number;
1154
+ /** Optional custom text label override (e.g. "68 / 100") */
1155
+ readonly label?: string;
1156
+ /** Optional unit suffix (e.g. "%") */
1157
+ readonly unit?: string;
1158
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1159
+ readonly modifiers?: PrimitiveModifiers;
1160
+ /**
1161
+ * Constructs a new `NumberBoundedMeterElementClass` instance.
1162
+ *
1163
+ * @param value - Numeric value
1164
+ * @param options - Optional component settings. (minimum, maximum, label, unit, modifiers).
1165
+ */
1166
+ constructor(value: number, options?: {
1167
+ minimum?: number;
1168
+ maximum?: number;
1169
+ label?: string;
1170
+ unit?: string;
1171
+ modifiers?: PrimitiveModifiers;
1172
+ });
1173
+ }
1174
+ /**
1175
+ * Class implementation of the `BooleanPlainElement` interface.
1176
+ *
1177
+ * @remarks
1178
+ * Plain boolean value representation (textual "true" / "false").
1179
+ */
1180
+ export declare class BooleanPlainElementClass extends BaseUiElement<BooleanPlainElement> implements BooleanPlainElement {
1181
+ /**
1182
+ * Discriminator identifier for `BooleanPlainElement`.
1183
+ *
1184
+ * @defaultValue "boolean-plain"
1185
+ */
1186
+ readonly type = "boolean-plain";
1187
+ /** Boolean state value */
1188
+ readonly value: boolean;
1189
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1190
+ readonly modifiers?: PrimitiveModifiers;
1191
+ /**
1192
+ * Constructs a new `BooleanPlainElementClass` instance.
1193
+ *
1194
+ * @param value - Boolean state value
1195
+ * @param options - Optional component settings. (modifiers).
1196
+ */
1197
+ constructor(value: boolean, options?: {
1198
+ modifiers?: PrimitiveModifiers;
1199
+ });
1200
+ }
1201
+ /**
1202
+ * Class implementation of the `BooleanBadgeElement` interface.
1203
+ *
1204
+ * @remarks
1205
+ * Visual badge pill representation of a boolean state.
1206
+ */
1207
+ export declare class BooleanBadgeElementClass extends BaseUiElement<BooleanBadgeElement> implements BooleanBadgeElement {
1208
+ /**
1209
+ * Discriminator identifier for `BooleanBadgeElement`.
1210
+ *
1211
+ * @defaultValue "boolean-badge"
1212
+ */
1213
+ readonly type = "boolean-badge";
1214
+ /** Boolean state value */
1215
+ readonly value: boolean;
1216
+ /**
1217
+ * Custom display label when true (defaults to "true")
1218
+ *
1219
+ * @defaultValue "true"
1220
+ */
1221
+ readonly trueLabel?: string;
1222
+ /**
1223
+ * Custom display label when false (defaults to "false")
1224
+ *
1225
+ * @defaultValue "false"
1226
+ */
1227
+ readonly falseLabel?: string;
1228
+ /**
1229
+ * Badge color tone
1230
+ *
1231
+ * @defaultValue BadgeVariant.neutral
1232
+ */
1233
+ readonly variant?: BadgeVariant;
1234
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1235
+ readonly modifiers?: PrimitiveModifiers;
1236
+ /**
1237
+ * Constructs a new `BooleanBadgeElementClass` instance.
1238
+ *
1239
+ * @param value - Boolean state value
1240
+ * @param options - Optional component settings. (trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
1241
+ */
1242
+ constructor(value: boolean, options?: {
1243
+ trueLabel?: string;
1244
+ falseLabel?: string;
1245
+ variant?: BadgeVariant;
1246
+ modifiers?: PrimitiveModifiers;
1247
+ });
1248
+ }
1249
+ /**
1250
+ * Class implementation of the `TimestampElement` interface.
1251
+ *
1252
+ * @remarks
1253
+ * Formatted date and time representation.
1254
+ */
1255
+ export declare class TimestampElementClass extends BaseUiElement<TimestampElement> implements TimestampElement {
1256
+ /**
1257
+ * Discriminator identifier for `TimestampElement`.
1258
+ *
1259
+ * @defaultValue "timestamp"
1260
+ */
1261
+ readonly type = "timestamp";
1262
+ /** The timestamp in milliseconds */
1263
+ readonly value: number;
1264
+ /**
1265
+ * Presentation date/time format
1266
+ *
1267
+ * @defaultValue TimestampFormat.datetime
1268
+ */
1269
+ readonly format?: TimestampFormat;
1270
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1271
+ readonly modifiers?: PrimitiveModifiers;
1272
+ /**
1273
+ * Constructs a new `TimestampElementClass` instance.
1274
+ *
1275
+ * @param value - The timestamp in milliseconds
1276
+ * @param options - Optional component settings. (format (defaults to `datetime`), modifiers).
1277
+ */
1278
+ constructor(value: number, options?: {
1279
+ format?: TimestampFormat;
1280
+ modifiers?: PrimitiveModifiers;
1281
+ });
1282
+ }
1283
+ /**
1284
+ * Class implementation of the `ImageReferenceElement` interface.
1285
+ *
1286
+ * @remarks
1287
+ * Thumbnail image reference with placeholder fallback handling.
1288
+ */
1289
+ export declare class ImageReferenceElementClass extends BaseUiElement<ImageReferenceElement> implements ImageReferenceElement {
1290
+ /**
1291
+ * Discriminator identifier for `ImageReferenceElement`.
1292
+ *
1293
+ * @defaultValue "image-ref"
1294
+ */
1295
+ readonly type = "image-ref";
1296
+ /** Image source URI (HTTPS URL, base64 data URI, or asset path) */
1297
+ readonly src: string;
1298
+ /** Accessible alternative description */
1299
+ readonly alt?: string;
1300
+ /**
1301
+ * Aspect ratio of the thumbnail container
1302
+ *
1303
+ * @defaultValue "1:1"
1304
+ */
1305
+ readonly aspectRatio?: string;
1306
+ /** Fallback placeholder image URI */
1307
+ readonly placeholder?: string;
1308
+ /**
1309
+ * Constructs a new `ImageReferenceElementClass` instance.
1310
+ *
1311
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
1312
+ * @param options - Optional component settings. (alt, aspectRatio (defaults to `1:1`), placeholder).
1313
+ */
1314
+ constructor(src: string, options?: {
1315
+ alt?: string;
1316
+ aspectRatio?: string;
1317
+ placeholder?: string;
1318
+ });
1319
+ }
1320
+ /**
1321
+ * Class implementation of the `ButtonActionElement` interface.
1322
+ *
1323
+ * @remarks
1324
+ * Interactive button action triggering an extension command.
1325
+ */
1326
+ export declare class ButtonActionElementClass extends BaseUiAction<ButtonActionElement> implements ButtonActionElement {
1327
+ /**
1328
+ * Discriminator identifier for `ButtonActionElement`.
1329
+ *
1330
+ * @defaultValue "button"
1331
+ */
1332
+ readonly type = "button";
1333
+ /** Command identifier to invoke */
1334
+ readonly commandId: string;
1335
+ /** Display label for the action */
1336
+ readonly label: string;
1337
+ /** Extension identifier owning the target command */
1338
+ readonly extensionId?: string;
1339
+ /** Target entity or context identifier */
1340
+ readonly target?: string;
1341
+ /** Optional arbitrary parameters payload forwarded to the command handler */
1342
+ readonly parameters?: Record<string, unknown>;
1343
+ /**
1344
+ * Whether the button is disabled / unavailable
1345
+ *
1346
+ * @defaultValue false
1347
+ */
1348
+ readonly disabled?: boolean;
1349
+ /**
1350
+ * Button visual style variant
1351
+ *
1352
+ * @defaultValue ButtonVariant.secondary
1353
+ */
1354
+ readonly variant?: ButtonVariant;
1355
+ /**
1356
+ * Constructs a new `ButtonActionElementClass` instance.
1357
+ *
1358
+ * @param commandId - Command identifier to invoke
1359
+ * @param label - Display label for the action
1360
+ * @param options - Optional component settings. (extensionId, target, parameters, disabled (defaults to `false`), variant (defaults to `secondary`)).
1361
+ */
1362
+ constructor(commandId: string, label: string, options?: {
1363
+ extensionId?: string;
1364
+ target?: string;
1365
+ parameters?: Record<string, unknown>;
1366
+ disabled?: boolean;
1367
+ variant?: ButtonVariant;
1368
+ });
1369
+ }
1370
+ /**
1371
+ * Class implementation of the `ExternalLinkActionElement` interface.
1372
+ *
1373
+ * @remarks
1374
+ * External link action distinct from inline URL text values.
1375
+ */
1376
+ export declare class ExternalLinkActionElementClass extends BaseUiAction<ExternalLinkActionElement> implements ExternalLinkActionElement {
1377
+ /**
1378
+ * Discriminator identifier for `ExternalLinkActionElement`.
1379
+ *
1380
+ * @defaultValue "external-link"
1381
+ */
1382
+ readonly type = "external-link";
1383
+ /** Target URL destination */
1384
+ readonly url: string;
1385
+ /** Display label for the action */
1386
+ readonly label: string;
1387
+ /**
1388
+ * Constructs a new `ExternalLinkActionElementClass` instance.
1389
+ *
1390
+ * @param url - Target URL destination
1391
+ * @param label - Display label for the action
1392
+ */
1393
+ constructor(url: string, label: string);
1394
+ }
1395
+ /**
1396
+ * Class implementation of the `MarkdownBlockElement` interface.
1397
+ *
1398
+ * @remarks
1399
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
1400
+ */
1401
+ export declare class MarkdownBlockElementClass extends BaseUiElement<MarkdownBlockElement> implements MarkdownBlockElement {
1402
+ /**
1403
+ * Discriminator identifier for `MarkdownBlockElement`.
1404
+ *
1405
+ * @defaultValue "markdown"
1406
+ */
1407
+ readonly type = "markdown";
1408
+ /** Raw Markdown markup content */
1409
+ readonly content: string;
1410
+ /** Optional visual modifiers (copyable) */
1411
+ readonly modifiers?: BaseModifiers;
1412
+ /**
1413
+ * Constructs a new `MarkdownBlockElementClass` instance.
1414
+ *
1415
+ * @param content - Raw Markdown markup content
1416
+ * @param options - Optional component settings. (modifiers).
1417
+ */
1418
+ constructor(content: string, options?: {
1419
+ modifiers?: BaseModifiers;
1420
+ });
1421
+ }
1422
+ /**
1423
+ * Class implementation of the `HtmlBlockElement` interface.
1424
+ *
1425
+ * @remarks
1426
+ * Sandboxed HTML rendering escape hatch.
1427
+ */
1428
+ export declare class HtmlBlockElementClass extends BaseUiElement<HtmlBlockElement> implements HtmlBlockElement {
1429
+ /**
1430
+ * Discriminator identifier for `HtmlBlockElement`.
1431
+ *
1432
+ * @defaultValue "html"
1433
+ */
1434
+ readonly type = "html";
1435
+ /** Raw HTML markup content */
1436
+ readonly content: string;
1437
+ /** Optional visual modifiers (copyable) */
1438
+ readonly modifiers?: BaseModifiers;
1439
+ /**
1440
+ * Constructs a new `HtmlBlockElementClass` instance.
1441
+ *
1442
+ * @param content - Raw HTML markup content
1443
+ * @param options - Optional component settings. (modifiers).
1444
+ */
1445
+ constructor(content: string, options?: {
1446
+ modifiers?: BaseModifiers;
1447
+ });
1448
+ }
1449
+ /**
1450
+ * Class implementation of the `Slot` interface.
1451
+ *
1452
+ * @remarks
1453
+ * Single slot within a multi-slot horizontal row layout.
1454
+ */
1455
+ export declare class SlotClass extends ViewKitNode<Slot> implements Slot {
1456
+ /** Rendered content inside the slot */
1457
+ readonly content: UiElement;
1458
+ /** Optional slot label (e.g. "Slot A") */
1459
+ readonly label?: string;
1460
+ /** Relative or fractional width proportion (e.g. "1/3", "2/3", "100px", "auto") */
1461
+ readonly width?: string;
1462
+ /**
1463
+ * Constructs a new `SlotClass` instance.
1464
+ *
1465
+ * @param content - Rendered content inside the slot
1466
+ * @param options - Optional component settings. (label, width).
1467
+ */
1468
+ constructor(content: UiElement, options?: {
1469
+ label?: string;
1470
+ width?: string;
1471
+ });
1472
+ }
1473
+ /**
1474
+ * Class implementation of the `MultiSlotElement` interface.
1475
+ *
1476
+ * @remarks
1477
+ * Multi-slot horizontal row with declared column width proportions.
1478
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
1479
+ */
1480
+ export declare class MultiSlotElementClass extends BaseUiElement<MultiSlotElement> implements MultiSlotElement {
1481
+ /**
1482
+ * Discriminator identifier for `MultiSlotElement`.
1483
+ *
1484
+ * @defaultValue "multi-slot"
1485
+ */
1486
+ readonly type = "multi-slot";
1487
+ /** List of slots comprising the row */
1488
+ readonly slots: Slot[];
1489
+ /** Proportions descriptor (e.g. "1/3 + 2/3", "equal", "1/4 + 3/4") */
1490
+ readonly proportions?: string;
1491
+ /**
1492
+ * Constructs a new `MultiSlotElementClass` instance.
1493
+ *
1494
+ * @param slots - List of slots comprising the row
1495
+ * @param options - Optional component settings. (proportions).
1496
+ */
1497
+ constructor(slots: Slot[], options?: {
1498
+ proportions?: string;
1499
+ });
1500
+ }
1501
+ /**
1502
+ * Class implementation of the `FlowingElement` interface.
1503
+ *
1504
+ * @remarks
1505
+ * Flowing inline layout container with automatic line wrapping.
1506
+ * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
1507
+ */
1508
+ export declare class FlowingElementClass extends BaseUiElement<FlowingElement> implements FlowingElement {
1509
+ /**
1510
+ * Discriminator identifier for `FlowingElement`.
1511
+ *
1512
+ * @defaultValue "flowing"
1513
+ */
1514
+ readonly type = "flowing";
1515
+ /** List of child elements rendered sequentially with line wrapping */
1516
+ readonly elements: UiElement[];
1517
+ /**
1518
+ * Constructs a new `FlowingElementClass` instance.
1519
+ *
1520
+ * @param elements - List of child elements rendered sequentially with line wrapping
1521
+ */
1522
+ constructor(elements: UiElement[]);
1523
+ }
1524
+ /**
1525
+ * Class implementation of the `LabelValueElement` interface.
1526
+ *
1527
+ * @remarks
1528
+ * Standard label and value row.
1529
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
1530
+ */
1531
+ export declare class LabelValueElementClass extends BaseUiElement<LabelValueElement> implements LabelValueElement {
1532
+ /**
1533
+ * Discriminator identifier for `LabelValueElement`.
1534
+ *
1535
+ * @defaultValue "label-value"
1536
+ */
1537
+ readonly type = "label-value";
1538
+ /** Key or descriptive label displayed muted on the left */
1539
+ readonly label: string;
1540
+ /** Rendered value element on the right */
1541
+ readonly value: UiElement;
1542
+ /**
1543
+ * Whether to render a bottom border/hairline divider
1544
+ *
1545
+ * @defaultValue false
1546
+ */
1547
+ readonly withDivider?: boolean;
1548
+ /**
1549
+ * Constructs a new `LabelValueElementClass` instance.
1550
+ *
1551
+ * @param label - Key or descriptive label displayed muted on the left
1552
+ * @param value - Rendered value element on the right
1553
+ * @param options - Optional component settings. (withDivider (defaults to `false`)).
1554
+ */
1555
+ constructor(label: string, value: UiElement, options?: {
1556
+ withDivider?: boolean;
1557
+ });
1558
+ }
1559
+ /**
1560
+ * Class implementation of the `TableColumn` interface.
1561
+ *
1562
+ * @remarks
1563
+ * Column definition for structured tables.
1564
+ */
1565
+ export declare class TableColumnClass extends ViewKitNode<TableColumn> implements TableColumn {
1566
+ /** Display header text */
1567
+ readonly header?: string;
1568
+ /**
1569
+ * Text horizontal alignment
1570
+ *
1571
+ * @defaultValue TableColumnAlign.left
1572
+ */
1573
+ readonly align?: TableColumnAlign;
1574
+ /** Optional width constraint */
1575
+ readonly width?: string;
1576
+ /**
1577
+ * Constructs a new `TableColumnClass` instance.
1578
+ *
1579
+ * @param options - Optional component settings. (header, align (defaults to `left`), width).
1580
+ */
1581
+ constructor(options?: {
1582
+ header?: string;
1583
+ align?: TableColumnAlign;
1584
+ width?: string;
1585
+ });
1586
+ }
1587
+ /**
1588
+ * Class implementation of the `TableRow` interface.
1589
+ *
1590
+ * @remarks
1591
+ * Single table row containing an array of cell values.
1592
+ */
1593
+ export declare class TableRowClass extends ViewKitNode<TableRow> implements TableRow {
1594
+ /** Array of cell values corresponding to table columns */
1595
+ readonly cells: UiElement[];
1596
+ /**
1597
+ * Constructs a new `TableRowClass` instance.
1598
+ *
1599
+ * @param cells - Array of cell values corresponding to table columns
1600
+ */
1601
+ constructor(cells: UiElement[]);
1602
+ }
1603
+ /**
1604
+ * Class implementation of the `TableElement` interface.
1605
+ *
1606
+ * @remarks
1607
+ * Structured tabular data representation.
1608
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
1609
+ */
1610
+ export declare class TableElementClass extends BaseUiElement<TableElement> implements TableElement {
1611
+ /**
1612
+ * Discriminator identifier for `TableElement`.
1613
+ *
1614
+ * @defaultValue "table"
1615
+ */
1616
+ readonly type = "table";
1617
+ /** Tabular data rows */
1618
+ readonly rows: TableRow[];
1619
+ /**
1620
+ * Whether to render a column header row
1621
+ *
1622
+ * @defaultValue true
1623
+ */
1624
+ readonly hasHeader?: boolean;
1625
+ /**
1626
+ * Whether to render alternating row background colors
1627
+ *
1628
+ * @defaultValue false
1629
+ */
1630
+ readonly isStriped?: boolean;
1631
+ /**
1632
+ * Whether to render vertical column separators
1633
+ *
1634
+ * @defaultValue false
1635
+ */
1636
+ readonly withColumnSeparators?: boolean;
1637
+ /**
1638
+ * Whether to render horizontal row separators
1639
+ *
1640
+ * @defaultValue false
1641
+ */
1642
+ readonly withRowSeparators?: boolean;
1643
+ /** Optional explicit column definitions */
1644
+ readonly columns?: TableColumn[];
1645
+ /**
1646
+ * Constructs a new `TableElementClass` instance.
1647
+ *
1648
+ * @param rows - Tabular data rows
1649
+ * @param options - Optional component settings. (hasHeader (defaults to `true`), isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
1650
+ */
1651
+ constructor(rows: TableRow[], options?: {
1652
+ hasHeader?: boolean;
1653
+ isStriped?: boolean;
1654
+ withColumnSeparators?: boolean;
1655
+ withRowSeparators?: boolean;
1656
+ columns?: TableColumn[];
1657
+ });
1658
+ }
1659
+ /**
1660
+ * Class implementation of the `RepeatingGroupEntry` interface.
1661
+ *
1662
+ * @remarks
1663
+ * Single entry within a repeating group.
1664
+ */
1665
+ export declare class RepeatingGroupEntryClass extends ViewKitNode<RepeatingGroupEntry> implements RepeatingGroupEntry {
1666
+ /** Entry label */
1667
+ readonly label: string;
1668
+ /** Primary entry value or nested elements */
1669
+ readonly value?: UiElement;
1670
+ /** Nested elements for structured entries */
1671
+ readonly elements?: UiElement[];
1672
+ /**
1673
+ * Constructs a new `RepeatingGroupEntryClass` instance.
1674
+ *
1675
+ * @param label - Entry label
1676
+ * @param options - Optional component settings. (value, elements).
1677
+ */
1678
+ constructor(label: string, options?: {
1679
+ value?: UiElement;
1680
+ elements?: UiElement[];
1681
+ });
1682
+ }
1683
+ /**
1684
+ * Class implementation of the `RepeatingGroupElement` interface.
1685
+ *
1686
+ * @remarks
1687
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
1688
+ */
1689
+ export declare class RepeatingGroupElementClass extends BaseUiElement<RepeatingGroupElement> implements RepeatingGroupElement {
1690
+ /**
1691
+ * Discriminator identifier for `RepeatingGroupElement`.
1692
+ *
1693
+ * @defaultValue "repeating-group"
1694
+ */
1695
+ readonly type = "repeating-group";
1696
+ /** List of repeated entry records */
1697
+ readonly entries: RepeatingGroupEntry[];
1698
+ /** Optional section header for the group */
1699
+ readonly title?: string;
1700
+ /**
1701
+ * Constructs a new `RepeatingGroupElementClass` instance.
1702
+ *
1703
+ * @param entries - List of repeated entry records
1704
+ * @param options - Optional component settings. (title).
1705
+ */
1706
+ constructor(entries: RepeatingGroupEntry[], options?: {
1707
+ title?: string;
1708
+ });
1709
+ }
1710
+ /**
1711
+ * Class implementation of the `CollapsibleGroupElement` interface.
1712
+ *
1713
+ * @remarks
1714
+ * Collapsible disclosure container (accordion) with summary badge.
1715
+ */
1716
+ export declare class CollapsibleGroupElementClass extends BaseUiElement<CollapsibleGroupElement> implements CollapsibleGroupElement {
1717
+ /**
1718
+ * Discriminator identifier for `CollapsibleGroupElement`.
1719
+ *
1720
+ * @defaultValue "collapsible-group"
1721
+ */
1722
+ readonly type = "collapsible-group";
1723
+ /** Group title (e.g. "Show specimen details") */
1724
+ readonly title: string;
1725
+ /** Nested content elements revealed when expanded */
1726
+ readonly elements: UiElement[];
1727
+ /** Secondary summary indicator (e.g. "2 neutral values") */
1728
+ readonly summary?: string;
1729
+ /**
1730
+ * Whether the disclosure is open/expanded by default
1731
+ *
1732
+ * @defaultValue false
1733
+ */
1734
+ readonly defaultExpanded?: boolean;
1735
+ /**
1736
+ * Constructs a new `CollapsibleGroupElementClass` instance.
1737
+ *
1738
+ * @param title - Group title (e.g. "Show specimen details")
1739
+ * @param elements - Nested content elements revealed when expanded
1740
+ * @param options - Optional component settings. (summary, defaultExpanded (defaults to `false`)).
1741
+ */
1742
+ constructor(title: string, elements: UiElement[], options?: {
1743
+ summary?: string;
1744
+ defaultExpanded?: boolean;
1745
+ });
1746
+ }
1747
+ /**
1748
+ * Class implementation of the `DividerElement` interface.
1749
+ *
1750
+ * @remarks
1751
+ * Visual hairline separator separating sections or element groups.
1752
+ */
1753
+ export declare class DividerElementClass extends BaseUiElement<DividerElement> implements DividerElement {
1754
+ /**
1755
+ * Discriminator identifier for `DividerElement`.
1756
+ *
1757
+ * @defaultValue "divider"
1758
+ */
1759
+ readonly type = "divider";
1760
+ /**
1761
+ * Line styling
1762
+ *
1763
+ * @defaultValue DividerStyle.hairline
1764
+ */
1765
+ readonly style?: DividerStyle;
1766
+ /**
1767
+ * Constructs a new `DividerElementClass` instance.
1768
+ *
1769
+ * @param options - Optional component settings. (style (defaults to `hairline`)).
1770
+ */
1771
+ constructor(options?: {
1772
+ style?: DividerStyle;
1773
+ });
1774
+ }
1775
+ /**
1776
+ * Class implementation of the `Envelop` interface.
1777
+ *
1778
+ * @remarks
1779
+ * Base envelope container model holding the schema version attribute.
1780
+ */
1781
+ export declare class EnvelopClass extends ViewKitNode<Envelop> implements Envelop {
1782
+ /**
1783
+ * Schema specification version
1784
+ *
1785
+ * @defaultValue "1.0"
1786
+ */
1787
+ readonly schemaVersion: "1.0";
1788
+ /**
1789
+ * Constructs a new `EnvelopClass` instance.
1790
+ *
1791
+ * @param options - Optional component settings. (schemaVersion (defaults to `1.0`)).
1792
+ */
1793
+ constructor(options?: {
1794
+ schemaVersion?: "1.0";
1795
+ });
1796
+ }
1797
+ /**
1798
+ * Class implementation of the `UiContainer` interface.
1799
+ *
1800
+ * @remarks
1801
+ * Container model representing an ordered list of visual elements.
1802
+ */
1803
+ export declare class UiContainerClass extends ViewKitNode<UiContainer> implements UiContainer {
1804
+ /** Ordered list of visual elements, structures, and content */
1805
+ readonly elements: UiElement[];
1806
+ /**
1807
+ * Schema specification version
1808
+ *
1809
+ * @defaultValue "1.0"
1810
+ */
1811
+ readonly schemaVersion: "1.0";
1812
+ /**
1813
+ * Constructs a new `UiContainerClass` instance.
1814
+ *
1815
+ * @param elements - Ordered list of visual elements, structures, and content
1816
+ * @param options - Optional component settings. (schemaVersion (defaults to `1.0`)).
1817
+ */
1818
+ constructor(elements: UiElement[], options?: {
1819
+ schemaVersion?: "1.0";
1820
+ });
1821
+ }
1822
+ /**
1823
+ * Class implementation of the `UiCard` interface.
1824
+ *
1825
+ * @remarks
1826
+ * Root Card container model.
1827
+ * Represents a complete feature card rendered inside the 360px panel.
1828
+ */
1829
+ export declare class UiCardClass extends ViewKitNode<UiCard> implements UiCard {
1830
+ /** Human-readable feature title displayed in the card header */
1831
+ readonly title: string;
1832
+ /** Ordered list of visual elements, structures, and content */
1833
+ readonly elements: UiElement[];
1834
+ /** Optional neutral subtitle / description for the feature */
1835
+ readonly description?: string;
1836
+ /** Optional card action buttons rendered at the base of the feature card */
1837
+ readonly actions?: UiAction[];
1838
+ /**
1839
+ * Schema specification version
1840
+ *
1841
+ * @defaultValue "1.0"
1842
+ */
1843
+ readonly schemaVersion: "1.0";
1844
+ /**
1845
+ * Constructs a new `UiCardClass` instance.
1846
+ *
1847
+ * @param title - Human-readable feature title displayed in the card header
1848
+ * @param elements - Ordered list of visual elements, structures, and content
1849
+ * @param options - Optional component settings. (description, actions, schemaVersion (defaults to `1.0`)).
1850
+ */
1851
+ constructor(title: string, elements: UiElement[], options?: {
1852
+ description?: string;
1853
+ actions?: UiAction[];
1854
+ schemaVersion?: "1.0";
1855
+ });
1856
+ }
1857
+ /**
1858
+ * Fluent builder for constructing strongly-typed `UiContainer` instances.
1859
+ *
1860
+ * @remarks
1861
+ * Container model representing an ordered list of visual elements.
1862
+ */
1863
+ export declare class UiContainerBuilder {
1864
+ private readonly _elements;
1865
+ /** Initializes a new `UiContainerBuilder`. */
1866
+ constructor();
1867
+ /**
1868
+ * Appends a visual element.
1869
+ *
1870
+ * @param element - The visual UI element component to add.
1871
+ * @returns This builder instance for method chaining.
1872
+ */
1873
+ add(element: UiElement): this;
1874
+ /**
1875
+ * Appends multiple elements items.
1876
+ *
1877
+ * @param items - The `UiElement` items to add.
1878
+ * @returns This builder instance for method chaining.
1879
+ */
1880
+ addElements(...items: UiElement[]): this;
1881
+ /**
1882
+ * Appends a `StringShortElement` component.
1883
+ *
1884
+ * @remarks
1885
+ * Short string primitive element.
1886
+ * Supports plain text or compact chip pill presentation.
1887
+ *
1888
+ * @param value - Text value
1889
+ * @param options - Optional component settings (representation (defaults to `plain`), modifiers).
1890
+ * @returns This builder instance for method chaining.
1891
+ */
1892
+ addStringShort(value: string, options?: {
1893
+ representation?: StringShortRepresentation;
1894
+ modifiers?: PrimitiveModifiers;
1895
+ }): this;
1896
+ /**
1897
+ * Appends a `StringLongElement` component.
1898
+ *
1899
+ * @remarks
1900
+ * Multiline text block primitive element for descriptions, comments, or prose.
1901
+ *
1902
+ * @param value - Text value
1903
+ * @param options - Optional component settings (modifiers).
1904
+ * @returns This builder instance for method chaining.
1905
+ */
1906
+ addStringLong(value: string, options?: {
1907
+ modifiers?: PrimitiveModifiers;
1908
+ }): this;
1909
+ /**
1910
+ * Appends a `StringCodeElement` component.
1911
+ *
1912
+ * @remarks
1913
+ * Monospace code block or formatted code snippet representation.
1914
+ *
1915
+ * @param value - Text value
1916
+ * @param options - Optional component settings (language, modifiers).
1917
+ * @returns This builder instance for method chaining.
1918
+ */
1919
+ addStringCode(value: string, options?: {
1920
+ language?: CodeLanguage;
1921
+ modifiers?: BaseModifiers;
1922
+ }): this;
1923
+ /**
1924
+ * Appends a `XmlElement` component.
1925
+ *
1926
+ * @remarks
1927
+ * XML markup code block element.
1928
+ *
1929
+ * @param value - XML content value
1930
+ * @param options - Optional component settings (modifiers).
1931
+ * @returns This builder instance for method chaining.
1932
+ */
1933
+ addXml(value: string, options?: {
1934
+ modifiers?: BaseModifiers;
1935
+ }): this;
1936
+ /**
1937
+ * Appends a `JsonElement` component.
1938
+ *
1939
+ * @remarks
1940
+ * JSON data or structure representation element.
1941
+ *
1942
+ * @param value - JSON content value
1943
+ * @param options - Optional component settings (modifiers).
1944
+ * @returns This builder instance for method chaining.
1945
+ */
1946
+ addJson(value: string, options?: {
1947
+ modifiers?: BaseModifiers;
1948
+ }): this;
1949
+ /**
1950
+ * Appends a `StringUrlElement` component.
1951
+ *
1952
+ * @remarks
1953
+ * Hyperlink representation for external or internal URL navigation.
1954
+ *
1955
+ * @param value - Target URL or navigation destination
1956
+ * @param options - Optional component settings (label, modifiers).
1957
+ * @returns This builder instance for method chaining.
1958
+ */
1959
+ addStringUrl(value: string, options?: {
1960
+ label?: string;
1961
+ modifiers?: PrimitiveModifiers;
1962
+ }): this;
1963
+ /**
1964
+ * Appends a `IdentifierElement` component.
1965
+ *
1966
+ * @remarks
1967
+ * Monospace semantic identifier representation.
1968
+ *
1969
+ * @param value - Identifier string value
1970
+ * @param options - Optional component settings (modifiers).
1971
+ * @returns This builder instance for method chaining.
1972
+ */
1973
+ addIdentifier(value: string, options?: {
1974
+ modifiers?: PrimitiveModifiers;
1975
+ }): this;
1976
+ /**
1977
+ * Appends a `RatioElement` component.
1978
+ *
1979
+ * @remarks
1980
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
1981
+ *
1982
+ * @param value - Aspect ratio numerical expression
1983
+ * @param options - Optional component settings (modifiers).
1984
+ * @returns This builder instance for method chaining.
1985
+ */
1986
+ addRatio(value: number, options?: {
1987
+ modifiers?: PrimitiveModifiers;
1988
+ }): this;
1989
+ /**
1990
+ * Appends a `ColourElement` component.
1991
+ *
1992
+ * @remarks
1993
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
1994
+ *
1995
+ * @param value - Hexadecimal color code
1996
+ * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
1997
+ * @returns This builder instance for method chaining.
1998
+ */
1999
+ addColour(value: string, options?: {
2000
+ label?: string;
2001
+ showText?: boolean;
2002
+ shape?: Shape;
2003
+ size?: Size;
2004
+ modifiers?: PrimitiveModifiers;
2005
+ }): this;
2006
+ /**
2007
+ * Appends a `ColourElement` component.
2008
+ *
2009
+ * @remarks
2010
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2011
+ *
2012
+ * @param value - Hexadecimal color code
2013
+ * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2014
+ * @returns This builder instance for method chaining.
2015
+ */
2016
+ addColor(value: string, options?: {
2017
+ label?: string;
2018
+ showText?: boolean;
2019
+ shape?: Shape;
2020
+ size?: Size;
2021
+ modifiers?: PrimitiveModifiers;
2022
+ }): this;
2023
+ /**
2024
+ * Appends a `NumberUnboundedElement` component.
2025
+ *
2026
+ * @remarks
2027
+ * Plain unbounded numeric value primitive element.
2028
+ *
2029
+ * @param value - Numeric value
2030
+ * @param options - Optional component settings (unit, modifiers).
2031
+ * @returns This builder instance for method chaining.
2032
+ */
2033
+ addNumberUnbounded(value: number, options?: {
2034
+ unit?: string;
2035
+ modifiers?: PrimitiveModifiers;
2036
+ }): this;
2037
+ /**
2038
+ * Appends a `NumberBoundedStarsElement` component.
2039
+ *
2040
+ * @remarks
2041
+ * Bounded numeric rating represented as visual stars.
2042
+ *
2043
+ * @param value - Numeric rating score
2044
+ * @param options - Optional component settings (maximum, modifiers).
2045
+ * @returns This builder instance for method chaining.
2046
+ */
2047
+ addNumberBoundedStars(value: number, options?: {
2048
+ maximum?: number;
2049
+ modifiers?: PrimitiveModifiers;
2050
+ }): this;
2051
+ /**
2052
+ * Appends a `NumberBoundedStarsElement` component.
2053
+ *
2054
+ * @remarks
2055
+ * Bounded numeric rating represented as visual stars.
2056
+ *
2057
+ * @param value - Numeric rating score
2058
+ * @param options - Optional component settings (maximum, modifiers).
2059
+ * @returns This builder instance for method chaining.
2060
+ */
2061
+ addNumberStars(value: number, options?: {
2062
+ maximum?: number;
2063
+ modifiers?: PrimitiveModifiers;
2064
+ }): this;
2065
+ /**
2066
+ * Appends a `NumberBoundedMeterElement` component.
2067
+ *
2068
+ * @remarks
2069
+ * Bounded numeric meter representation (read-only progress / score bar).
2070
+ *
2071
+ * @param value - Numeric value
2072
+ * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
2073
+ * @returns This builder instance for method chaining.
2074
+ */
2075
+ addNumberBoundedMeter(value: number, options?: {
2076
+ minimum?: number;
2077
+ maximum?: number;
2078
+ label?: string;
2079
+ unit?: string;
2080
+ modifiers?: PrimitiveModifiers;
2081
+ }): this;
2082
+ /**
2083
+ * Appends a `NumberBoundedMeterElement` component.
2084
+ *
2085
+ * @remarks
2086
+ * Bounded numeric meter representation (read-only progress / score bar).
2087
+ *
2088
+ * @param value - Numeric value
2089
+ * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
2090
+ * @returns This builder instance for method chaining.
2091
+ */
2092
+ addNumberMeter(value: number, options?: {
2093
+ minimum?: number;
2094
+ maximum?: number;
2095
+ label?: string;
2096
+ unit?: string;
2097
+ modifiers?: PrimitiveModifiers;
2098
+ }): this;
2099
+ /**
2100
+ * Appends a `BooleanPlainElement` component.
2101
+ *
2102
+ * @remarks
2103
+ * Plain boolean value representation (textual "true" / "false").
2104
+ *
2105
+ * @param value - Boolean state value
2106
+ * @param options - Optional component settings (modifiers).
2107
+ * @returns This builder instance for method chaining.
2108
+ */
2109
+ addBooleanPlain(value: boolean, options?: {
2110
+ modifiers?: PrimitiveModifiers;
2111
+ }): this;
2112
+ /**
2113
+ * Appends a `BooleanBadgeElement` component.
2114
+ *
2115
+ * @remarks
2116
+ * Visual badge pill representation of a boolean state.
2117
+ *
2118
+ * @param value - Boolean state value
2119
+ * @param options - Optional component settings (trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
2120
+ * @returns This builder instance for method chaining.
2121
+ */
2122
+ addBooleanBadge(value: boolean, options?: {
2123
+ trueLabel?: string;
2124
+ falseLabel?: string;
2125
+ variant?: BadgeVariant;
2126
+ modifiers?: PrimitiveModifiers;
2127
+ }): this;
2128
+ /**
2129
+ * Appends a `TimestampElement` component.
2130
+ *
2131
+ * @remarks
2132
+ * Formatted date and time representation.
2133
+ *
2134
+ * @param value - The timestamp in milliseconds
2135
+ * @param options - Optional component settings (format (defaults to `datetime`), modifiers).
2136
+ * @returns This builder instance for method chaining.
2137
+ */
2138
+ addTimestamp(value: number, options?: {
2139
+ format?: TimestampFormat;
2140
+ modifiers?: PrimitiveModifiers;
2141
+ }): this;
2142
+ /**
2143
+ * Appends a `ImageReferenceElement` component.
2144
+ *
2145
+ * @remarks
2146
+ * Thumbnail image reference with placeholder fallback handling.
2147
+ *
2148
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2149
+ * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2150
+ * @returns This builder instance for method chaining.
2151
+ */
2152
+ addImageReference(src: string, options?: {
2153
+ alt?: string;
2154
+ aspectRatio?: string;
2155
+ placeholder?: string;
2156
+ }): this;
2157
+ /**
2158
+ * Appends a `ImageReferenceElement` component.
2159
+ *
2160
+ * @remarks
2161
+ * Thumbnail image reference with placeholder fallback handling.
2162
+ *
2163
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2164
+ * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2165
+ * @returns This builder instance for method chaining.
2166
+ */
2167
+ addImageRef(src: string, options?: {
2168
+ alt?: string;
2169
+ aspectRatio?: string;
2170
+ placeholder?: string;
2171
+ }): this;
2172
+ /**
2173
+ * Appends a `MarkdownBlockElement` component.
2174
+ *
2175
+ * @remarks
2176
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2177
+ *
2178
+ * @param content - Raw Markdown markup content
2179
+ * @param options - Optional component settings (modifiers).
2180
+ * @returns This builder instance for method chaining.
2181
+ */
2182
+ addMarkdownBlock(content: string, options?: {
2183
+ modifiers?: BaseModifiers;
2184
+ }): this;
2185
+ /**
2186
+ * Appends a `MarkdownBlockElement` component.
2187
+ *
2188
+ * @remarks
2189
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2190
+ *
2191
+ * @param content - Raw Markdown markup content
2192
+ * @param options - Optional component settings (modifiers).
2193
+ * @returns This builder instance for method chaining.
2194
+ */
2195
+ addMarkdown(content: string, options?: {
2196
+ modifiers?: BaseModifiers;
2197
+ }): this;
2198
+ /**
2199
+ * Appends a `HtmlBlockElement` component.
2200
+ *
2201
+ * @remarks
2202
+ * Sandboxed HTML rendering escape hatch.
2203
+ *
2204
+ * @param content - Raw HTML markup content
2205
+ * @param options - Optional component settings (modifiers).
2206
+ * @returns This builder instance for method chaining.
2207
+ */
2208
+ addHtmlBlock(content: string, options?: {
2209
+ modifiers?: BaseModifiers;
2210
+ }): this;
2211
+ /**
2212
+ * Appends a `HtmlBlockElement` component.
2213
+ *
2214
+ * @remarks
2215
+ * Sandboxed HTML rendering escape hatch.
2216
+ *
2217
+ * @param content - Raw HTML markup content
2218
+ * @param options - Optional component settings (modifiers).
2219
+ * @returns This builder instance for method chaining.
2220
+ */
2221
+ addHtml(content: string, options?: {
2222
+ modifiers?: BaseModifiers;
2223
+ }): this;
2224
+ /**
2225
+ * Appends a `MultiSlotElement` component.
2226
+ *
2227
+ * @remarks
2228
+ * Multi-slot horizontal row with declared column width proportions.
2229
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
2230
+ *
2231
+ * @param slots - List of slots comprising the row
2232
+ * @param options - Optional component settings (proportions).
2233
+ * @returns This builder instance for method chaining.
2234
+ */
2235
+ addMultiSlot(slots: Slot[], options?: {
2236
+ proportions?: string;
2237
+ }): this;
2238
+ /**
2239
+ * Appends a `FlowingElement` component.
2240
+ *
2241
+ * @remarks
2242
+ * Flowing inline layout container with automatic line wrapping.
2243
+ * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
2244
+ *
2245
+ * @param elements - List of child elements rendered sequentially with line wrapping
2246
+ * @returns This builder instance for method chaining.
2247
+ */
2248
+ addFlowing(elements: UiElement[]): this;
2249
+ /**
2250
+ * Appends a `LabelValueElement` component.
2251
+ *
2252
+ * @remarks
2253
+ * Standard label and value row.
2254
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
2255
+ *
2256
+ * @param label - Key or descriptive label displayed muted on the left
2257
+ * @param value - Rendered value element on the right
2258
+ * @param options - Optional component settings (withDivider (defaults to `false`)).
2259
+ * @returns This builder instance for method chaining.
2260
+ */
2261
+ addLabelValue(label: string, value: UiElement, options?: {
2262
+ withDivider?: boolean;
2263
+ }): this;
2264
+ /**
2265
+ * Appends a `TableElement` component.
2266
+ *
2267
+ * @remarks
2268
+ * Structured tabular data representation.
2269
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
2270
+ *
2271
+ * @param rows - Tabular data rows
2272
+ * @param options - Optional component settings (hasHeader (defaults to `true`), isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
2273
+ * @returns This builder instance for method chaining.
2274
+ */
2275
+ addTable(rows: TableRow[], options?: {
2276
+ hasHeader?: boolean;
2277
+ isStriped?: boolean;
2278
+ withColumnSeparators?: boolean;
2279
+ withRowSeparators?: boolean;
2280
+ columns?: TableColumn[];
2281
+ }): this;
2282
+ /**
2283
+ * Appends a `RepeatingGroupElement` component.
2284
+ *
2285
+ * @remarks
2286
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
2287
+ *
2288
+ * @param entries - List of repeated entry records
2289
+ * @param options - Optional component settings (title).
2290
+ * @returns This builder instance for method chaining.
2291
+ */
2292
+ addRepeatingGroup(entries: RepeatingGroupEntry[], options?: {
2293
+ title?: string;
2294
+ }): this;
2295
+ /**
2296
+ * Appends a `CollapsibleGroupElement` component.
2297
+ *
2298
+ * @remarks
2299
+ * Collapsible disclosure container (accordion) with summary badge.
2300
+ *
2301
+ * @param title - Group title (e.g. "Show specimen details")
2302
+ * @param elements - Nested content elements revealed when expanded
2303
+ * @param options - Optional component settings (summary, defaultExpanded (defaults to `false`)).
2304
+ * @returns This builder instance for method chaining.
2305
+ */
2306
+ addCollapsibleGroup(title: string, elements: UiElement[], options?: {
2307
+ summary?: string;
2308
+ defaultExpanded?: boolean;
2309
+ }): this;
2310
+ /**
2311
+ * Appends a `DividerElement` component.
2312
+ *
2313
+ * @remarks
2314
+ * Visual hairline separator separating sections or element groups.
2315
+ *
2316
+ * @param options - Optional component settings (style (defaults to `hairline`)).
2317
+ * @returns This builder instance for method chaining.
2318
+ */
2319
+ addDivider(options?: {
2320
+ style?: DividerStyle;
2321
+ }): this;
2322
+ /**
2323
+ * Finalizes and returns the complete strongly-typed `UiContainerClass` instance.
2324
+ *
2325
+ * @returns The constructed `UiContainerClass` instance.
2326
+ */
2327
+ build(): UiContainerClass;
2328
+ /**
2329
+ * Serializes this builder into a strongly-typed, JSON-compatible plain object conforming to interface `UiContainer`.
2330
+ *
2331
+ * @returns The plain object representation conforming to interface `UiContainer`.
2332
+ */
2333
+ toJSON(): UiContainer;
2334
+ /**
2335
+ * Returns the compact JSON string representation of the built `UiContainerClass` instance with no indentation.
2336
+ *
2337
+ * @returns Compact JSON string without indentation.
2338
+ */
2339
+ toString(): string;
2340
+ }
2341
+ /** Static helper factory object for `UiContainer`. */
2342
+ export declare const UiContainer: {
2343
+ /**
2344
+ * Creates a new fluent builder for constructing a `UiContainer`.
2345
+ *
2346
+ * @returns A new `UiContainerBuilder` instance.
2347
+ */
2348
+ builder(): UiContainerBuilder;
2349
+ /**
2350
+ * Creates a `UiContainerClass` directly from a properties object.
2351
+ *
2352
+ * @param params - Configuration properties.
2353
+ * @returns A completed `UiContainerClass` instance.
2354
+ */
2355
+ create(params: {
2356
+ elements: UiElement[];
2357
+ }): UiContainerClass;
2358
+ /**
2359
+ * Parses a JSON string or raw object into a validated `UiContainerClass` instance.
2360
+ *
2361
+ * @remarks
2362
+ * Throws an `Error` if the input does not conform to the `UiContainer` schema.
2363
+ *
2364
+ * @param json - JSON string or parsed JavaScript object to validate and hydrate.
2365
+ * @param withDeepValidation - Whether to recursively validate all nested child entities.
2366
+ * @returns A strongly-typed `UiContainerClass` instance.
2367
+ */
2368
+ parse(json: string | unknown, withDeepValidation?: boolean): UiContainerClass;
2369
+ };
2370
+ /**
2371
+ * Functional helper to create a `UiContainerClass` instance directly.
2372
+ *
2373
+ * @remarks
2374
+ * Container model representing an ordered list of visual elements.
2375
+ *
2376
+ * @param options - Optional configuration properties.
2377
+ * @returns A strongly-typed `UiContainerClass` instance.
2378
+ */
2379
+ export declare function createUiContainer(options?: {
2380
+ elements?: UiElement[];
2381
+ }): UiContainerClass;
2382
+ /**
2383
+ * Parses a JSON string or raw object into a validated `UiContainerClass` instance.
2384
+ *
2385
+ * @remarks
2386
+ * Container model representing an ordered list of visual elements.
2387
+ *
2388
+ * @param json - JSON string or parsed JavaScript object to validate and hydrate.
2389
+ * @param withDeepValidation - Whether to recursively validate all nested child entities.
2390
+ * @returns A strongly-typed `UiContainerClass` instance.
2391
+ */
2392
+ export declare function parseUiContainer(json: string | unknown, withDeepValidation?: boolean): UiContainerClass;
2393
+ /**
2394
+ * Fluent builder for constructing strongly-typed `UiCard` instances.
2395
+ *
2396
+ * @remarks
2397
+ * Root Card container model.
2398
+ * Represents a complete feature card rendered inside the 360px panel.
2399
+ */
2400
+ export declare class UiCardBuilder {
2401
+ private readonly _title;
2402
+ private _description?;
2403
+ private readonly _actions;
2404
+ private readonly _elements;
2405
+ /**
2406
+ * Initializes a new `UiCardBuilder`.
2407
+ *
2408
+ * @param title - Human-readable feature title displayed in the card header
2409
+ */
2410
+ constructor(title: string);
2411
+ /**
2412
+ * Sets the `description` property on this builder.
2413
+ *
2414
+ * @param description - Optional neutral subtitle / description for the feature
2415
+ * @returns This builder instance for method chaining.
2416
+ */
2417
+ description(description: string): this;
2418
+ /**
2419
+ * Appends multiple actions items.
2420
+ *
2421
+ * @param items - The `UiAction` items to add.
2422
+ * @returns This builder instance for method chaining.
2423
+ */
2424
+ addActions(...items: UiAction[]): this;
2425
+ /**
2426
+ * Appends a single action.
2427
+ *
2428
+ * @param item - The `UiAction` item to add.
2429
+ * @returns This builder instance for method chaining.
2430
+ */
2431
+ addAction(item: UiAction): this;
2432
+ /**
2433
+ * Appends a visual element.
2434
+ *
2435
+ * @param element - The visual UI element component to add.
2436
+ * @returns This builder instance for method chaining.
2437
+ */
2438
+ add(element: UiElement): this;
2439
+ /**
2440
+ * Appends multiple elements items.
2441
+ *
2442
+ * @param items - The `UiElement` items to add.
2443
+ * @returns This builder instance for method chaining.
2444
+ */
2445
+ addElements(...items: UiElement[]): this;
2446
+ /**
2447
+ * Appends a `StringShortElement` component.
2448
+ *
2449
+ * @remarks
2450
+ * Short string primitive element.
2451
+ * Supports plain text or compact chip pill presentation.
2452
+ *
2453
+ * @param value - Text value
2454
+ * @param options - Optional component settings (representation (defaults to `plain`), modifiers).
2455
+ * @returns This builder instance for method chaining.
2456
+ */
2457
+ addStringShort(value: string, options?: {
2458
+ representation?: StringShortRepresentation;
2459
+ modifiers?: PrimitiveModifiers;
2460
+ }): this;
2461
+ /**
2462
+ * Appends a `StringLongElement` component.
2463
+ *
2464
+ * @remarks
2465
+ * Multiline text block primitive element for descriptions, comments, or prose.
2466
+ *
2467
+ * @param value - Text value
2468
+ * @param options - Optional component settings (modifiers).
2469
+ * @returns This builder instance for method chaining.
2470
+ */
2471
+ addStringLong(value: string, options?: {
2472
+ modifiers?: PrimitiveModifiers;
2473
+ }): this;
2474
+ /**
2475
+ * Appends a `StringCodeElement` component.
2476
+ *
2477
+ * @remarks
2478
+ * Monospace code block or formatted code snippet representation.
2479
+ *
2480
+ * @param value - Text value
2481
+ * @param options - Optional component settings (language, modifiers).
2482
+ * @returns This builder instance for method chaining.
2483
+ */
2484
+ addStringCode(value: string, options?: {
2485
+ language?: CodeLanguage;
2486
+ modifiers?: BaseModifiers;
2487
+ }): this;
2488
+ /**
2489
+ * Appends a `XmlElement` component.
2490
+ *
2491
+ * @remarks
2492
+ * XML markup code block element.
2493
+ *
2494
+ * @param value - XML content value
2495
+ * @param options - Optional component settings (modifiers).
2496
+ * @returns This builder instance for method chaining.
2497
+ */
2498
+ addXml(value: string, options?: {
2499
+ modifiers?: BaseModifiers;
2500
+ }): this;
2501
+ /**
2502
+ * Appends a `JsonElement` component.
2503
+ *
2504
+ * @remarks
2505
+ * JSON data or structure representation element.
2506
+ *
2507
+ * @param value - JSON content value
2508
+ * @param options - Optional component settings (modifiers).
2509
+ * @returns This builder instance for method chaining.
2510
+ */
2511
+ addJson(value: string, options?: {
2512
+ modifiers?: BaseModifiers;
2513
+ }): this;
2514
+ /**
2515
+ * Appends a `StringUrlElement` component.
2516
+ *
2517
+ * @remarks
2518
+ * Hyperlink representation for external or internal URL navigation.
2519
+ *
2520
+ * @param value - Target URL or navigation destination
2521
+ * @param options - Optional component settings (label, modifiers).
2522
+ * @returns This builder instance for method chaining.
2523
+ */
2524
+ addStringUrl(value: string, options?: {
2525
+ label?: string;
2526
+ modifiers?: PrimitiveModifiers;
2527
+ }): this;
2528
+ /**
2529
+ * Appends a `IdentifierElement` component.
2530
+ *
2531
+ * @remarks
2532
+ * Monospace semantic identifier representation.
2533
+ *
2534
+ * @param value - Identifier string value
2535
+ * @param options - Optional component settings (modifiers).
2536
+ * @returns This builder instance for method chaining.
2537
+ */
2538
+ addIdentifier(value: string, options?: {
2539
+ modifiers?: PrimitiveModifiers;
2540
+ }): this;
2541
+ /**
2542
+ * Appends a `RatioElement` component.
2543
+ *
2544
+ * @remarks
2545
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
2546
+ *
2547
+ * @param value - Aspect ratio numerical expression
2548
+ * @param options - Optional component settings (modifiers).
2549
+ * @returns This builder instance for method chaining.
2550
+ */
2551
+ addRatio(value: number, options?: {
2552
+ modifiers?: PrimitiveModifiers;
2553
+ }): this;
2554
+ /**
2555
+ * Appends a `ColourElement` component.
2556
+ *
2557
+ * @remarks
2558
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2559
+ *
2560
+ * @param value - Hexadecimal color code
2561
+ * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2562
+ * @returns This builder instance for method chaining.
2563
+ */
2564
+ addColour(value: string, options?: {
2565
+ label?: string;
2566
+ showText?: boolean;
2567
+ shape?: Shape;
2568
+ size?: Size;
2569
+ modifiers?: PrimitiveModifiers;
2570
+ }): this;
2571
+ /**
2572
+ * Appends a `ColourElement` component.
2573
+ *
2574
+ * @remarks
2575
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
2576
+ *
2577
+ * @param value - Hexadecimal color code
2578
+ * @param options - Optional component settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
2579
+ * @returns This builder instance for method chaining.
2580
+ */
2581
+ addColor(value: string, options?: {
2582
+ label?: string;
2583
+ showText?: boolean;
2584
+ shape?: Shape;
2585
+ size?: Size;
2586
+ modifiers?: PrimitiveModifiers;
2587
+ }): this;
2588
+ /**
2589
+ * Appends a `NumberUnboundedElement` component.
2590
+ *
2591
+ * @remarks
2592
+ * Plain unbounded numeric value primitive element.
2593
+ *
2594
+ * @param value - Numeric value
2595
+ * @param options - Optional component settings (unit, modifiers).
2596
+ * @returns This builder instance for method chaining.
2597
+ */
2598
+ addNumberUnbounded(value: number, options?: {
2599
+ unit?: string;
2600
+ modifiers?: PrimitiveModifiers;
2601
+ }): this;
2602
+ /**
2603
+ * Appends a `NumberBoundedStarsElement` component.
2604
+ *
2605
+ * @remarks
2606
+ * Bounded numeric rating represented as visual stars.
2607
+ *
2608
+ * @param value - Numeric rating score
2609
+ * @param options - Optional component settings (maximum, modifiers).
2610
+ * @returns This builder instance for method chaining.
2611
+ */
2612
+ addNumberBoundedStars(value: number, options?: {
2613
+ maximum?: number;
2614
+ modifiers?: PrimitiveModifiers;
2615
+ }): this;
2616
+ /**
2617
+ * Appends a `NumberBoundedStarsElement` component.
2618
+ *
2619
+ * @remarks
2620
+ * Bounded numeric rating represented as visual stars.
2621
+ *
2622
+ * @param value - Numeric rating score
2623
+ * @param options - Optional component settings (maximum, modifiers).
2624
+ * @returns This builder instance for method chaining.
2625
+ */
2626
+ addNumberStars(value: number, options?: {
2627
+ maximum?: number;
2628
+ modifiers?: PrimitiveModifiers;
2629
+ }): this;
2630
+ /**
2631
+ * Appends a `NumberBoundedMeterElement` component.
2632
+ *
2633
+ * @remarks
2634
+ * Bounded numeric meter representation (read-only progress / score bar).
2635
+ *
2636
+ * @param value - Numeric value
2637
+ * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
2638
+ * @returns This builder instance for method chaining.
2639
+ */
2640
+ addNumberBoundedMeter(value: number, options?: {
2641
+ minimum?: number;
2642
+ maximum?: number;
2643
+ label?: string;
2644
+ unit?: string;
2645
+ modifiers?: PrimitiveModifiers;
2646
+ }): this;
2647
+ /**
2648
+ * Appends a `NumberBoundedMeterElement` component.
2649
+ *
2650
+ * @remarks
2651
+ * Bounded numeric meter representation (read-only progress / score bar).
2652
+ *
2653
+ * @param value - Numeric value
2654
+ * @param options - Optional component settings (minimum, maximum, label, unit, modifiers).
2655
+ * @returns This builder instance for method chaining.
2656
+ */
2657
+ addNumberMeter(value: number, options?: {
2658
+ minimum?: number;
2659
+ maximum?: number;
2660
+ label?: string;
2661
+ unit?: string;
2662
+ modifiers?: PrimitiveModifiers;
2663
+ }): this;
2664
+ /**
2665
+ * Appends a `BooleanPlainElement` component.
2666
+ *
2667
+ * @remarks
2668
+ * Plain boolean value representation (textual "true" / "false").
2669
+ *
2670
+ * @param value - Boolean state value
2671
+ * @param options - Optional component settings (modifiers).
2672
+ * @returns This builder instance for method chaining.
2673
+ */
2674
+ addBooleanPlain(value: boolean, options?: {
2675
+ modifiers?: PrimitiveModifiers;
2676
+ }): this;
2677
+ /**
2678
+ * Appends a `BooleanBadgeElement` component.
2679
+ *
2680
+ * @remarks
2681
+ * Visual badge pill representation of a boolean state.
2682
+ *
2683
+ * @param value - Boolean state value
2684
+ * @param options - Optional component settings (trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
2685
+ * @returns This builder instance for method chaining.
2686
+ */
2687
+ addBooleanBadge(value: boolean, options?: {
2688
+ trueLabel?: string;
2689
+ falseLabel?: string;
2690
+ variant?: BadgeVariant;
2691
+ modifiers?: PrimitiveModifiers;
2692
+ }): this;
2693
+ /**
2694
+ * Appends a `TimestampElement` component.
2695
+ *
2696
+ * @remarks
2697
+ * Formatted date and time representation.
2698
+ *
2699
+ * @param value - The timestamp in milliseconds
2700
+ * @param options - Optional component settings (format (defaults to `datetime`), modifiers).
2701
+ * @returns This builder instance for method chaining.
2702
+ */
2703
+ addTimestamp(value: number, options?: {
2704
+ format?: TimestampFormat;
2705
+ modifiers?: PrimitiveModifiers;
2706
+ }): this;
2707
+ /**
2708
+ * Appends a `ImageReferenceElement` component.
2709
+ *
2710
+ * @remarks
2711
+ * Thumbnail image reference with placeholder fallback handling.
2712
+ *
2713
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2714
+ * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2715
+ * @returns This builder instance for method chaining.
2716
+ */
2717
+ addImageReference(src: string, options?: {
2718
+ alt?: string;
2719
+ aspectRatio?: string;
2720
+ placeholder?: string;
2721
+ }): this;
2722
+ /**
2723
+ * Appends a `ImageReferenceElement` component.
2724
+ *
2725
+ * @remarks
2726
+ * Thumbnail image reference with placeholder fallback handling.
2727
+ *
2728
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2729
+ * @param options - Optional component settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2730
+ * @returns This builder instance for method chaining.
2731
+ */
2732
+ addImageRef(src: string, options?: {
2733
+ alt?: string;
2734
+ aspectRatio?: string;
2735
+ placeholder?: string;
2736
+ }): this;
2737
+ /**
2738
+ * Appends a `MarkdownBlockElement` component.
2739
+ *
2740
+ * @remarks
2741
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2742
+ *
2743
+ * @param content - Raw Markdown markup content
2744
+ * @param options - Optional component settings (modifiers).
2745
+ * @returns This builder instance for method chaining.
2746
+ */
2747
+ addMarkdownBlock(content: string, options?: {
2748
+ modifiers?: BaseModifiers;
2749
+ }): this;
2750
+ /**
2751
+ * Appends a `MarkdownBlockElement` component.
2752
+ *
2753
+ * @remarks
2754
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2755
+ *
2756
+ * @param content - Raw Markdown markup content
2757
+ * @param options - Optional component settings (modifiers).
2758
+ * @returns This builder instance for method chaining.
2759
+ */
2760
+ addMarkdown(content: string, options?: {
2761
+ modifiers?: BaseModifiers;
2762
+ }): this;
2763
+ /**
2764
+ * Appends a `HtmlBlockElement` component.
2765
+ *
2766
+ * @remarks
2767
+ * Sandboxed HTML rendering escape hatch.
2768
+ *
2769
+ * @param content - Raw HTML markup content
2770
+ * @param options - Optional component settings (modifiers).
2771
+ * @returns This builder instance for method chaining.
2772
+ */
2773
+ addHtmlBlock(content: string, options?: {
2774
+ modifiers?: BaseModifiers;
2775
+ }): this;
2776
+ /**
2777
+ * Appends a `HtmlBlockElement` component.
2778
+ *
2779
+ * @remarks
2780
+ * Sandboxed HTML rendering escape hatch.
2781
+ *
2782
+ * @param content - Raw HTML markup content
2783
+ * @param options - Optional component settings (modifiers).
2784
+ * @returns This builder instance for method chaining.
2785
+ */
2786
+ addHtml(content: string, options?: {
2787
+ modifiers?: BaseModifiers;
2788
+ }): this;
2789
+ /**
2790
+ * Appends a `MultiSlotElement` component.
2791
+ *
2792
+ * @remarks
2793
+ * Multi-slot horizontal row with declared column width proportions.
2794
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
2795
+ *
2796
+ * @param slots - List of slots comprising the row
2797
+ * @param options - Optional component settings (proportions).
2798
+ * @returns This builder instance for method chaining.
2799
+ */
2800
+ addMultiSlot(slots: Slot[], options?: {
2801
+ proportions?: string;
2802
+ }): this;
2803
+ /**
2804
+ * Appends a `FlowingElement` component.
2805
+ *
2806
+ * @remarks
2807
+ * Flowing inline layout container with automatic line wrapping.
2808
+ * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
2809
+ *
2810
+ * @param elements - List of child elements rendered sequentially with line wrapping
2811
+ * @returns This builder instance for method chaining.
2812
+ */
2813
+ addFlowing(elements: UiElement[]): this;
2814
+ /**
2815
+ * Appends a `LabelValueElement` component.
2816
+ *
2817
+ * @remarks
2818
+ * Standard label and value row.
2819
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
2820
+ *
2821
+ * @param label - Key or descriptive label displayed muted on the left
2822
+ * @param value - Rendered value element on the right
2823
+ * @param options - Optional component settings (withDivider (defaults to `false`)).
2824
+ * @returns This builder instance for method chaining.
2825
+ */
2826
+ addLabelValue(label: string, value: UiElement, options?: {
2827
+ withDivider?: boolean;
2828
+ }): this;
2829
+ /**
2830
+ * Appends a `TableElement` component.
2831
+ *
2832
+ * @remarks
2833
+ * Structured tabular data representation.
2834
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
2835
+ *
2836
+ * @param rows - Tabular data rows
2837
+ * @param options - Optional component settings (hasHeader (defaults to `true`), isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
2838
+ * @returns This builder instance for method chaining.
2839
+ */
2840
+ addTable(rows: TableRow[], options?: {
2841
+ hasHeader?: boolean;
2842
+ isStriped?: boolean;
2843
+ withColumnSeparators?: boolean;
2844
+ withRowSeparators?: boolean;
2845
+ columns?: TableColumn[];
2846
+ }): this;
2847
+ /**
2848
+ * Appends a `RepeatingGroupElement` component.
2849
+ *
2850
+ * @remarks
2851
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
2852
+ *
2853
+ * @param entries - List of repeated entry records
2854
+ * @param options - Optional component settings (title).
2855
+ * @returns This builder instance for method chaining.
2856
+ */
2857
+ addRepeatingGroup(entries: RepeatingGroupEntry[], options?: {
2858
+ title?: string;
2859
+ }): this;
2860
+ /**
2861
+ * Appends a `CollapsibleGroupElement` component.
2862
+ *
2863
+ * @remarks
2864
+ * Collapsible disclosure container (accordion) with summary badge.
2865
+ *
2866
+ * @param title - Group title (e.g. "Show specimen details")
2867
+ * @param elements - Nested content elements revealed when expanded
2868
+ * @param options - Optional component settings (summary, defaultExpanded (defaults to `false`)).
2869
+ * @returns This builder instance for method chaining.
2870
+ */
2871
+ addCollapsibleGroup(title: string, elements: UiElement[], options?: {
2872
+ summary?: string;
2873
+ defaultExpanded?: boolean;
2874
+ }): this;
2875
+ /**
2876
+ * Appends a `DividerElement` component.
2877
+ *
2878
+ * @remarks
2879
+ * Visual hairline separator separating sections or element groups.
2880
+ *
2881
+ * @param options - Optional component settings (style (defaults to `hairline`)).
2882
+ * @returns This builder instance for method chaining.
2883
+ */
2884
+ addDivider(options?: {
2885
+ style?: DividerStyle;
2886
+ }): this;
2887
+ /**
2888
+ * Finalizes and returns the complete strongly-typed `UiCardClass` instance.
2889
+ *
2890
+ * @returns The constructed `UiCardClass` instance.
2891
+ */
2892
+ build(): UiCardClass;
2893
+ /**
2894
+ * Serializes this builder into a strongly-typed, JSON-compatible plain object conforming to interface `UiCard`.
2895
+ *
2896
+ * @returns The plain object representation conforming to interface `UiCard`.
2897
+ */
2898
+ toJSON(): UiCard;
2899
+ /**
2900
+ * Returns the compact JSON string representation of the built `UiCardClass` instance with no indentation.
2901
+ *
2902
+ * @returns Compact JSON string without indentation.
2903
+ */
2904
+ toString(): string;
2905
+ }
2906
+ /** Static helper factory object for `UiCard`. */
2907
+ export declare const UiCard: {
2908
+ /**
2909
+ * Creates a new fluent builder for constructing a `UiCard`.
2910
+ *
2911
+ * @param title - Human-readable feature title displayed in the card header
2912
+ * @returns A new `UiCardBuilder` instance.
2913
+ */
2914
+ builder(title: string): UiCardBuilder;
2915
+ /**
2916
+ * Creates a `UiCardClass` directly from a properties object.
2917
+ *
2918
+ * @param params - Configuration properties.
2919
+ * @returns A completed `UiCardClass` instance.
2920
+ */
2921
+ create(params: {
2922
+ title: string;
2923
+ description?: string;
2924
+ actions?: UiAction[];
2925
+ elements: UiElement[];
2926
+ }): UiCardClass;
2927
+ /**
2928
+ * Parses a JSON string or raw object into a validated `UiCardClass` instance.
2929
+ *
2930
+ * @remarks
2931
+ * Throws an `Error` if the input does not conform to the `UiCard` schema.
2932
+ *
2933
+ * @param json - JSON string or parsed JavaScript object to validate and hydrate.
2934
+ * @param withDeepValidation - Whether to recursively validate all nested child entities.
2935
+ * @returns A strongly-typed `UiCardClass` instance.
2936
+ */
2937
+ parse(json: string | unknown, withDeepValidation?: boolean): UiCardClass;
2938
+ };
2939
+ /**
2940
+ * Functional helper to create a `UiCardClass` instance directly.
2941
+ *
2942
+ * @remarks
2943
+ * Root Card container model.
2944
+ * Represents a complete feature card rendered inside the 360px panel.
2945
+ *
2946
+ * @param title - Human-readable feature title displayed in the card header
2947
+ * @param options - Optional configuration properties.
2948
+ * @returns A strongly-typed `UiCardClass` instance.
2949
+ */
2950
+ export declare function createUiCard(title: string, options?: {
2951
+ description?: string;
2952
+ actions?: UiAction[];
2953
+ elements?: UiElement[];
2954
+ }): UiCardClass;
2955
+ /**
2956
+ * Parses a JSON string or raw object into a validated `UiCardClass` instance.
2957
+ *
2958
+ * @remarks
2959
+ * Root Card container model.
2960
+ * Represents a complete feature card rendered inside the 360px panel.
2961
+ *
2962
+ * @param json - JSON string or parsed JavaScript object to validate and hydrate.
2963
+ * @param withDeepValidation - Whether to recursively validate all nested child entities.
2964
+ * @returns A strongly-typed `UiCardClass` instance.
2965
+ */
2966
+ export declare function parseUiCard(json: string | unknown, withDeepValidation?: boolean): UiCardClass;
2967
+ /**
2968
+ * Creates a `TruncateOptions` component instance.
2969
+ *
2970
+ * @remarks
2971
+ * Truncation configuration for long textual content with optional expand affordance.
2972
+ *
2973
+ * @param characterLimit - Maximum number of characters to display before truncating
2974
+ * @param options - Optional settings (showMore (defaults to `true`)).
2975
+ * @returns A strongly-typed `TruncateOptions` object.
2976
+ */
2977
+ export declare function truncateOptions(characterLimit: number, options?: {
2978
+ showMore?: boolean;
2979
+ }): TruncateOptions;
2980
+ /**
2981
+ * Creates a `BaseModifiers` component instance.
2982
+ *
2983
+ * @remarks
2984
+ * Base modifier traits for elements that support copy affordance.
2985
+ *
2986
+ * @param options - Optional settings (copyable).
2987
+ * @returns A strongly-typed `BaseModifiers` object.
2988
+ */
2989
+ export declare function baseModifiers(options?: {
2990
+ copyable?: boolean;
2991
+ }): BaseModifiers;
2992
+ /**
2993
+ * Creates a `PrimitiveModifiers` component instance.
2994
+ *
2995
+ * @remarks
2996
+ * Common modifier traits that can be attached to primitive elements.
2997
+ *
2998
+ * @param options - Optional settings (truncate, weight (defaults to `normal`), intensity (defaults to `medium`), monospace (defaults to `false`), copyable).
2999
+ * @returns A strongly-typed `PrimitiveModifiers` object.
3000
+ */
3001
+ export declare function primitiveModifiers(options?: {
3002
+ truncate?: TruncateOptions;
3003
+ weight?: TextWeight;
3004
+ intensity?: TextIntensity;
3005
+ monospace?: boolean;
3006
+ copyable?: boolean;
3007
+ }): PrimitiveModifiers;
3008
+ /**
3009
+ * Creates a `StringShortElement` component instance.
3010
+ *
3011
+ * @remarks
3012
+ * Short string primitive element.
3013
+ * Supports plain text or compact chip pill presentation.
3014
+ *
3015
+ * @param value - Text value
3016
+ * @param options - Optional settings (representation (defaults to `plain`), modifiers).
3017
+ * @returns A strongly-typed `StringShortElement` object.
3018
+ */
3019
+ export declare function stringShort(value: string, options?: {
3020
+ representation?: StringShortRepresentation;
3021
+ modifiers?: PrimitiveModifiers;
3022
+ }): StringShortElement;
3023
+ /**
3024
+ * Creates a `StringLongElement` component instance.
3025
+ *
3026
+ * @remarks
3027
+ * Multiline text block primitive element for descriptions, comments, or prose.
3028
+ *
3029
+ * @param value - Text value
3030
+ * @param options - Optional settings (modifiers).
3031
+ * @returns A strongly-typed `StringLongElement` object.
3032
+ */
3033
+ export declare function stringLong(value: string, options?: {
3034
+ modifiers?: PrimitiveModifiers;
3035
+ }): StringLongElement;
3036
+ /**
3037
+ * Creates a `StringCodeElement` component instance.
3038
+ *
3039
+ * @remarks
3040
+ * Monospace code block or formatted code snippet representation.
3041
+ *
3042
+ * @param value - Text value
3043
+ * @param options - Optional settings (language, modifiers).
3044
+ * @returns A strongly-typed `StringCodeElement` object.
3045
+ */
3046
+ export declare function stringCode(value: string, options?: {
3047
+ language?: CodeLanguage;
3048
+ modifiers?: BaseModifiers;
3049
+ }): StringCodeElement;
3050
+ /**
3051
+ * Creates a `XmlElement` component instance.
3052
+ *
3053
+ * @remarks
3054
+ * XML markup code block element.
3055
+ *
3056
+ * @param value - XML content value
3057
+ * @param options - Optional settings (modifiers).
3058
+ * @returns A strongly-typed `XmlElement` object.
3059
+ */
3060
+ export declare function xml(value: string, options?: {
3061
+ modifiers?: BaseModifiers;
3062
+ }): XmlElement;
3063
+ /**
3064
+ * Creates a `JsonElement` component instance.
3065
+ *
3066
+ * @remarks
3067
+ * JSON data or structure representation element.
3068
+ *
3069
+ * @param value - JSON content value
3070
+ * @param options - Optional settings (modifiers).
3071
+ * @returns A strongly-typed `JsonElement` object.
3072
+ */
3073
+ export declare function json(value: string, options?: {
3074
+ modifiers?: BaseModifiers;
3075
+ }): JsonElement;
3076
+ /**
3077
+ * Creates a `StringUrlElement` component instance.
3078
+ *
3079
+ * @remarks
3080
+ * Hyperlink representation for external or internal URL navigation.
3081
+ *
3082
+ * @param value - Target URL or navigation destination
3083
+ * @param options - Optional settings (label, modifiers).
3084
+ * @returns A strongly-typed `StringUrlElement` object.
3085
+ */
3086
+ export declare function stringUrl(value: string, options?: {
3087
+ label?: string;
3088
+ modifiers?: PrimitiveModifiers;
3089
+ }): StringUrlElement;
3090
+ /**
3091
+ * Creates a `IdentifierElement` component instance.
3092
+ *
3093
+ * @remarks
3094
+ * Monospace semantic identifier representation.
3095
+ *
3096
+ * @param value - Identifier string value
3097
+ * @param options - Optional settings (modifiers).
3098
+ * @returns A strongly-typed `IdentifierElement` object.
3099
+ */
3100
+ export declare function identifier(value: string, options?: {
3101
+ modifiers?: PrimitiveModifiers;
3102
+ }): IdentifierElement;
3103
+ /**
3104
+ * Creates a `RatioElement` component instance.
3105
+ *
3106
+ * @remarks
3107
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
3108
+ *
3109
+ * @param value - Aspect ratio numerical expression
3110
+ * @param options - Optional settings (modifiers).
3111
+ * @returns A strongly-typed `RatioElement` object.
3112
+ */
3113
+ export declare function ratio(value: number, options?: {
3114
+ modifiers?: PrimitiveModifiers;
3115
+ }): RatioElement;
3116
+ /**
3117
+ * Creates a `ColourElement` component instance.
3118
+ *
3119
+ * @remarks
3120
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
3121
+ *
3122
+ * @param value - Hexadecimal color code
3123
+ * @param options - Optional settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
3124
+ * @returns A strongly-typed `ColourElement` object.
3125
+ */
3126
+ export declare function colour(value: string, options?: {
3127
+ label?: string;
3128
+ showText?: boolean;
3129
+ shape?: Shape;
3130
+ size?: Size;
3131
+ modifiers?: PrimitiveModifiers;
3132
+ }): ColourElement;
3133
+ /**
3134
+ * Creates a `ColourElement` component instance.
3135
+ *
3136
+ * @remarks
3137
+ * Single color representation with hex value, shape/size styling, text display toggle, and copy affordance.
3138
+ *
3139
+ * @param value - Hexadecimal color code
3140
+ * @param options - Optional settings (label, showText (defaults to `true`), shape (defaults to `circle`), size (defaults to `medium`), modifiers).
3141
+ * @returns A strongly-typed `ColourElement` object.
3142
+ */
3143
+ export declare function color(value: string, options?: {
3144
+ label?: string;
3145
+ showText?: boolean;
3146
+ shape?: Shape;
3147
+ size?: Size;
3148
+ modifiers?: PrimitiveModifiers;
3149
+ }): ColourElement;
3150
+ /**
3151
+ * Creates a `NumberUnboundedElement` component instance.
3152
+ *
3153
+ * @remarks
3154
+ * Plain unbounded numeric value primitive element.
3155
+ *
3156
+ * @param value - Numeric value
3157
+ * @param options - Optional settings (unit, modifiers).
3158
+ * @returns A strongly-typed `NumberUnboundedElement` object.
3159
+ */
3160
+ export declare function numberUnbounded(value: number, options?: {
3161
+ unit?: string;
3162
+ modifiers?: PrimitiveModifiers;
3163
+ }): NumberUnboundedElement;
3164
+ /**
3165
+ * Creates a `NumberBoundedStarsElement` component instance.
3166
+ *
3167
+ * @remarks
3168
+ * Bounded numeric rating represented as visual stars.
3169
+ *
3170
+ * @param value - Numeric rating score
3171
+ * @param options - Optional settings (maximum, modifiers).
3172
+ * @returns A strongly-typed `NumberBoundedStarsElement` object.
3173
+ */
3174
+ export declare function numberBoundedStars(value: number, options?: {
3175
+ maximum?: number;
3176
+ modifiers?: PrimitiveModifiers;
3177
+ }): NumberBoundedStarsElement;
3178
+ /**
3179
+ * Creates a `NumberBoundedStarsElement` component instance.
3180
+ *
3181
+ * @remarks
3182
+ * Bounded numeric rating represented as visual stars.
3183
+ *
3184
+ * @param value - Numeric rating score
3185
+ * @param options - Optional settings (maximum, modifiers).
3186
+ * @returns A strongly-typed `NumberBoundedStarsElement` object.
3187
+ */
3188
+ export declare function numberStars(value: number, options?: {
3189
+ maximum?: number;
3190
+ modifiers?: PrimitiveModifiers;
3191
+ }): NumberBoundedStarsElement;
3192
+ /**
3193
+ * Creates a `NumberBoundedMeterElement` component instance.
3194
+ *
3195
+ * @remarks
3196
+ * Bounded numeric meter representation (read-only progress / score bar).
3197
+ *
3198
+ * @param value - Numeric value
3199
+ * @param options - Optional settings (minimum, maximum, label, unit, modifiers).
3200
+ * @returns A strongly-typed `NumberBoundedMeterElement` object.
3201
+ */
3202
+ export declare function numberBoundedMeter(value: number, options?: {
3203
+ minimum?: number;
3204
+ maximum?: number;
3205
+ label?: string;
3206
+ unit?: string;
3207
+ modifiers?: PrimitiveModifiers;
3208
+ }): NumberBoundedMeterElement;
3209
+ /**
3210
+ * Creates a `NumberBoundedMeterElement` component instance.
3211
+ *
3212
+ * @remarks
3213
+ * Bounded numeric meter representation (read-only progress / score bar).
3214
+ *
3215
+ * @param value - Numeric value
3216
+ * @param options - Optional settings (minimum, maximum, label, unit, modifiers).
3217
+ * @returns A strongly-typed `NumberBoundedMeterElement` object.
3218
+ */
3219
+ export declare function numberMeter(value: number, options?: {
3220
+ minimum?: number;
3221
+ maximum?: number;
3222
+ label?: string;
3223
+ unit?: string;
3224
+ modifiers?: PrimitiveModifiers;
3225
+ }): NumberBoundedMeterElement;
3226
+ /**
3227
+ * Creates a `BooleanPlainElement` component instance.
3228
+ *
3229
+ * @remarks
3230
+ * Plain boolean value representation (textual "true" / "false").
3231
+ *
3232
+ * @param value - Boolean state value
3233
+ * @param options - Optional settings (modifiers).
3234
+ * @returns A strongly-typed `BooleanPlainElement` object.
3235
+ */
3236
+ export declare function booleanPlain(value: boolean, options?: {
3237
+ modifiers?: PrimitiveModifiers;
3238
+ }): BooleanPlainElement;
3239
+ /**
3240
+ * Creates a `BooleanBadgeElement` component instance.
3241
+ *
3242
+ * @remarks
3243
+ * Visual badge pill representation of a boolean state.
3244
+ *
3245
+ * @param value - Boolean state value
3246
+ * @param options - Optional settings (trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
3247
+ * @returns A strongly-typed `BooleanBadgeElement` object.
3248
+ */
3249
+ export declare function booleanBadge(value: boolean, options?: {
3250
+ trueLabel?: string;
3251
+ falseLabel?: string;
3252
+ variant?: BadgeVariant;
3253
+ modifiers?: PrimitiveModifiers;
3254
+ }): BooleanBadgeElement;
3255
+ /**
3256
+ * Creates a `TimestampElement` component instance.
3257
+ *
3258
+ * @remarks
3259
+ * Formatted date and time representation.
3260
+ *
3261
+ * @param value - The timestamp in milliseconds
3262
+ * @param options - Optional settings (format (defaults to `datetime`), modifiers).
3263
+ * @returns A strongly-typed `TimestampElement` object.
3264
+ */
3265
+ export declare function timestamp(value: number, options?: {
3266
+ format?: TimestampFormat;
3267
+ modifiers?: PrimitiveModifiers;
3268
+ }): TimestampElement;
3269
+ /**
3270
+ * Creates a `ImageReferenceElement` component instance.
3271
+ *
3272
+ * @remarks
3273
+ * Thumbnail image reference with placeholder fallback handling.
3274
+ *
3275
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
3276
+ * @param options - Optional settings (alt, aspectRatio (defaults to `1:1`), placeholder).
3277
+ * @returns A strongly-typed `ImageReferenceElement` object.
3278
+ */
3279
+ export declare function imageReference(src: string, options?: {
3280
+ alt?: string;
3281
+ aspectRatio?: string;
3282
+ placeholder?: string;
3283
+ }): ImageReferenceElement;
3284
+ /**
3285
+ * Creates a `ImageReferenceElement` component instance.
3286
+ *
3287
+ * @remarks
3288
+ * Thumbnail image reference with placeholder fallback handling.
3289
+ *
3290
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
3291
+ * @param options - Optional settings (alt, aspectRatio (defaults to `1:1`), placeholder).
3292
+ * @returns A strongly-typed `ImageReferenceElement` object.
3293
+ */
3294
+ export declare function imageRef(src: string, options?: {
3295
+ alt?: string;
3296
+ aspectRatio?: string;
3297
+ placeholder?: string;
3298
+ }): ImageReferenceElement;
3299
+ /**
3300
+ * Creates a `ButtonActionElement` component instance.
3301
+ *
3302
+ * @remarks
3303
+ * Interactive button action triggering an extension command.
3304
+ *
3305
+ * @param commandId - Command identifier to invoke
3306
+ * @param label - Display label for the action
3307
+ * @param options - Optional settings (extensionId, target, parameters, disabled (defaults to `false`), variant (defaults to `secondary`)).
3308
+ * @returns A strongly-typed `ButtonActionElement` object.
3309
+ */
3310
+ export declare function buttonAction(commandId: string, label: string, options?: {
3311
+ extensionId?: string;
3312
+ target?: string;
3313
+ parameters?: Record<string, unknown>;
3314
+ disabled?: boolean;
3315
+ variant?: ButtonVariant;
3316
+ }): ButtonActionElement;
3317
+ /**
3318
+ * Creates a `ExternalLinkActionElement` component instance.
3319
+ *
3320
+ * @remarks
3321
+ * External link action distinct from inline URL text values.
3322
+ *
3323
+ * @param url - Target URL destination
3324
+ * @param label - Display label for the action
3325
+ * @returns A strongly-typed `ExternalLinkActionElement` object.
3326
+ */
3327
+ export declare function externalLinkAction(url: string, label: string): ExternalLinkActionElement;
3328
+ /**
3329
+ * Creates a `MarkdownBlockElement` component instance.
3330
+ *
3331
+ * @remarks
3332
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
3333
+ *
3334
+ * @param content - Raw Markdown markup content
3335
+ * @param options - Optional settings (modifiers).
3336
+ * @returns A strongly-typed `MarkdownBlockElement` object.
3337
+ */
3338
+ export declare function markdownBlock(content: string, options?: {
3339
+ modifiers?: BaseModifiers;
3340
+ }): MarkdownBlockElement;
3341
+ /**
3342
+ * Creates a `MarkdownBlockElement` component instance.
3343
+ *
3344
+ * @remarks
3345
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
3346
+ *
3347
+ * @param content - Raw Markdown markup content
3348
+ * @param options - Optional settings (modifiers).
3349
+ * @returns A strongly-typed `MarkdownBlockElement` object.
3350
+ */
3351
+ export declare function markdown(content: string, options?: {
3352
+ modifiers?: BaseModifiers;
3353
+ }): MarkdownBlockElement;
3354
+ /**
3355
+ * Creates a `HtmlBlockElement` component instance.
3356
+ *
3357
+ * @remarks
3358
+ * Sandboxed HTML rendering escape hatch.
3359
+ *
3360
+ * @param content - Raw HTML markup content
3361
+ * @param options - Optional settings (modifiers).
3362
+ * @returns A strongly-typed `HtmlBlockElement` object.
3363
+ */
3364
+ export declare function htmlBlock(content: string, options?: {
3365
+ modifiers?: BaseModifiers;
3366
+ }): HtmlBlockElement;
3367
+ /**
3368
+ * Creates a `HtmlBlockElement` component instance.
3369
+ *
3370
+ * @remarks
3371
+ * Sandboxed HTML rendering escape hatch.
3372
+ *
3373
+ * @param content - Raw HTML markup content
3374
+ * @param options - Optional settings (modifiers).
3375
+ * @returns A strongly-typed `HtmlBlockElement` object.
3376
+ */
3377
+ export declare function html(content: string, options?: {
3378
+ modifiers?: BaseModifiers;
3379
+ }): HtmlBlockElement;
3380
+ /**
3381
+ * Creates a `Slot` component instance.
3382
+ *
3383
+ * @remarks
3384
+ * Single slot within a multi-slot horizontal row layout.
3385
+ *
3386
+ * @param content - Rendered content inside the slot
3387
+ * @param options - Optional settings (label, width).
3388
+ * @returns A strongly-typed `Slot` object.
3389
+ */
3390
+ export declare function slot(content: UiElement, options?: {
3391
+ label?: string;
3392
+ width?: string;
3393
+ }): Slot;
3394
+ /**
3395
+ * Creates a `MultiSlotElement` component instance.
3396
+ *
3397
+ * @remarks
3398
+ * Multi-slot horizontal row with declared column width proportions.
3399
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
3400
+ *
3401
+ * @param slots - List of slots comprising the row
3402
+ * @param options - Optional settings (proportions).
3403
+ * @returns A strongly-typed `MultiSlotElement` object.
3404
+ */
3405
+ export declare function multiSlot(slots: Slot[], options?: {
3406
+ proportions?: string;
3407
+ }): MultiSlotElement;
3408
+ /**
3409
+ * Creates a `FlowingElement` component instance.
3410
+ *
3411
+ * @remarks
3412
+ * Flowing inline layout container with automatic line wrapping.
3413
+ * Renders child elements horizontally in sequence, automatically wrapping to the next line when space runs out.
3414
+ *
3415
+ * @param elements - List of child elements rendered sequentially with line wrapping
3416
+ * @returns A strongly-typed `FlowingElement` object.
3417
+ */
3418
+ export declare function flowing(elements: UiElement[]): FlowingElement;
3419
+ /**
3420
+ * Creates a `LabelValueElement` component instance.
3421
+ *
3422
+ * @remarks
3423
+ * Standard label and value row.
3424
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
3425
+ *
3426
+ * @param label - Key or descriptive label displayed muted on the left
3427
+ * @param value - Rendered value element on the right
3428
+ * @param options - Optional settings (withDivider (defaults to `false`)).
3429
+ * @returns A strongly-typed `LabelValueElement` object.
3430
+ */
3431
+ export declare function labelValue(label: string, value: UiElement, options?: {
3432
+ withDivider?: boolean;
3433
+ }): LabelValueElement;
3434
+ /**
3435
+ * Creates a `TableColumn` component instance.
3436
+ *
3437
+ * @remarks
3438
+ * Column definition for structured tables.
3439
+ *
3440
+ * @param options - Optional settings (header, align (defaults to `left`), width).
3441
+ * @returns A strongly-typed `TableColumn` object.
3442
+ */
3443
+ export declare function tableColumn(options?: {
3444
+ header?: string;
3445
+ align?: TableColumnAlign;
3446
+ width?: string;
3447
+ }): TableColumn;
3448
+ /**
3449
+ * Creates a `TableRow` component instance.
3450
+ *
3451
+ * @remarks
3452
+ * Single table row containing an array of cell values.
3453
+ *
3454
+ * @param cells - Array of cell values corresponding to table columns
3455
+ * @returns A strongly-typed `TableRow` object.
3456
+ */
3457
+ export declare function tableRow(cells: UiElement[]): TableRow;
3458
+ /**
3459
+ * Creates a `TableElement` component instance.
3460
+ *
3461
+ * @remarks
3462
+ * Structured tabular data representation.
3463
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
3464
+ *
3465
+ * @param rows - Tabular data rows
3466
+ * @param options - Optional settings (hasHeader (defaults to `true`), isStriped (defaults to `false`), withColumnSeparators (defaults to `false`), withRowSeparators (defaults to `false`), columns).
3467
+ * @returns A strongly-typed `TableElement` object.
3468
+ */
3469
+ export declare function table(rows: TableRow[], options?: {
3470
+ hasHeader?: boolean;
3471
+ isStriped?: boolean;
3472
+ withColumnSeparators?: boolean;
3473
+ withRowSeparators?: boolean;
3474
+ columns?: TableColumn[];
3475
+ }): TableElement;
3476
+ /**
3477
+ * Creates a `RepeatingGroupEntry` component instance.
3478
+ *
3479
+ * @remarks
3480
+ * Single entry within a repeating group.
3481
+ *
3482
+ * @param label - Entry label
3483
+ * @param options - Optional settings (value, elements).
3484
+ * @returns A strongly-typed `RepeatingGroupEntry` object.
3485
+ */
3486
+ export declare function repeatingGroupEntry(label: string, options?: {
3487
+ value?: UiElement;
3488
+ elements?: UiElement[];
3489
+ }): RepeatingGroupEntry;
3490
+ /**
3491
+ * Creates a `RepeatingGroupElement` component instance.
3492
+ *
3493
+ * @remarks
3494
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
3495
+ *
3496
+ * @param entries - List of repeated entry records
3497
+ * @param options - Optional settings (title).
3498
+ * @returns A strongly-typed `RepeatingGroupElement` object.
3499
+ */
3500
+ export declare function repeatingGroup(entries: RepeatingGroupEntry[], options?: {
3501
+ title?: string;
3502
+ }): RepeatingGroupElement;
3503
+ /**
3504
+ * Creates a `CollapsibleGroupElement` component instance.
3505
+ *
3506
+ * @remarks
3507
+ * Collapsible disclosure container (accordion) with summary badge.
3508
+ *
3509
+ * @param title - Group title (e.g. "Show specimen details")
3510
+ * @param elements - Nested content elements revealed when expanded
3511
+ * @param options - Optional settings (summary, defaultExpanded (defaults to `false`)).
3512
+ * @returns A strongly-typed `CollapsibleGroupElement` object.
3513
+ */
3514
+ export declare function collapsibleGroup(title: string, elements: UiElement[], options?: {
3515
+ summary?: string;
3516
+ defaultExpanded?: boolean;
3517
+ }): CollapsibleGroupElement;
3518
+ /**
3519
+ * Creates a `DividerElement` component instance.
3520
+ *
3521
+ * @remarks
3522
+ * Visual hairline separator separating sections or element groups.
3523
+ *
3524
+ * @param options - Optional settings (style (defaults to `hairline`)).
3525
+ * @returns A strongly-typed `DividerElement` object.
3526
+ */
3527
+ export declare function divider(options?: {
3528
+ style?: DividerStyle;
3529
+ }): DividerElement;
3530
+ /**
3531
+ * Creates a `Envelop` component instance.
3532
+ *
3533
+ * @remarks
3534
+ * Base envelope container model holding the schema version attribute.
3535
+ *
3536
+ * @param options - Optional settings (schemaVersion (defaults to `1.0`)).
3537
+ * @returns A strongly-typed `Envelop` object.
3538
+ */
3539
+ export declare function envelop(options?: {
3540
+ schemaVersion?: "1.0";
3541
+ }): Envelop;
3542
+ /**
3543
+ * Type guard predicate verifying whether an unknown value conforms to `TruncateOptions`.
3544
+ *
3545
+ * @param value - The value to inspect.
3546
+ * @param withDeepValidation - Whether to recursively validate all properties.
3547
+ * @returns `true` if the value conforms to `TruncateOptions`, otherwise `false`.
3548
+ */
3549
+ export declare function isTruncateOptions(value: unknown, withDeepValidation?: boolean): value is TruncateOptions;
3550
+ /**
3551
+ * Type guard predicate verifying whether an unknown value conforms to `BaseModifiers`.
3552
+ *
3553
+ * @param value - The value to inspect.
3554
+ * @param withDeepValidation - Whether to recursively validate all properties.
3555
+ * @returns `true` if the value conforms to `BaseModifiers`, otherwise `false`.
3556
+ */
3557
+ export declare function isBaseModifiers(value: unknown, withDeepValidation?: boolean): value is BaseModifiers;
3558
+ /**
3559
+ * Type guard predicate verifying whether an unknown value conforms to `PrimitiveModifiers`.
3560
+ *
3561
+ * @param value - The value to inspect.
3562
+ * @param withDeepValidation - Whether to recursively validate all properties.
3563
+ * @returns `true` if the value conforms to `PrimitiveModifiers`, otherwise `false`.
3564
+ */
3565
+ export declare function isPrimitiveModifiers(value: unknown, withDeepValidation?: boolean): value is PrimitiveModifiers;
3566
+ /**
3567
+ * Type guard predicate verifying whether an unknown value conforms to `Slot`.
3568
+ *
3569
+ * @param value - The value to inspect.
3570
+ * @param withDeepValidation - Whether to recursively validate all properties.
3571
+ * @returns `true` if the value conforms to `Slot`, otherwise `false`.
3572
+ */
3573
+ export declare function isSlot(value: unknown, withDeepValidation?: boolean): value is Slot;
3574
+ /**
3575
+ * Type guard predicate verifying whether an unknown value conforms to `TableColumn`.
3576
+ *
3577
+ * @param value - The value to inspect.
3578
+ * @param withDeepValidation - Whether to recursively validate all properties.
3579
+ * @returns `true` if the value conforms to `TableColumn`, otherwise `false`.
3580
+ */
3581
+ export declare function isTableColumn(value: unknown, withDeepValidation?: boolean): value is TableColumn;
3582
+ /**
3583
+ * Type guard predicate verifying whether an unknown value conforms to `TableRow`.
3584
+ *
3585
+ * @param value - The value to inspect.
3586
+ * @param withDeepValidation - Whether to recursively validate all properties.
3587
+ * @returns `true` if the value conforms to `TableRow`, otherwise `false`.
3588
+ */
3589
+ export declare function isTableRow(value: unknown, withDeepValidation?: boolean): value is TableRow;
3590
+ /**
3591
+ * Type guard predicate verifying whether an unknown value conforms to `RepeatingGroupEntry`.
3592
+ *
3593
+ * @param value - The value to inspect.
3594
+ * @param withDeepValidation - Whether to recursively validate all properties.
3595
+ * @returns `true` if the value conforms to `RepeatingGroupEntry`, otherwise `false`.
3596
+ */
3597
+ export declare function isRepeatingGroupEntry(value: unknown, withDeepValidation?: boolean): value is RepeatingGroupEntry;
3598
+ /**
3599
+ * Type guard predicate verifying whether an unknown value conforms to `Envelop`.
3600
+ *
3601
+ * @param value - The value to inspect.
3602
+ * @param withDeepValidation - Whether to recursively validate all properties.
3603
+ * @returns `true` if the value conforms to `Envelop`, otherwise `false`.
3604
+ */
3605
+ export declare function isEnvelop(value: unknown, withDeepValidation?: boolean): value is Envelop;
3606
+ /**
3607
+ * Type guard predicate verifying whether an unknown value conforms to `UiElement`.
3608
+ *
3609
+ * @param value - The value to inspect.
3610
+ * @param withDeepValidation - Whether to recursively validate all properties.
3611
+ * @returns `true` if the value is a valid `UiElement`, otherwise `false`.
3612
+ */
3613
+ export declare function isUiElement(value: unknown, withDeepValidation?: boolean): value is UiElement;
3614
+ /**
3615
+ * Type guard predicate narrowing a value to `StringShortElement`.
3616
+ *
3617
+ * @param value - The value to inspect.
3618
+ * @param withDeepValidation - Whether to recursively validate all properties.
3619
+ * @returns `true` if the value is a `StringShortElement` (type = "string-short"), otherwise `false`.
3620
+ */
3621
+ export declare function isStringShortElement(value: unknown, withDeepValidation?: boolean): value is StringShortElement;
3622
+ /**
3623
+ * Type guard predicate narrowing a value to `StringLongElement`.
3624
+ *
3625
+ * @param value - The value to inspect.
3626
+ * @param withDeepValidation - Whether to recursively validate all properties.
3627
+ * @returns `true` if the value is a `StringLongElement` (type = "string-long"), otherwise `false`.
3628
+ */
3629
+ export declare function isStringLongElement(value: unknown, withDeepValidation?: boolean): value is StringLongElement;
3630
+ /**
3631
+ * Type guard predicate narrowing a value to `StringCodeElement`.
3632
+ *
3633
+ * @param value - The value to inspect.
3634
+ * @param withDeepValidation - Whether to recursively validate all properties.
3635
+ * @returns `true` if the value is a `StringCodeElement` (type = "string-code"), otherwise `false`.
3636
+ */
3637
+ export declare function isStringCodeElement(value: unknown, withDeepValidation?: boolean): value is StringCodeElement;
3638
+ /**
3639
+ * Type guard predicate narrowing a value to `XmlElement`.
3640
+ *
3641
+ * @param value - The value to inspect.
3642
+ * @param withDeepValidation - Whether to recursively validate all properties.
3643
+ * @returns `true` if the value is a `XmlElement` (type = "xml"), otherwise `false`.
3644
+ */
3645
+ export declare function isXmlElement(value: unknown, withDeepValidation?: boolean): value is XmlElement;
3646
+ /**
3647
+ * Type guard predicate narrowing a value to `JsonElement`.
3648
+ *
3649
+ * @param value - The value to inspect.
3650
+ * @param withDeepValidation - Whether to recursively validate all properties.
3651
+ * @returns `true` if the value is a `JsonElement` (type = "json"), otherwise `false`.
3652
+ */
3653
+ export declare function isJsonElement(value: unknown, withDeepValidation?: boolean): value is JsonElement;
3654
+ /**
3655
+ * Type guard predicate narrowing a value to `StringUrlElement`.
3656
+ *
3657
+ * @param value - The value to inspect.
3658
+ * @param withDeepValidation - Whether to recursively validate all properties.
3659
+ * @returns `true` if the value is a `StringUrlElement` (type = "string-url"), otherwise `false`.
3660
+ */
3661
+ export declare function isStringUrlElement(value: unknown, withDeepValidation?: boolean): value is StringUrlElement;
3662
+ /**
3663
+ * Type guard predicate narrowing a value to `IdentifierElement`.
3664
+ *
3665
+ * @param value - The value to inspect.
3666
+ * @param withDeepValidation - Whether to recursively validate all properties.
3667
+ * @returns `true` if the value is a `IdentifierElement` (type = "identifier"), otherwise `false`.
3668
+ */
3669
+ export declare function isIdentifierElement(value: unknown, withDeepValidation?: boolean): value is IdentifierElement;
3670
+ /**
3671
+ * Type guard predicate narrowing a value to `RatioElement`.
3672
+ *
3673
+ * @param value - The value to inspect.
3674
+ * @param withDeepValidation - Whether to recursively validate all properties.
3675
+ * @returns `true` if the value is a `RatioElement` (type = "ratio"), otherwise `false`.
3676
+ */
3677
+ export declare function isRatioElement(value: unknown, withDeepValidation?: boolean): value is RatioElement;
3678
+ /**
3679
+ * Type guard predicate narrowing a value to `ColourElement`.
3680
+ *
3681
+ * @param value - The value to inspect.
3682
+ * @param withDeepValidation - Whether to recursively validate all properties.
3683
+ * @returns `true` if the value is a `ColourElement` (type = "color"), otherwise `false`.
3684
+ */
3685
+ export declare function isColourElement(value: unknown, withDeepValidation?: boolean): value is ColourElement;
3686
+ /**
3687
+ * Type guard predicate narrowing a value to `NumberUnboundedElement`.
3688
+ *
3689
+ * @param value - The value to inspect.
3690
+ * @param withDeepValidation - Whether to recursively validate all properties.
3691
+ * @returns `true` if the value is a `NumberUnboundedElement` (type = "number-unbounded"), otherwise `false`.
3692
+ */
3693
+ export declare function isNumberUnboundedElement(value: unknown, withDeepValidation?: boolean): value is NumberUnboundedElement;
3694
+ /**
3695
+ * Type guard predicate narrowing a value to `NumberBoundedStarsElement`.
3696
+ *
3697
+ * @param value - The value to inspect.
3698
+ * @param withDeepValidation - Whether to recursively validate all properties.
3699
+ * @returns `true` if the value is a `NumberBoundedStarsElement` (type = "number-stars"), otherwise `false`.
3700
+ */
3701
+ export declare function isNumberBoundedStarsElement(value: unknown, withDeepValidation?: boolean): value is NumberBoundedStarsElement;
3702
+ /**
3703
+ * Type guard predicate narrowing a value to `NumberBoundedMeterElement`.
3704
+ *
3705
+ * @param value - The value to inspect.
3706
+ * @param withDeepValidation - Whether to recursively validate all properties.
3707
+ * @returns `true` if the value is a `NumberBoundedMeterElement` (type = "number-meter"), otherwise `false`.
3708
+ */
3709
+ export declare function isNumberBoundedMeterElement(value: unknown, withDeepValidation?: boolean): value is NumberBoundedMeterElement;
3710
+ /**
3711
+ * Type guard predicate narrowing a value to `BooleanPlainElement`.
3712
+ *
3713
+ * @param value - The value to inspect.
3714
+ * @param withDeepValidation - Whether to recursively validate all properties.
3715
+ * @returns `true` if the value is a `BooleanPlainElement` (type = "boolean-plain"), otherwise `false`.
3716
+ */
3717
+ export declare function isBooleanPlainElement(value: unknown, withDeepValidation?: boolean): value is BooleanPlainElement;
3718
+ /**
3719
+ * Type guard predicate narrowing a value to `BooleanBadgeElement`.
3720
+ *
3721
+ * @param value - The value to inspect.
3722
+ * @param withDeepValidation - Whether to recursively validate all properties.
3723
+ * @returns `true` if the value is a `BooleanBadgeElement` (type = "boolean-badge"), otherwise `false`.
3724
+ */
3725
+ export declare function isBooleanBadgeElement(value: unknown, withDeepValidation?: boolean): value is BooleanBadgeElement;
3726
+ /**
3727
+ * Type guard predicate narrowing a value to `TimestampElement`.
3728
+ *
3729
+ * @param value - The value to inspect.
3730
+ * @param withDeepValidation - Whether to recursively validate all properties.
3731
+ * @returns `true` if the value is a `TimestampElement` (type = "timestamp"), otherwise `false`.
3732
+ */
3733
+ export declare function isTimestampElement(value: unknown, withDeepValidation?: boolean): value is TimestampElement;
3734
+ /**
3735
+ * Type guard predicate narrowing a value to `ImageReferenceElement`.
3736
+ *
3737
+ * @param value - The value to inspect.
3738
+ * @param withDeepValidation - Whether to recursively validate all properties.
3739
+ * @returns `true` if the value is a `ImageReferenceElement` (type = "image-ref"), otherwise `false`.
3740
+ */
3741
+ export declare function isImageReferenceElement(value: unknown, withDeepValidation?: boolean): value is ImageReferenceElement;
3742
+ /**
3743
+ * Type guard predicate narrowing a value to `MarkdownBlockElement`.
3744
+ *
3745
+ * @param value - The value to inspect.
3746
+ * @param withDeepValidation - Whether to recursively validate all properties.
3747
+ * @returns `true` if the value is a `MarkdownBlockElement` (type = "markdown"), otherwise `false`.
3748
+ */
3749
+ export declare function isMarkdownBlockElement(value: unknown, withDeepValidation?: boolean): value is MarkdownBlockElement;
3750
+ /**
3751
+ * Type guard predicate narrowing a value to `HtmlBlockElement`.
3752
+ *
3753
+ * @param value - The value to inspect.
3754
+ * @param withDeepValidation - Whether to recursively validate all properties.
3755
+ * @returns `true` if the value is a `HtmlBlockElement` (type = "html"), otherwise `false`.
3756
+ */
3757
+ export declare function isHtmlBlockElement(value: unknown, withDeepValidation?: boolean): value is HtmlBlockElement;
3758
+ /**
3759
+ * Type guard predicate narrowing a value to `MultiSlotElement`.
3760
+ *
3761
+ * @param value - The value to inspect.
3762
+ * @param withDeepValidation - Whether to recursively validate all properties.
3763
+ * @returns `true` if the value is a `MultiSlotElement` (type = "multi-slot"), otherwise `false`.
3764
+ */
3765
+ export declare function isMultiSlotElement(value: unknown, withDeepValidation?: boolean): value is MultiSlotElement;
3766
+ /**
3767
+ * Type guard predicate narrowing a value to `FlowingElement`.
3768
+ *
3769
+ * @param value - The value to inspect.
3770
+ * @param withDeepValidation - Whether to recursively validate all properties.
3771
+ * @returns `true` if the value is a `FlowingElement` (type = "flowing"), otherwise `false`.
3772
+ */
3773
+ export declare function isFlowingElement(value: unknown, withDeepValidation?: boolean): value is FlowingElement;
3774
+ /**
3775
+ * Type guard predicate narrowing a value to `LabelValueElement`.
3776
+ *
3777
+ * @param value - The value to inspect.
3778
+ * @param withDeepValidation - Whether to recursively validate all properties.
3779
+ * @returns `true` if the value is a `LabelValueElement` (type = "label-value"), otherwise `false`.
3780
+ */
3781
+ export declare function isLabelValueElement(value: unknown, withDeepValidation?: boolean): value is LabelValueElement;
3782
+ /**
3783
+ * Type guard predicate narrowing a value to `TableElement`.
3784
+ *
3785
+ * @param value - The value to inspect.
3786
+ * @param withDeepValidation - Whether to recursively validate all properties.
3787
+ * @returns `true` if the value is a `TableElement` (type = "table"), otherwise `false`.
3788
+ */
3789
+ export declare function isTableElement(value: unknown, withDeepValidation?: boolean): value is TableElement;
3790
+ /**
3791
+ * Type guard predicate narrowing a value to `RepeatingGroupElement`.
3792
+ *
3793
+ * @param value - The value to inspect.
3794
+ * @param withDeepValidation - Whether to recursively validate all properties.
3795
+ * @returns `true` if the value is a `RepeatingGroupElement` (type = "repeating-group"), otherwise `false`.
3796
+ */
3797
+ export declare function isRepeatingGroupElement(value: unknown, withDeepValidation?: boolean): value is RepeatingGroupElement;
3798
+ /**
3799
+ * Type guard predicate narrowing a value to `CollapsibleGroupElement`.
3800
+ *
3801
+ * @param value - The value to inspect.
3802
+ * @param withDeepValidation - Whether to recursively validate all properties.
3803
+ * @returns `true` if the value is a `CollapsibleGroupElement` (type = "collapsible-group"), otherwise `false`.
3804
+ */
3805
+ export declare function isCollapsibleGroupElement(value: unknown, withDeepValidation?: boolean): value is CollapsibleGroupElement;
3806
+ /**
3807
+ * Type guard predicate narrowing a value to `DividerElement`.
3808
+ *
3809
+ * @param value - The value to inspect.
3810
+ * @param withDeepValidation - Whether to recursively validate all properties.
3811
+ * @returns `true` if the value is a `DividerElement` (type = "divider"), otherwise `false`.
3812
+ */
3813
+ export declare function isDividerElement(value: unknown, withDeepValidation?: boolean): value is DividerElement;
3814
+ /**
3815
+ * Type guard predicate verifying whether an unknown value conforms to `UiAction`.
3816
+ *
3817
+ * @param value - The value to inspect.
3818
+ * @param withDeepValidation - Whether to recursively validate all properties.
3819
+ * @returns `true` if the value is a valid `UiAction`, otherwise `false`.
3820
+ */
3821
+ export declare function isUiAction(value: unknown, withDeepValidation?: boolean): value is UiAction;
3822
+ /**
3823
+ * Type guard predicate narrowing a value to `ButtonActionElement`.
3824
+ *
3825
+ * @param value - The value to inspect.
3826
+ * @param withDeepValidation - Whether to recursively validate all properties.
3827
+ * @returns `true` if the value is a `ButtonActionElement` (type = "button"), otherwise `false`.
3828
+ */
3829
+ export declare function isButtonActionElement(value: unknown, withDeepValidation?: boolean): value is ButtonActionElement;
3830
+ /**
3831
+ * Type guard predicate narrowing a value to `ExternalLinkActionElement`.
3832
+ *
3833
+ * @param value - The value to inspect.
3834
+ * @param withDeepValidation - Whether to recursively validate all properties.
3835
+ * @returns `true` if the value is a `ExternalLinkActionElement` (type = "external-link"), otherwise `false`.
3836
+ */
3837
+ export declare function isExternalLinkActionElement(value: unknown, withDeepValidation?: boolean): value is ExternalLinkActionElement;
3838
+ /**
3839
+ * Type guard predicate verifying whether an unknown value conforms to `UiContainer`.
3840
+ *
3841
+ * @param value - The value to inspect.
3842
+ * @param withDeepValidation - Whether to recursively validate all properties.
3843
+ * @returns `true` if the value is a valid `UiContainer`, otherwise `false`.
3844
+ */
3845
+ export declare function isUiContainer(value: unknown, withDeepValidation?: boolean): value is UiContainer;
3846
+ /**
3847
+ * Type guard predicate verifying whether an unknown value conforms to `UiCard`.
3848
+ *
3849
+ * @param value - The value to inspect.
3850
+ * @param withDeepValidation - Whether to recursively validate all properties.
3851
+ * @returns `true` if the value is a valid `UiCard`, otherwise `false`.
3852
+ */
3853
+ export declare function isUiCard(value: unknown, withDeepValidation?: boolean): value is UiCard;