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