@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,2814 @@
1
+ /** Generic base class providing recursive JSON serialization for all model instances. */
2
+ export declare abstract class GrammarNode<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
+ /** Text emphasis and visual weight styling. */
11
+ export declare enum Emphasis {
12
+ /** Subdued or secondary appearance with lower visual contrast */
13
+ muted = "muted",
14
+ /** Standard text weight and contrast */
15
+ normal = "normal",
16
+ /** Emphasized / bold text weight for prominence */
17
+ strong = "strong"
18
+ }
19
+ /** Representation style for short string values. */
20
+ export declare enum StringShortRepresentation {
21
+ /** Standard plain text rendering */
22
+ plain = "plain",
23
+ /** Visual chip / tag pill representation */
24
+ chip = "chip"
25
+ }
26
+ /** Visual color tone variants for badge pill representations. */
27
+ export declare enum BadgeVariant {
28
+ /** Neutral gray tone */
29
+ neutral = "neutral",
30
+ /** Success green tone */
31
+ success = "success",
32
+ /** Warning yellow/orange tone */
33
+ warning = "warning",
34
+ /** Danger red tone */
35
+ danger = "danger"
36
+ }
37
+ /** Presentation format styles for timestamp elements. */
38
+ export declare enum TimestampFormat {
39
+ /** Complete date and time display */
40
+ full = "full",
41
+ /** Date-only display */
42
+ date = "date",
43
+ /** Time-only display */
44
+ time = "time",
45
+ /** Relative time expression (e.g. "5 minutes ago") */
46
+ relative = "relative"
47
+ }
48
+ /** Visual style variants for interactive button actions. */
49
+ export declare enum ButtonVariant {
50
+ /** Primary emphasis button style for default/recommended actions */
51
+ primary = "primary",
52
+ /** Secondary standard button style */
53
+ secondary = "secondary",
54
+ /** Subtle low-contrast button style */
55
+ subtle = "subtle",
56
+ /** Destructive / dangerous action button style */
57
+ danger = "danger"
58
+ }
59
+ /** Text horizontal alignment options for table columns. */
60
+ export declare enum TableColumnAlign {
61
+ /** Left-aligned text */
62
+ left = "left",
63
+ /** Center-aligned text */
64
+ center = "center",
65
+ /** Right-aligned text */
66
+ right = "right"
67
+ }
68
+ /** Visual styling variants for hairline dividers. */
69
+ export declare enum DividerStyle {
70
+ /** Subtle thin hairline border */
71
+ hairline = "hairline",
72
+ /** Solid standard divider line */
73
+ solid = "solid",
74
+ /** Dashed separator line */
75
+ dashed = "dashed"
76
+ }
77
+ /**
78
+ * Polymorphic root base model for all visual UI elements in Picteus feature views.
79
+ * Uses the @discriminator("type") decorator so all child models inheriting from UiElement
80
+ * are automatically recognized by schema emitters and SDK code generators.
81
+ */
82
+ export interface UiElementBase {
83
+ /** The polymorphic discriminator type tag. */
84
+ readonly type: string;
85
+ }
86
+ /** Abstract base class for all `UiElement` models. */
87
+ export declare abstract class BaseUiElement<T = UiElement> extends GrammarNode<T> implements UiElementBase {
88
+ abstract readonly type: string;
89
+ }
90
+ /** Polymorphic base model for interactive actions. */
91
+ export interface ActionElementBase {
92
+ /** The polymorphic discriminator type tag. */
93
+ readonly type: string;
94
+ /** Display label for the action */
95
+ readonly label: string;
96
+ }
97
+ /** Abstract base class for all `ActionElement` models. */
98
+ export declare abstract class BaseActionElement<T = ActionElement> extends GrammarNode<T> implements ActionElementBase {
99
+ abstract readonly type: string;
100
+ abstract readonly label: string;
101
+ }
102
+ /** Truncation configuration for long textual content with optional expand affordance. */
103
+ export interface TruncateOptions {
104
+ /** Maximum number of characters to display before truncating */
105
+ readonly characterLimit: number;
106
+ /**
107
+ * Whether to render a "Show more" / "Show less" toggle affordance
108
+ *
109
+ * @defaultValue true
110
+ */
111
+ readonly showMore?: boolean;
112
+ }
113
+ /** Common modifier traits that can be attached to primitive elements. */
114
+ export interface PrimitiveModifiers {
115
+ /** Adds an interactive copy button/action next to the rendered value */
116
+ readonly copyable?: boolean;
117
+ /** Configures character truncation threshold with show-more affordance */
118
+ readonly truncate?: TruncateOptions;
119
+ /**
120
+ * Text emphasis level
121
+ *
122
+ * @defaultValue Emphasis.normal
123
+ */
124
+ readonly emphasis?: Emphasis;
125
+ /**
126
+ * Whether to use monospace font rendering (for hashes, IDs, codes)
127
+ *
128
+ * @defaultValue false
129
+ */
130
+ readonly monospace?: boolean;
131
+ }
132
+ /**
133
+ * Short string primitive element.
134
+ * Supports plain text or compact chip pill presentation.
135
+ */
136
+ export interface StringShortElement extends UiElementBase {
137
+ /**
138
+ * Discriminator type
139
+ *
140
+ * @defaultValue "string-short"
141
+ */
142
+ readonly type: "string-short";
143
+ /** Text value */
144
+ readonly value: string;
145
+ /**
146
+ * Display representation mode
147
+ *
148
+ * @defaultValue StringShortRepresentation.plain
149
+ */
150
+ readonly representation?: StringShortRepresentation;
151
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
152
+ readonly modifiers?: PrimitiveModifiers;
153
+ }
154
+ /** Multiline text block primitive element for descriptions, comments, or prose. */
155
+ export interface StringLongElement extends UiElementBase {
156
+ /**
157
+ * Discriminator type
158
+ *
159
+ * @defaultValue "string-long"
160
+ */
161
+ readonly type: "string-long";
162
+ /** Text value */
163
+ readonly value: string;
164
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
165
+ readonly modifiers?: PrimitiveModifiers;
166
+ }
167
+ /** Monospace code block or formatted code snippet representation. */
168
+ export interface StringCodeElement extends UiElementBase {
169
+ /**
170
+ * Discriminator type
171
+ *
172
+ * @defaultValue "string-code"
173
+ */
174
+ readonly type: "string-code";
175
+ /** Text value */
176
+ readonly value: string;
177
+ /** Optional syntax highlighting language identifier */
178
+ readonly language?: string;
179
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
180
+ readonly modifiers?: PrimitiveModifiers;
181
+ }
182
+ /** Hyperlink representation for external or internal URL navigation. */
183
+ export interface StringUrlElement extends UiElementBase {
184
+ /**
185
+ * Discriminator type
186
+ *
187
+ * @defaultValue "string-url"
188
+ */
189
+ readonly type: "string-url";
190
+ /** Target URL or navigation destination */
191
+ readonly value: string;
192
+ /** Optional custom anchor text label */
193
+ readonly label?: string;
194
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
195
+ readonly modifiers?: PrimitiveModifiers;
196
+ }
197
+ /** Monospace semantic identifier representation. */
198
+ export interface IdentifierElement extends UiElementBase {
199
+ /**
200
+ * Discriminator type
201
+ *
202
+ * @defaultValue "identifier"
203
+ */
204
+ readonly type: "identifier";
205
+ /** Identifier string value */
206
+ readonly value: string;
207
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
208
+ readonly modifiers?: PrimitiveModifiers;
209
+ }
210
+ /** Aspect ratio representation (e.g. "16:9", "4:3", "1:1"). */
211
+ export interface RatioElement extends UiElementBase {
212
+ /**
213
+ * Discriminator type
214
+ *
215
+ * @defaultValue "ratio"
216
+ */
217
+ readonly type: "ratio";
218
+ /** Aspect ratio textual expression */
219
+ readonly value: string;
220
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
221
+ readonly modifiers?: PrimitiveModifiers;
222
+ }
223
+ /** Single color swatch representation with hex value and copy affordance. */
224
+ export interface ColourElement extends UiElementBase {
225
+ /**
226
+ * Discriminator type
227
+ *
228
+ * @defaultValue "color-swatch"
229
+ */
230
+ readonly type: "color-swatch";
231
+ /** Hexadecimal color code */
232
+ readonly value: string;
233
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
234
+ readonly modifiers?: PrimitiveModifiers;
235
+ }
236
+ /** Plain unbounded numeric value primitive element. */
237
+ export interface NumberUnboundedElement extends UiElementBase {
238
+ /**
239
+ * Discriminator type
240
+ *
241
+ * @defaultValue "number-unbounded"
242
+ */
243
+ readonly type: "number-unbounded";
244
+ /** Numeric value */
245
+ readonly value: number;
246
+ /** Optional unit suffix (e.g. "px", "ms", "MB") */
247
+ readonly unit?: string;
248
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
249
+ readonly modifiers?: PrimitiveModifiers;
250
+ }
251
+ /** Bounded numeric rating represented as visual stars. */
252
+ export interface NumberBoundedStarsElement extends UiElementBase {
253
+ /**
254
+ * Discriminator type
255
+ *
256
+ * @defaultValue "number-stars"
257
+ */
258
+ readonly type: "number-stars";
259
+ /** Numeric rating score */
260
+ readonly value: number;
261
+ /** Maximum rating scale (defaults to 5) */
262
+ readonly maximum?: number;
263
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
264
+ readonly modifiers?: PrimitiveModifiers;
265
+ }
266
+ /** Bounded numeric meter representation (read-only progress / score bar). */
267
+ export interface NumberBoundedMeterElement extends UiElementBase {
268
+ /**
269
+ * Discriminator type
270
+ *
271
+ * @defaultValue "number-meter"
272
+ */
273
+ readonly type: "number-meter";
274
+ /** Numeric value */
275
+ readonly value: number;
276
+ /** Minimum scale bound (defaults to 0) */
277
+ readonly minimum?: number;
278
+ /** Maximum scale bound (e.g. 100) */
279
+ readonly maximum?: number;
280
+ /** Optional custom text label override (e.g. "68 / 100") */
281
+ readonly label?: string;
282
+ /** Optional unit suffix (e.g. "%") */
283
+ readonly unit?: string;
284
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
285
+ readonly modifiers?: PrimitiveModifiers;
286
+ }
287
+ /** Plain boolean value representation (textual "true" / "false"). */
288
+ export interface BooleanPlainElement extends UiElementBase {
289
+ /**
290
+ * Discriminator type
291
+ *
292
+ * @defaultValue "boolean-plain"
293
+ */
294
+ readonly type: "boolean-plain";
295
+ /** Boolean state value */
296
+ readonly value: boolean;
297
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
298
+ readonly modifiers?: PrimitiveModifiers;
299
+ }
300
+ /** Visual badge pill representation of a boolean state. */
301
+ export interface BooleanBadgeElement extends UiElementBase {
302
+ /**
303
+ * Discriminator type
304
+ *
305
+ * @defaultValue "boolean-badge"
306
+ */
307
+ readonly type: "boolean-badge";
308
+ /** Boolean state value */
309
+ readonly value: boolean;
310
+ /**
311
+ * Custom display label when true (defaults to "true")
312
+ *
313
+ * @defaultValue "true"
314
+ */
315
+ readonly trueLabel?: string;
316
+ /**
317
+ * Custom display label when false (defaults to "false")
318
+ *
319
+ * @defaultValue "false"
320
+ */
321
+ readonly falseLabel?: string;
322
+ /**
323
+ * Badge color tone
324
+ *
325
+ * @defaultValue BadgeVariant.neutral
326
+ */
327
+ readonly variant?: BadgeVariant;
328
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
329
+ readonly modifiers?: PrimitiveModifiers;
330
+ }
331
+ /** Formatted date and time representation. */
332
+ export interface TimestampElement extends UiElementBase {
333
+ /**
334
+ * Discriminator type
335
+ *
336
+ * @defaultValue "timestamp"
337
+ */
338
+ readonly type: "timestamp";
339
+ /** ISO 8601 date string or epoch timestamp in milliseconds */
340
+ readonly value: string;
341
+ /**
342
+ * Presentation date/time format
343
+ *
344
+ * @defaultValue TimestampFormat.full
345
+ */
346
+ readonly format?: TimestampFormat;
347
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
348
+ readonly modifiers?: PrimitiveModifiers;
349
+ }
350
+ /** Thumbnail image reference with placeholder fallback handling. */
351
+ export interface ImageReferenceElement extends UiElementBase {
352
+ /**
353
+ * Discriminator type
354
+ *
355
+ * @defaultValue "image-ref"
356
+ */
357
+ readonly type: "image-ref";
358
+ /** Image source URI (HTTPS URL, base64 data URI, or asset path) */
359
+ readonly src: string;
360
+ /** Accessible alternative description */
361
+ readonly alt?: string;
362
+ /**
363
+ * Aspect ratio of the thumbnail container
364
+ *
365
+ * @defaultValue "1:1"
366
+ */
367
+ readonly aspectRatio?: string;
368
+ /** Fallback placeholder image URI */
369
+ readonly placeholder?: string;
370
+ }
371
+ /** Dominant color set palette rendered in descending dominance order. */
372
+ export interface DominantColourSetElement extends UiElementBase {
373
+ /**
374
+ * Discriminator type
375
+ *
376
+ * @defaultValue "color-set"
377
+ */
378
+ readonly type: "color-set";
379
+ /** List of hexadecimal color strings in descending priority */
380
+ readonly colors: string[];
381
+ }
382
+ /** Interactive button action triggering an extension command. */
383
+ export interface ButtonActionElement extends ActionElementBase {
384
+ /**
385
+ * Discriminator type
386
+ *
387
+ * @defaultValue "button"
388
+ */
389
+ readonly type: "button";
390
+ /** Extension identifier owning the target command */
391
+ readonly extensionId?: string;
392
+ /** Command identifier to invoke */
393
+ readonly commandId: string;
394
+ /** Target entity or context identifier */
395
+ readonly target?: string;
396
+ /** Optional arbitrary parameters payload forwarded to the command handler */
397
+ readonly parameters?: Record<string, unknown>;
398
+ /**
399
+ * Whether the button is disabled / unavailable
400
+ *
401
+ * @defaultValue false
402
+ */
403
+ readonly disabled?: boolean;
404
+ /**
405
+ * Button visual style variant
406
+ *
407
+ * @defaultValue ButtonVariant.secondary
408
+ */
409
+ readonly variant?: ButtonVariant;
410
+ /** Display label for the action */
411
+ readonly label: string;
412
+ }
413
+ /** External link action distinct from inline URL text values. */
414
+ export interface ExternalLinkActionElement extends ActionElementBase {
415
+ /**
416
+ * Discriminator type
417
+ *
418
+ * @defaultValue "external-link"
419
+ */
420
+ readonly type: "external-link";
421
+ /** Target URL destination */
422
+ readonly url: string;
423
+ /** Display label for the action */
424
+ readonly label: string;
425
+ }
426
+ /** Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling. */
427
+ export interface MarkdownBlockElement extends UiElementBase {
428
+ /**
429
+ * Discriminator type
430
+ *
431
+ * @defaultValue "markdown"
432
+ */
433
+ readonly type: "markdown";
434
+ /** Raw Markdown markup content */
435
+ readonly content: string;
436
+ }
437
+ /** Sandboxed HTML rendering escape hatch. */
438
+ export interface HtmlBlockElement extends UiElementBase {
439
+ /**
440
+ * Discriminator type
441
+ *
442
+ * @defaultValue "html"
443
+ */
444
+ readonly type: "html";
445
+ /** Raw HTML markup content */
446
+ readonly content: string;
447
+ }
448
+ /** Single slot within a multi-slot horizontal row layout. */
449
+ export interface Slot {
450
+ /** Optional slot label (e.g. "Slot A") */
451
+ readonly label?: string;
452
+ /** Relative or fractional width proportion (e.g. "1/3", "2/3", "100px", "auto") */
453
+ readonly width?: string;
454
+ /** Rendered content inside the slot */
455
+ readonly content: UiElement;
456
+ }
457
+ /**
458
+ * Multi-slot horizontal row with declared column width proportions.
459
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
460
+ */
461
+ export interface MultiSlotRowElement extends UiElementBase {
462
+ /**
463
+ * Discriminator type
464
+ *
465
+ * @defaultValue "multi-slot"
466
+ */
467
+ readonly type: "multi-slot";
468
+ /** Proportions descriptor (e.g. "1/3 + 2/3", "equal", "1/4 + 3/4") */
469
+ readonly proportions?: string;
470
+ /** List of slots comprising the row */
471
+ readonly slots: Slot[];
472
+ }
473
+ /**
474
+ * Standard label and value row.
475
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
476
+ */
477
+ export interface LabelValueRowElement extends UiElementBase {
478
+ /**
479
+ * Discriminator type
480
+ *
481
+ * @defaultValue "label-value"
482
+ */
483
+ readonly type: "label-value";
484
+ /** Key or descriptive label displayed muted on the left */
485
+ readonly label: string;
486
+ /** Rendered value element on the right */
487
+ readonly value: UiElement;
488
+ /**
489
+ * Whether to render a bottom border/hairline divider
490
+ *
491
+ * @defaultValue false
492
+ */
493
+ readonly withDivider?: boolean;
494
+ }
495
+ /** Column definition for structured tables. */
496
+ export interface TableColumn {
497
+ /** Display header text */
498
+ readonly header?: string;
499
+ /**
500
+ * Text horizontal alignment
501
+ *
502
+ * @defaultValue TableColumnAlign.left
503
+ */
504
+ readonly align?: TableColumnAlign;
505
+ /** Optional width constraint */
506
+ readonly width?: string;
507
+ }
508
+ /** Single table row containing an array of cell values. */
509
+ export interface TableRow {
510
+ /** Array of cell values corresponding to table columns */
511
+ readonly cells: (string | UiElement)[];
512
+ }
513
+ /**
514
+ * Structured tabular data representation.
515
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
516
+ */
517
+ export interface TableElement extends UiElementBase {
518
+ /**
519
+ * Discriminator type
520
+ *
521
+ * @defaultValue "table"
522
+ */
523
+ readonly type: "table";
524
+ /**
525
+ * Whether to render a column header row
526
+ *
527
+ * @defaultValue true
528
+ */
529
+ readonly hasHeader?: boolean;
530
+ /** Optional explicit column definitions */
531
+ readonly columns?: TableColumn[];
532
+ /** Tabular data rows */
533
+ readonly rows: TableRow[];
534
+ /** Maximum recommended visible columns at 360px panel width */
535
+ readonly maxColumns?: number;
536
+ }
537
+ /** Single entry within a repeating group. */
538
+ export interface RepeatingGroupEntry {
539
+ /** Entry label */
540
+ readonly label: string;
541
+ /** Primary entry value or nested elements */
542
+ readonly value?: string | UiElement;
543
+ /** Nested elements for structured entries */
544
+ readonly elements?: UiElement[];
545
+ }
546
+ /** Repeating group container where entries share uniform structure and retain per-entry labels. */
547
+ export interface RepeatingGroupElement extends UiElementBase {
548
+ /**
549
+ * Discriminator type
550
+ *
551
+ * @defaultValue "repeating-group"
552
+ */
553
+ readonly type: "repeating-group";
554
+ /** Optional section header for the group */
555
+ readonly title?: string;
556
+ /** List of repeated entry records */
557
+ readonly entries: RepeatingGroupEntry[];
558
+ }
559
+ /** Collapsible disclosure container (accordion) with summary badge. */
560
+ export interface CollapsibleGroupElement extends UiElementBase {
561
+ /**
562
+ * Discriminator type
563
+ *
564
+ * @defaultValue "collapsible-group"
565
+ */
566
+ readonly type: "collapsible-group";
567
+ /** Group title (e.g. "Show specimen details") */
568
+ readonly title: string;
569
+ /** Secondary summary indicator (e.g. "2 neutral values") */
570
+ readonly summary?: string;
571
+ /**
572
+ * Whether the disclosure is open/expanded by default
573
+ *
574
+ * @defaultValue false
575
+ */
576
+ readonly defaultExpanded?: boolean;
577
+ /** Nested content elements revealed when expanded */
578
+ readonly elements: UiElement[];
579
+ }
580
+ /** Visual hairline separator separating sections or element groups. */
581
+ export interface DividerElement extends UiElementBase {
582
+ /**
583
+ * Discriminator type
584
+ *
585
+ * @defaultValue "divider"
586
+ */
587
+ readonly type: "divider";
588
+ /**
589
+ * Line styling
590
+ *
591
+ * @defaultValue DividerStyle.hairline
592
+ */
593
+ readonly style?: DividerStyle;
594
+ }
595
+ /**
596
+ * Root Feature Block container model.
597
+ * Represents a complete feature card rendered inside the 360px panel.
598
+ */
599
+ export interface FeatureBlock {
600
+ /**
601
+ * Schema specification version
602
+ *
603
+ * @defaultValue "1.0"
604
+ */
605
+ readonly schemaVersion: "1.0";
606
+ /** Human-readable feature title displayed in the card header */
607
+ readonly title: string;
608
+ /** Optional neutral subtitle / description for the feature */
609
+ readonly description?: string;
610
+ /** Ordered list of visual elements, structures, and content */
611
+ readonly elements: UiElement[];
612
+ /** Optional card action buttons rendered at the base of the feature card */
613
+ readonly actions?: ActionElement[];
614
+ }
615
+ /**
616
+ * Polymorphic root base model for all visual UI elements in Picteus feature views.
617
+ * Uses the @discriminator("type") decorator so all child models inheriting from UiElement
618
+ * are automatically recognized by schema emitters and SDK code generators.
619
+ */
620
+ export type UiElement = StringShortElement | StringLongElement | StringCodeElement | StringUrlElement | IdentifierElement | RatioElement | ColourElement | NumberUnboundedElement | NumberBoundedStarsElement | NumberBoundedMeterElement | BooleanPlainElement | BooleanBadgeElement | TimestampElement | ImageReferenceElement | DominantColourSetElement | MarkdownBlockElement | HtmlBlockElement | MultiSlotRowElement | LabelValueRowElement | TableElement | RepeatingGroupElement | CollapsibleGroupElement | DividerElement;
621
+ /** Polymorphic base model for interactive actions. */
622
+ export type ActionElement = ButtonActionElement | ExternalLinkActionElement;
623
+ /**
624
+ * Class implementation of the `TruncateOptions` interface.
625
+ *
626
+ * @remarks
627
+ * Truncation configuration for long textual content with optional expand affordance.
628
+ */
629
+ export declare class TruncateOptionsClass extends GrammarNode<TruncateOptions> implements TruncateOptions {
630
+ /** Maximum number of characters to display before truncating */
631
+ readonly characterLimit: number;
632
+ /**
633
+ * Whether to render a "Show more" / "Show less" toggle affordance
634
+ *
635
+ * @defaultValue true
636
+ */
637
+ readonly showMore?: boolean;
638
+ /**
639
+ * Initializes a new `TruncateOptionsClass` instance.
640
+ *
641
+ * @param characterLimit - Maximum number of characters to display before truncating
642
+ * @param options - Optional property overrides.
643
+ */
644
+ constructor(characterLimit: number, options?: {
645
+ showMore?: boolean;
646
+ });
647
+ }
648
+ /**
649
+ * Class implementation of the `PrimitiveModifiers` interface.
650
+ *
651
+ * @remarks
652
+ * Common modifier traits that can be attached to primitive elements.
653
+ */
654
+ export declare class PrimitiveModifiersClass extends GrammarNode<PrimitiveModifiers> implements PrimitiveModifiers {
655
+ /** Adds an interactive copy button/action next to the rendered value */
656
+ readonly copyable?: boolean;
657
+ /** Configures character truncation threshold with show-more affordance */
658
+ readonly truncate?: TruncateOptions;
659
+ /**
660
+ * Text emphasis level
661
+ *
662
+ * @defaultValue Emphasis.normal
663
+ */
664
+ readonly emphasis?: Emphasis;
665
+ /**
666
+ * Whether to use monospace font rendering (for hashes, IDs, codes)
667
+ *
668
+ * @defaultValue false
669
+ */
670
+ readonly monospace?: boolean;
671
+ /**
672
+ * Initializes a new `PrimitiveModifiersClass` instance.
673
+ *
674
+ * @param options - Optional property overrides.
675
+ */
676
+ constructor(options?: {
677
+ copyable?: boolean;
678
+ truncate?: TruncateOptions;
679
+ emphasis?: Emphasis;
680
+ monospace?: boolean;
681
+ });
682
+ }
683
+ /**
684
+ * Class implementation of the `StringShortElement` interface.
685
+ *
686
+ * @remarks
687
+ * Short string primitive element.
688
+ * Supports plain text or compact chip pill presentation.
689
+ */
690
+ export declare class StringShortElementClass extends BaseUiElement<StringShortElement> implements StringShortElement {
691
+ /**
692
+ * The discriminator type tag.
693
+ *
694
+ * @defaultValue "string-short"
695
+ */
696
+ readonly type: "string-short";
697
+ /** Text value */
698
+ readonly value: string;
699
+ /**
700
+ * Display representation mode
701
+ *
702
+ * @defaultValue StringShortRepresentation.plain
703
+ */
704
+ readonly representation?: StringShortRepresentation;
705
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
706
+ readonly modifiers?: PrimitiveModifiers;
707
+ /**
708
+ * Initializes a new `StringShortElementClass` instance.
709
+ *
710
+ * @param value - Text value
711
+ * @param options - Optional property overrides.
712
+ */
713
+ constructor(value: string, options?: {
714
+ representation?: StringShortRepresentation;
715
+ modifiers?: PrimitiveModifiers;
716
+ });
717
+ }
718
+ /**
719
+ * Class implementation of the `StringLongElement` interface.
720
+ *
721
+ * @remarks
722
+ * Multiline text block primitive element for descriptions, comments, or prose.
723
+ */
724
+ export declare class StringLongElementClass extends BaseUiElement<StringLongElement> implements StringLongElement {
725
+ /**
726
+ * The discriminator type tag.
727
+ *
728
+ * @defaultValue "string-long"
729
+ */
730
+ readonly type: "string-long";
731
+ /** Text value */
732
+ readonly value: string;
733
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
734
+ readonly modifiers?: PrimitiveModifiers;
735
+ /**
736
+ * Initializes a new `StringLongElementClass` instance.
737
+ *
738
+ * @param value - Text value
739
+ * @param options - Optional property overrides.
740
+ */
741
+ constructor(value: string, options?: {
742
+ modifiers?: PrimitiveModifiers;
743
+ });
744
+ }
745
+ /**
746
+ * Class implementation of the `StringCodeElement` interface.
747
+ *
748
+ * @remarks
749
+ * Monospace code block or formatted code snippet representation.
750
+ */
751
+ export declare class StringCodeElementClass extends BaseUiElement<StringCodeElement> implements StringCodeElement {
752
+ /**
753
+ * The discriminator type tag.
754
+ *
755
+ * @defaultValue "string-code"
756
+ */
757
+ readonly type: "string-code";
758
+ /** Text value */
759
+ readonly value: string;
760
+ /** Optional syntax highlighting language identifier */
761
+ readonly language?: string;
762
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
763
+ readonly modifiers?: PrimitiveModifiers;
764
+ /**
765
+ * Initializes a new `StringCodeElementClass` instance.
766
+ *
767
+ * @param value - Text value
768
+ * @param options - Optional property overrides.
769
+ */
770
+ constructor(value: string, options?: {
771
+ language?: string;
772
+ modifiers?: PrimitiveModifiers;
773
+ });
774
+ }
775
+ /**
776
+ * Class implementation of the `StringUrlElement` interface.
777
+ *
778
+ * @remarks
779
+ * Hyperlink representation for external or internal URL navigation.
780
+ */
781
+ export declare class StringUrlElementClass extends BaseUiElement<StringUrlElement> implements StringUrlElement {
782
+ /**
783
+ * The discriminator type tag.
784
+ *
785
+ * @defaultValue "string-url"
786
+ */
787
+ readonly type: "string-url";
788
+ /** Target URL or navigation destination */
789
+ readonly value: string;
790
+ /** Optional custom anchor text label */
791
+ readonly label?: string;
792
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
793
+ readonly modifiers?: PrimitiveModifiers;
794
+ /**
795
+ * Initializes a new `StringUrlElementClass` instance.
796
+ *
797
+ * @param value - Target URL or navigation destination
798
+ * @param options - Optional property overrides.
799
+ */
800
+ constructor(value: string, options?: {
801
+ label?: string;
802
+ modifiers?: PrimitiveModifiers;
803
+ });
804
+ }
805
+ /**
806
+ * Class implementation of the `IdentifierElement` interface.
807
+ *
808
+ * @remarks
809
+ * Monospace semantic identifier representation.
810
+ */
811
+ export declare class IdentifierElementClass extends BaseUiElement<IdentifierElement> implements IdentifierElement {
812
+ /**
813
+ * The discriminator type tag.
814
+ *
815
+ * @defaultValue "identifier"
816
+ */
817
+ readonly type: "identifier";
818
+ /** Identifier string value */
819
+ readonly value: string;
820
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
821
+ readonly modifiers?: PrimitiveModifiers;
822
+ /**
823
+ * Initializes a new `IdentifierElementClass` instance.
824
+ *
825
+ * @param value - Identifier string value
826
+ * @param options - Optional property overrides.
827
+ */
828
+ constructor(value: string, options?: {
829
+ modifiers?: PrimitiveModifiers;
830
+ });
831
+ }
832
+ /**
833
+ * Class implementation of the `RatioElement` interface.
834
+ *
835
+ * @remarks
836
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
837
+ */
838
+ export declare class RatioElementClass extends BaseUiElement<RatioElement> implements RatioElement {
839
+ /**
840
+ * The discriminator type tag.
841
+ *
842
+ * @defaultValue "ratio"
843
+ */
844
+ readonly type: "ratio";
845
+ /** Aspect ratio textual expression */
846
+ readonly value: string;
847
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
848
+ readonly modifiers?: PrimitiveModifiers;
849
+ /**
850
+ * Initializes a new `RatioElementClass` instance.
851
+ *
852
+ * @param value - Aspect ratio textual expression
853
+ * @param options - Optional property overrides.
854
+ */
855
+ constructor(value: string, options?: {
856
+ modifiers?: PrimitiveModifiers;
857
+ });
858
+ }
859
+ /**
860
+ * Class implementation of the `ColourElement` interface.
861
+ *
862
+ * @remarks
863
+ * Single color swatch representation with hex value and copy affordance.
864
+ */
865
+ export declare class ColourElementClass extends BaseUiElement<ColourElement> implements ColourElement {
866
+ /**
867
+ * The discriminator type tag.
868
+ *
869
+ * @defaultValue "color-swatch"
870
+ */
871
+ readonly type: "color-swatch";
872
+ /** Hexadecimal color code */
873
+ readonly value: string;
874
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
875
+ readonly modifiers?: PrimitiveModifiers;
876
+ /**
877
+ * Initializes a new `ColourElementClass` instance.
878
+ *
879
+ * @param value - Hexadecimal color code
880
+ * @param options - Optional property overrides.
881
+ */
882
+ constructor(value: string, options?: {
883
+ modifiers?: PrimitiveModifiers;
884
+ });
885
+ }
886
+ /**
887
+ * Class implementation of the `NumberUnboundedElement` interface.
888
+ *
889
+ * @remarks
890
+ * Plain unbounded numeric value primitive element.
891
+ */
892
+ export declare class NumberUnboundedElementClass extends BaseUiElement<NumberUnboundedElement> implements NumberUnboundedElement {
893
+ /**
894
+ * The discriminator type tag.
895
+ *
896
+ * @defaultValue "number-unbounded"
897
+ */
898
+ readonly type: "number-unbounded";
899
+ /** Numeric value */
900
+ readonly value: number;
901
+ /** Optional unit suffix (e.g. "px", "ms", "MB") */
902
+ readonly unit?: string;
903
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
904
+ readonly modifiers?: PrimitiveModifiers;
905
+ /**
906
+ * Initializes a new `NumberUnboundedElementClass` instance.
907
+ *
908
+ * @param value - Numeric value
909
+ * @param options - Optional property overrides.
910
+ */
911
+ constructor(value: number, options?: {
912
+ unit?: string;
913
+ modifiers?: PrimitiveModifiers;
914
+ });
915
+ }
916
+ /**
917
+ * Class implementation of the `NumberBoundedStarsElement` interface.
918
+ *
919
+ * @remarks
920
+ * Bounded numeric rating represented as visual stars.
921
+ */
922
+ export declare class NumberBoundedStarsElementClass extends BaseUiElement<NumberBoundedStarsElement> implements NumberBoundedStarsElement {
923
+ /**
924
+ * The discriminator type tag.
925
+ *
926
+ * @defaultValue "number-stars"
927
+ */
928
+ readonly type: "number-stars";
929
+ /** Numeric rating score */
930
+ readonly value: number;
931
+ /** Maximum rating scale (defaults to 5) */
932
+ readonly maximum?: number;
933
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
934
+ readonly modifiers?: PrimitiveModifiers;
935
+ /**
936
+ * Initializes a new `NumberBoundedStarsElementClass` instance.
937
+ *
938
+ * @param value - Numeric rating score
939
+ * @param options - Optional property overrides.
940
+ */
941
+ constructor(value: number, options?: {
942
+ maximum?: number;
943
+ modifiers?: PrimitiveModifiers;
944
+ });
945
+ }
946
+ /**
947
+ * Class implementation of the `NumberBoundedMeterElement` interface.
948
+ *
949
+ * @remarks
950
+ * Bounded numeric meter representation (read-only progress / score bar).
951
+ */
952
+ export declare class NumberBoundedMeterElementClass extends BaseUiElement<NumberBoundedMeterElement> implements NumberBoundedMeterElement {
953
+ /**
954
+ * The discriminator type tag.
955
+ *
956
+ * @defaultValue "number-meter"
957
+ */
958
+ readonly type: "number-meter";
959
+ /** Numeric value */
960
+ readonly value: number;
961
+ /** Minimum scale bound (defaults to 0) */
962
+ readonly minimum?: number;
963
+ /** Maximum scale bound (e.g. 100) */
964
+ readonly maximum?: number;
965
+ /** Optional custom text label override (e.g. "68 / 100") */
966
+ readonly label?: string;
967
+ /** Optional unit suffix (e.g. "%") */
968
+ readonly unit?: string;
969
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
970
+ readonly modifiers?: PrimitiveModifiers;
971
+ /**
972
+ * Initializes a new `NumberBoundedMeterElementClass` instance.
973
+ *
974
+ * @param value - Numeric value
975
+ * @param options - Optional property overrides.
976
+ */
977
+ constructor(value: number, options?: {
978
+ minimum?: number;
979
+ maximum?: number;
980
+ label?: string;
981
+ unit?: string;
982
+ modifiers?: PrimitiveModifiers;
983
+ });
984
+ }
985
+ /**
986
+ * Class implementation of the `BooleanPlainElement` interface.
987
+ *
988
+ * @remarks
989
+ * Plain boolean value representation (textual "true" / "false").
990
+ */
991
+ export declare class BooleanPlainElementClass extends BaseUiElement<BooleanPlainElement> implements BooleanPlainElement {
992
+ /**
993
+ * The discriminator type tag.
994
+ *
995
+ * @defaultValue "boolean-plain"
996
+ */
997
+ readonly type: "boolean-plain";
998
+ /** Boolean state value */
999
+ readonly value: boolean;
1000
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1001
+ readonly modifiers?: PrimitiveModifiers;
1002
+ /**
1003
+ * Initializes a new `BooleanPlainElementClass` instance.
1004
+ *
1005
+ * @param value - Boolean state value
1006
+ * @param options - Optional property overrides.
1007
+ */
1008
+ constructor(value: boolean, options?: {
1009
+ modifiers?: PrimitiveModifiers;
1010
+ });
1011
+ }
1012
+ /**
1013
+ * Class implementation of the `BooleanBadgeElement` interface.
1014
+ *
1015
+ * @remarks
1016
+ * Visual badge pill representation of a boolean state.
1017
+ */
1018
+ export declare class BooleanBadgeElementClass extends BaseUiElement<BooleanBadgeElement> implements BooleanBadgeElement {
1019
+ /**
1020
+ * The discriminator type tag.
1021
+ *
1022
+ * @defaultValue "boolean-badge"
1023
+ */
1024
+ readonly type: "boolean-badge";
1025
+ /** Boolean state value */
1026
+ readonly value: boolean;
1027
+ /**
1028
+ * Custom display label when true (defaults to "true")
1029
+ *
1030
+ * @defaultValue "true"
1031
+ */
1032
+ readonly trueLabel?: string;
1033
+ /**
1034
+ * Custom display label when false (defaults to "false")
1035
+ *
1036
+ * @defaultValue "false"
1037
+ */
1038
+ readonly falseLabel?: string;
1039
+ /**
1040
+ * Badge color tone
1041
+ *
1042
+ * @defaultValue BadgeVariant.neutral
1043
+ */
1044
+ readonly variant?: BadgeVariant;
1045
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1046
+ readonly modifiers?: PrimitiveModifiers;
1047
+ /**
1048
+ * Initializes a new `BooleanBadgeElementClass` instance.
1049
+ *
1050
+ * @param value - Boolean state value
1051
+ * @param options - Optional property overrides.
1052
+ */
1053
+ constructor(value: boolean, options?: {
1054
+ trueLabel?: string;
1055
+ falseLabel?: string;
1056
+ variant?: BadgeVariant;
1057
+ modifiers?: PrimitiveModifiers;
1058
+ });
1059
+ }
1060
+ /**
1061
+ * Class implementation of the `TimestampElement` interface.
1062
+ *
1063
+ * @remarks
1064
+ * Formatted date and time representation.
1065
+ */
1066
+ export declare class TimestampElementClass extends BaseUiElement<TimestampElement> implements TimestampElement {
1067
+ /**
1068
+ * The discriminator type tag.
1069
+ *
1070
+ * @defaultValue "timestamp"
1071
+ */
1072
+ readonly type: "timestamp";
1073
+ /** ISO 8601 date string or epoch timestamp in milliseconds */
1074
+ readonly value: string;
1075
+ /**
1076
+ * Presentation date/time format
1077
+ *
1078
+ * @defaultValue TimestampFormat.full
1079
+ */
1080
+ readonly format?: TimestampFormat;
1081
+ /** Optional visual modifiers (copyable, truncate, emphasis, monospace) */
1082
+ readonly modifiers?: PrimitiveModifiers;
1083
+ /**
1084
+ * Initializes a new `TimestampElementClass` instance.
1085
+ *
1086
+ * @param value - ISO 8601 date string or epoch timestamp in milliseconds
1087
+ * @param options - Optional property overrides.
1088
+ */
1089
+ constructor(value: string, options?: {
1090
+ format?: TimestampFormat;
1091
+ modifiers?: PrimitiveModifiers;
1092
+ });
1093
+ }
1094
+ /**
1095
+ * Class implementation of the `ImageReferenceElement` interface.
1096
+ *
1097
+ * @remarks
1098
+ * Thumbnail image reference with placeholder fallback handling.
1099
+ */
1100
+ export declare class ImageReferenceElementClass extends BaseUiElement<ImageReferenceElement> implements ImageReferenceElement {
1101
+ /**
1102
+ * The discriminator type tag.
1103
+ *
1104
+ * @defaultValue "image-ref"
1105
+ */
1106
+ readonly type: "image-ref";
1107
+ /** Image source URI (HTTPS URL, base64 data URI, or asset path) */
1108
+ readonly src: string;
1109
+ /** Accessible alternative description */
1110
+ readonly alt?: string;
1111
+ /**
1112
+ * Aspect ratio of the thumbnail container
1113
+ *
1114
+ * @defaultValue "1:1"
1115
+ */
1116
+ readonly aspectRatio?: string;
1117
+ /** Fallback placeholder image URI */
1118
+ readonly placeholder?: string;
1119
+ /**
1120
+ * Initializes a new `ImageReferenceElementClass` instance.
1121
+ *
1122
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
1123
+ * @param options - Optional property overrides.
1124
+ */
1125
+ constructor(src: string, options?: {
1126
+ alt?: string;
1127
+ aspectRatio?: string;
1128
+ placeholder?: string;
1129
+ });
1130
+ }
1131
+ /**
1132
+ * Class implementation of the `DominantColourSetElement` interface.
1133
+ *
1134
+ * @remarks
1135
+ * Dominant color set palette rendered in descending dominance order.
1136
+ */
1137
+ export declare class DominantColourSetElementClass extends BaseUiElement<DominantColourSetElement> implements DominantColourSetElement {
1138
+ /**
1139
+ * The discriminator type tag.
1140
+ *
1141
+ * @defaultValue "color-set"
1142
+ */
1143
+ readonly type: "color-set";
1144
+ /** List of hexadecimal color strings in descending priority */
1145
+ readonly colors: string[];
1146
+ /**
1147
+ * Initializes a new `DominantColourSetElementClass` instance.
1148
+ *
1149
+ * @param colors - List of hexadecimal color strings in descending priority
1150
+ */
1151
+ constructor(colors: string[]);
1152
+ }
1153
+ /**
1154
+ * Class implementation of the `ButtonActionElement` interface.
1155
+ *
1156
+ * @remarks
1157
+ * Interactive button action triggering an extension command.
1158
+ */
1159
+ export declare class ButtonActionElementClass extends BaseActionElement<ButtonActionElement> implements ButtonActionElement {
1160
+ /**
1161
+ * The discriminator type tag.
1162
+ *
1163
+ * @defaultValue "button"
1164
+ */
1165
+ readonly type: "button";
1166
+ /** Command identifier to invoke */
1167
+ readonly commandId: string;
1168
+ /** Display label for the action */
1169
+ readonly label: string;
1170
+ /** Extension identifier owning the target command */
1171
+ readonly extensionId?: string;
1172
+ /** Target entity or context identifier */
1173
+ readonly target?: string;
1174
+ /** Optional arbitrary parameters payload forwarded to the command handler */
1175
+ readonly parameters?: Record<string, unknown>;
1176
+ /**
1177
+ * Whether the button is disabled / unavailable
1178
+ *
1179
+ * @defaultValue false
1180
+ */
1181
+ readonly disabled?: boolean;
1182
+ /**
1183
+ * Button visual style variant
1184
+ *
1185
+ * @defaultValue ButtonVariant.secondary
1186
+ */
1187
+ readonly variant?: ButtonVariant;
1188
+ /**
1189
+ * Initializes a new `ButtonActionElementClass` instance.
1190
+ *
1191
+ * @param commandId - Command identifier to invoke
1192
+ * @param label - Display label for the action
1193
+ * @param options - Optional property overrides.
1194
+ */
1195
+ constructor(commandId: string, label: string, options?: {
1196
+ extensionId?: string;
1197
+ target?: string;
1198
+ parameters?: Record<string, unknown>;
1199
+ disabled?: boolean;
1200
+ variant?: ButtonVariant;
1201
+ });
1202
+ }
1203
+ /**
1204
+ * Class implementation of the `ExternalLinkActionElement` interface.
1205
+ *
1206
+ * @remarks
1207
+ * External link action distinct from inline URL text values.
1208
+ */
1209
+ export declare class ExternalLinkActionElementClass extends BaseActionElement<ExternalLinkActionElement> implements ExternalLinkActionElement {
1210
+ /**
1211
+ * The discriminator type tag.
1212
+ *
1213
+ * @defaultValue "external-link"
1214
+ */
1215
+ readonly type: "external-link";
1216
+ /** Target URL destination */
1217
+ readonly url: string;
1218
+ /** Display label for the action */
1219
+ readonly label: string;
1220
+ /**
1221
+ * Initializes a new `ExternalLinkActionElementClass` instance.
1222
+ *
1223
+ * @param url - Target URL destination
1224
+ * @param label - Display label for the action
1225
+ */
1226
+ constructor(url: string, label: string);
1227
+ }
1228
+ /**
1229
+ * Class implementation of the `MarkdownBlockElement` interface.
1230
+ *
1231
+ * @remarks
1232
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
1233
+ */
1234
+ export declare class MarkdownBlockElementClass extends BaseUiElement<MarkdownBlockElement> implements MarkdownBlockElement {
1235
+ /**
1236
+ * The discriminator type tag.
1237
+ *
1238
+ * @defaultValue "markdown"
1239
+ */
1240
+ readonly type: "markdown";
1241
+ /** Raw Markdown markup content */
1242
+ readonly content: string;
1243
+ /**
1244
+ * Initializes a new `MarkdownBlockElementClass` instance.
1245
+ *
1246
+ * @param content - Raw Markdown markup content
1247
+ */
1248
+ constructor(content: string);
1249
+ }
1250
+ /**
1251
+ * Class implementation of the `HtmlBlockElement` interface.
1252
+ *
1253
+ * @remarks
1254
+ * Sandboxed HTML rendering escape hatch.
1255
+ */
1256
+ export declare class HtmlBlockElementClass extends BaseUiElement<HtmlBlockElement> implements HtmlBlockElement {
1257
+ /**
1258
+ * The discriminator type tag.
1259
+ *
1260
+ * @defaultValue "html"
1261
+ */
1262
+ readonly type: "html";
1263
+ /** Raw HTML markup content */
1264
+ readonly content: string;
1265
+ /**
1266
+ * Initializes a new `HtmlBlockElementClass` instance.
1267
+ *
1268
+ * @param content - Raw HTML markup content
1269
+ */
1270
+ constructor(content: string);
1271
+ }
1272
+ /**
1273
+ * Class implementation of the `Slot` interface.
1274
+ *
1275
+ * @remarks
1276
+ * Single slot within a multi-slot horizontal row layout.
1277
+ */
1278
+ export declare class SlotClass extends GrammarNode<Slot> implements Slot {
1279
+ /** Rendered content inside the slot */
1280
+ readonly content: UiElement;
1281
+ /** Optional slot label (e.g. "Slot A") */
1282
+ readonly label?: string;
1283
+ /** Relative or fractional width proportion (e.g. "1/3", "2/3", "100px", "auto") */
1284
+ readonly width?: string;
1285
+ /**
1286
+ * Initializes a new `SlotClass` instance.
1287
+ *
1288
+ * @param content - Rendered content inside the slot
1289
+ * @param options - Optional property overrides.
1290
+ */
1291
+ constructor(content: UiElement, options?: {
1292
+ label?: string;
1293
+ width?: string;
1294
+ });
1295
+ }
1296
+ /**
1297
+ * Class implementation of the `MultiSlotRowElement` interface.
1298
+ *
1299
+ * @remarks
1300
+ * Multi-slot horizontal row with declared column width proportions.
1301
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
1302
+ */
1303
+ export declare class MultiSlotRowElementClass extends BaseUiElement<MultiSlotRowElement> implements MultiSlotRowElement {
1304
+ /**
1305
+ * The discriminator type tag.
1306
+ *
1307
+ * @defaultValue "multi-slot"
1308
+ */
1309
+ readonly type: "multi-slot";
1310
+ /** List of slots comprising the row */
1311
+ readonly slots: Slot[];
1312
+ /** Proportions descriptor (e.g. "1/3 + 2/3", "equal", "1/4 + 3/4") */
1313
+ readonly proportions?: string;
1314
+ /**
1315
+ * Initializes a new `MultiSlotRowElementClass` instance.
1316
+ *
1317
+ * @param slots - List of slots comprising the row
1318
+ * @param options - Optional property overrides.
1319
+ */
1320
+ constructor(slots: Slot[], options?: {
1321
+ proportions?: string;
1322
+ });
1323
+ }
1324
+ /**
1325
+ * Class implementation of the `LabelValueRowElement` interface.
1326
+ *
1327
+ * @remarks
1328
+ * Standard label and value row.
1329
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
1330
+ */
1331
+ export declare class LabelValueRowElementClass extends BaseUiElement<LabelValueRowElement> implements LabelValueRowElement {
1332
+ /**
1333
+ * The discriminator type tag.
1334
+ *
1335
+ * @defaultValue "label-value"
1336
+ */
1337
+ readonly type: "label-value";
1338
+ /** Key or descriptive label displayed muted on the left */
1339
+ readonly label: string;
1340
+ /** Rendered value element on the right */
1341
+ readonly value: UiElement;
1342
+ /**
1343
+ * Whether to render a bottom border/hairline divider
1344
+ *
1345
+ * @defaultValue false
1346
+ */
1347
+ readonly withDivider?: boolean;
1348
+ /**
1349
+ * Initializes a new `LabelValueRowElementClass` instance.
1350
+ *
1351
+ * @param label - Key or descriptive label displayed muted on the left
1352
+ * @param value - Rendered value element on the right
1353
+ * @param options - Optional property overrides.
1354
+ */
1355
+ constructor(label: string, value: UiElement, options?: {
1356
+ withDivider?: boolean;
1357
+ });
1358
+ }
1359
+ /**
1360
+ * Class implementation of the `TableColumn` interface.
1361
+ *
1362
+ * @remarks
1363
+ * Column definition for structured tables.
1364
+ */
1365
+ export declare class TableColumnClass extends GrammarNode<TableColumn> implements TableColumn {
1366
+ /** Display header text */
1367
+ readonly header?: string;
1368
+ /**
1369
+ * Text horizontal alignment
1370
+ *
1371
+ * @defaultValue TableColumnAlign.left
1372
+ */
1373
+ readonly align?: TableColumnAlign;
1374
+ /** Optional width constraint */
1375
+ readonly width?: string;
1376
+ /**
1377
+ * Initializes a new `TableColumnClass` instance.
1378
+ *
1379
+ * @param options - Optional property overrides.
1380
+ */
1381
+ constructor(options?: {
1382
+ header?: string;
1383
+ align?: TableColumnAlign;
1384
+ width?: string;
1385
+ });
1386
+ }
1387
+ /**
1388
+ * Class implementation of the `TableRow` interface.
1389
+ *
1390
+ * @remarks
1391
+ * Single table row containing an array of cell values.
1392
+ */
1393
+ export declare class TableRowClass extends GrammarNode<TableRow> implements TableRow {
1394
+ /** Array of cell values corresponding to table columns */
1395
+ readonly cells: (string | UiElement)[];
1396
+ /**
1397
+ * Initializes a new `TableRowClass` instance.
1398
+ *
1399
+ * @param cells - Array of cell values corresponding to table columns
1400
+ */
1401
+ constructor(cells: (string | UiElement)[]);
1402
+ }
1403
+ /**
1404
+ * Class implementation of the `TableElement` interface.
1405
+ *
1406
+ * @remarks
1407
+ * Structured tabular data representation.
1408
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
1409
+ */
1410
+ export declare class TableElementClass extends BaseUiElement<TableElement> implements TableElement {
1411
+ /**
1412
+ * The discriminator type tag.
1413
+ *
1414
+ * @defaultValue "table"
1415
+ */
1416
+ readonly type: "table";
1417
+ /** Tabular data rows */
1418
+ readonly rows: TableRow[];
1419
+ /**
1420
+ * Whether to render a column header row
1421
+ *
1422
+ * @defaultValue true
1423
+ */
1424
+ readonly hasHeader?: boolean;
1425
+ /** Optional explicit column definitions */
1426
+ readonly columns?: TableColumn[];
1427
+ /** Maximum recommended visible columns at 360px panel width */
1428
+ readonly maxColumns?: number;
1429
+ /**
1430
+ * Initializes a new `TableElementClass` instance.
1431
+ *
1432
+ * @param rows - Tabular data rows
1433
+ * @param options - Optional property overrides.
1434
+ */
1435
+ constructor(rows: TableRow[], options?: {
1436
+ hasHeader?: boolean;
1437
+ columns?: TableColumn[];
1438
+ maxColumns?: number;
1439
+ });
1440
+ }
1441
+ /**
1442
+ * Class implementation of the `RepeatingGroupEntry` interface.
1443
+ *
1444
+ * @remarks
1445
+ * Single entry within a repeating group.
1446
+ */
1447
+ export declare class RepeatingGroupEntryClass extends GrammarNode<RepeatingGroupEntry> implements RepeatingGroupEntry {
1448
+ /** Entry label */
1449
+ readonly label: string;
1450
+ /** Primary entry value or nested elements */
1451
+ readonly value?: string | UiElement;
1452
+ /** Nested elements for structured entries */
1453
+ readonly elements?: UiElement[];
1454
+ /**
1455
+ * Initializes a new `RepeatingGroupEntryClass` instance.
1456
+ *
1457
+ * @param label - Entry label
1458
+ * @param options - Optional property overrides.
1459
+ */
1460
+ constructor(label: string, options?: {
1461
+ value?: string | UiElement;
1462
+ elements?: UiElement[];
1463
+ });
1464
+ }
1465
+ /**
1466
+ * Class implementation of the `RepeatingGroupElement` interface.
1467
+ *
1468
+ * @remarks
1469
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
1470
+ */
1471
+ export declare class RepeatingGroupElementClass extends BaseUiElement<RepeatingGroupElement> implements RepeatingGroupElement {
1472
+ /**
1473
+ * The discriminator type tag.
1474
+ *
1475
+ * @defaultValue "repeating-group"
1476
+ */
1477
+ readonly type: "repeating-group";
1478
+ /** List of repeated entry records */
1479
+ readonly entries: RepeatingGroupEntry[];
1480
+ /** Optional section header for the group */
1481
+ readonly title?: string;
1482
+ /**
1483
+ * Initializes a new `RepeatingGroupElementClass` instance.
1484
+ *
1485
+ * @param entries - List of repeated entry records
1486
+ * @param options - Optional property overrides.
1487
+ */
1488
+ constructor(entries: RepeatingGroupEntry[], options?: {
1489
+ title?: string;
1490
+ });
1491
+ }
1492
+ /**
1493
+ * Class implementation of the `CollapsibleGroupElement` interface.
1494
+ *
1495
+ * @remarks
1496
+ * Collapsible disclosure container (accordion) with summary badge.
1497
+ */
1498
+ export declare class CollapsibleGroupElementClass extends BaseUiElement<CollapsibleGroupElement> implements CollapsibleGroupElement {
1499
+ /**
1500
+ * The discriminator type tag.
1501
+ *
1502
+ * @defaultValue "collapsible-group"
1503
+ */
1504
+ readonly type: "collapsible-group";
1505
+ /** Group title (e.g. "Show specimen details") */
1506
+ readonly title: string;
1507
+ /** Nested content elements revealed when expanded */
1508
+ readonly elements: UiElement[];
1509
+ /** Secondary summary indicator (e.g. "2 neutral values") */
1510
+ readonly summary?: string;
1511
+ /**
1512
+ * Whether the disclosure is open/expanded by default
1513
+ *
1514
+ * @defaultValue false
1515
+ */
1516
+ readonly defaultExpanded?: boolean;
1517
+ /**
1518
+ * Initializes a new `CollapsibleGroupElementClass` instance.
1519
+ *
1520
+ * @param title - Group title (e.g. "Show specimen details")
1521
+ * @param elements - Nested content elements revealed when expanded
1522
+ * @param options - Optional property overrides.
1523
+ */
1524
+ constructor(title: string, elements: UiElement[], options?: {
1525
+ summary?: string;
1526
+ defaultExpanded?: boolean;
1527
+ });
1528
+ }
1529
+ /**
1530
+ * Class implementation of the `DividerElement` interface.
1531
+ *
1532
+ * @remarks
1533
+ * Visual hairline separator separating sections or element groups.
1534
+ */
1535
+ export declare class DividerElementClass extends BaseUiElement<DividerElement> implements DividerElement {
1536
+ /**
1537
+ * The discriminator type tag.
1538
+ *
1539
+ * @defaultValue "divider"
1540
+ */
1541
+ readonly type: "divider";
1542
+ /**
1543
+ * Line styling
1544
+ *
1545
+ * @defaultValue DividerStyle.hairline
1546
+ */
1547
+ readonly style?: DividerStyle;
1548
+ /**
1549
+ * Initializes a new `DividerElementClass` instance.
1550
+ *
1551
+ * @param options - Optional property overrides.
1552
+ */
1553
+ constructor(options?: {
1554
+ style?: DividerStyle;
1555
+ });
1556
+ }
1557
+ /**
1558
+ * Fluent builder for constructing strongly-typed `FeatureBlock` card instances.
1559
+ *
1560
+ * @remarks
1561
+ * Root Feature Block container model.
1562
+ * Represents a complete feature card rendered inside the 360px panel.
1563
+ */
1564
+ export declare class FeatureBlockBuilder {
1565
+ private readonly _title;
1566
+ private _description?;
1567
+ private readonly _elements;
1568
+ private readonly _actions;
1569
+ /**
1570
+ * Initializes a new `FeatureBlockBuilder` with mandatory card properties.
1571
+ *
1572
+ * @param title - Human-readable feature title displayed in the card header
1573
+ */
1574
+ constructor(title: string);
1575
+ /**
1576
+ * Sets the `description` property on this card.
1577
+ *
1578
+ * @param description - Optional neutral subtitle / description for the feature
1579
+ * @returns This builder instance for method chaining.
1580
+ */
1581
+ description(description: string): this;
1582
+ /**
1583
+ * Appends a visual element to the card.
1584
+ *
1585
+ * @param element - The visual UI element component to add.
1586
+ * @returns This builder instance for method chaining.
1587
+ */
1588
+ add(element: UiElement): this;
1589
+ /**
1590
+ * Appends multiple elements items to the card.
1591
+ *
1592
+ * @param items - The `UiElement` items to add.
1593
+ * @returns This builder instance for method chaining.
1594
+ */
1595
+ addElements(...items: UiElement[]): this;
1596
+ /**
1597
+ * Appends multiple actions items to the card.
1598
+ *
1599
+ * @param items - The `ActionElement` items to add.
1600
+ * @returns This builder instance for method chaining.
1601
+ */
1602
+ addActions(...items: ActionElement[]): this;
1603
+ /**
1604
+ * Appends a single action to the card.
1605
+ *
1606
+ * @param item - The `ActionElement` item to add.
1607
+ * @returns This builder instance for method chaining.
1608
+ */
1609
+ addAction(item: ActionElement): this;
1610
+ /**
1611
+ * Appends a `StringShortElement` component to this feature card.
1612
+ *
1613
+ * @remarks
1614
+ * Short string primitive element.
1615
+ * Supports plain text or compact chip pill presentation.
1616
+ *
1617
+ * @param value - Text value
1618
+ * @param options - Optional component settings.
1619
+ * @returns This builder instance for method chaining.
1620
+ */
1621
+ addStringShort(value: string, options?: {
1622
+ representation?: StringShortRepresentation;
1623
+ modifiers?: PrimitiveModifiers;
1624
+ }): this;
1625
+ /**
1626
+ * Appends a `StringLongElement` component to this feature card.
1627
+ *
1628
+ * @remarks
1629
+ * Multiline text block primitive element for descriptions, comments, or prose.
1630
+ *
1631
+ * @param value - Text value
1632
+ * @param options - Optional component settings.
1633
+ * @returns This builder instance for method chaining.
1634
+ */
1635
+ addStringLong(value: string, options?: {
1636
+ modifiers?: PrimitiveModifiers;
1637
+ }): this;
1638
+ /**
1639
+ * Appends a `StringCodeElement` component to this feature card.
1640
+ *
1641
+ * @remarks
1642
+ * Monospace code block or formatted code snippet representation.
1643
+ *
1644
+ * @param value - Text value
1645
+ * @param options - Optional component settings.
1646
+ * @returns This builder instance for method chaining.
1647
+ */
1648
+ addStringCode(value: string, options?: {
1649
+ language?: string;
1650
+ modifiers?: PrimitiveModifiers;
1651
+ }): this;
1652
+ /**
1653
+ * Appends a `StringUrlElement` component to this feature card.
1654
+ *
1655
+ * @remarks
1656
+ * Hyperlink representation for external or internal URL navigation.
1657
+ *
1658
+ * @param value - Target URL or navigation destination
1659
+ * @param options - Optional component settings.
1660
+ * @returns This builder instance for method chaining.
1661
+ */
1662
+ addStringUrl(value: string, options?: {
1663
+ label?: string;
1664
+ modifiers?: PrimitiveModifiers;
1665
+ }): this;
1666
+ /**
1667
+ * Appends a `IdentifierElement` component to this feature card.
1668
+ *
1669
+ * @remarks
1670
+ * Monospace semantic identifier representation.
1671
+ *
1672
+ * @param value - Identifier string value
1673
+ * @param options - Optional component settings.
1674
+ * @returns This builder instance for method chaining.
1675
+ */
1676
+ addIdentifier(value: string, options?: {
1677
+ modifiers?: PrimitiveModifiers;
1678
+ }): this;
1679
+ /**
1680
+ * Appends a `RatioElement` component to this feature card.
1681
+ *
1682
+ * @remarks
1683
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
1684
+ *
1685
+ * @param value - Aspect ratio textual expression
1686
+ * @param options - Optional component settings.
1687
+ * @returns This builder instance for method chaining.
1688
+ */
1689
+ addRatio(value: string, options?: {
1690
+ modifiers?: PrimitiveModifiers;
1691
+ }): this;
1692
+ /**
1693
+ * Appends a `ColourElement` component to this feature card.
1694
+ *
1695
+ * @remarks
1696
+ * Single color swatch representation with hex value and copy affordance.
1697
+ *
1698
+ * @param value - Hexadecimal color code
1699
+ * @param options - Optional component settings.
1700
+ * @returns This builder instance for method chaining.
1701
+ */
1702
+ addColour(value: string, options?: {
1703
+ modifiers?: PrimitiveModifiers;
1704
+ }): this;
1705
+ /**
1706
+ * Appends a `ColourElement` component to this feature card.
1707
+ *
1708
+ * @remarks
1709
+ * Single color swatch representation with hex value and copy affordance.
1710
+ *
1711
+ * @param value - Hexadecimal color code
1712
+ * @param options - Optional component settings.
1713
+ * @returns This builder instance for method chaining.
1714
+ */
1715
+ addColorSwatch(value: string, options?: {
1716
+ modifiers?: PrimitiveModifiers;
1717
+ }): this;
1718
+ /**
1719
+ * Appends a `NumberUnboundedElement` component to this feature card.
1720
+ *
1721
+ * @remarks
1722
+ * Plain unbounded numeric value primitive element.
1723
+ *
1724
+ * @param value - Numeric value
1725
+ * @param options - Optional component settings.
1726
+ * @returns This builder instance for method chaining.
1727
+ */
1728
+ addNumberUnbounded(value: number, options?: {
1729
+ unit?: string;
1730
+ modifiers?: PrimitiveModifiers;
1731
+ }): this;
1732
+ /**
1733
+ * Appends a `NumberBoundedStarsElement` component to this feature card.
1734
+ *
1735
+ * @remarks
1736
+ * Bounded numeric rating represented as visual stars.
1737
+ *
1738
+ * @param value - Numeric rating score
1739
+ * @param options - Optional component settings.
1740
+ * @returns This builder instance for method chaining.
1741
+ */
1742
+ addNumberBoundedStars(value: number, options?: {
1743
+ maximum?: number;
1744
+ modifiers?: PrimitiveModifiers;
1745
+ }): this;
1746
+ /**
1747
+ * Appends a `NumberBoundedStarsElement` component to this feature card.
1748
+ *
1749
+ * @remarks
1750
+ * Bounded numeric rating represented as visual stars.
1751
+ *
1752
+ * @param value - Numeric rating score
1753
+ * @param options - Optional component settings.
1754
+ * @returns This builder instance for method chaining.
1755
+ */
1756
+ addNumberStars(value: number, options?: {
1757
+ maximum?: number;
1758
+ modifiers?: PrimitiveModifiers;
1759
+ }): this;
1760
+ /**
1761
+ * Appends a `NumberBoundedMeterElement` component to this feature card.
1762
+ *
1763
+ * @remarks
1764
+ * Bounded numeric meter representation (read-only progress / score bar).
1765
+ *
1766
+ * @param value - Numeric value
1767
+ * @param options - Optional component settings.
1768
+ * @returns This builder instance for method chaining.
1769
+ */
1770
+ addNumberBoundedMeter(value: number, options?: {
1771
+ minimum?: number;
1772
+ maximum?: number;
1773
+ label?: string;
1774
+ unit?: string;
1775
+ modifiers?: PrimitiveModifiers;
1776
+ }): this;
1777
+ /**
1778
+ * Appends a `NumberBoundedMeterElement` component to this feature card.
1779
+ *
1780
+ * @remarks
1781
+ * Bounded numeric meter representation (read-only progress / score bar).
1782
+ *
1783
+ * @param value - Numeric value
1784
+ * @param options - Optional component settings.
1785
+ * @returns This builder instance for method chaining.
1786
+ */
1787
+ addNumberMeter(value: number, options?: {
1788
+ minimum?: number;
1789
+ maximum?: number;
1790
+ label?: string;
1791
+ unit?: string;
1792
+ modifiers?: PrimitiveModifiers;
1793
+ }): this;
1794
+ /**
1795
+ * Appends a `BooleanPlainElement` component to this feature card.
1796
+ *
1797
+ * @remarks
1798
+ * Plain boolean value representation (textual "true" / "false").
1799
+ *
1800
+ * @param value - Boolean state value
1801
+ * @param options - Optional component settings.
1802
+ * @returns This builder instance for method chaining.
1803
+ */
1804
+ addBooleanPlain(value: boolean, options?: {
1805
+ modifiers?: PrimitiveModifiers;
1806
+ }): this;
1807
+ /**
1808
+ * Appends a `BooleanBadgeElement` component to this feature card.
1809
+ *
1810
+ * @remarks
1811
+ * Visual badge pill representation of a boolean state.
1812
+ *
1813
+ * @param value - Boolean state value
1814
+ * @param options - Optional component settings.
1815
+ * @returns This builder instance for method chaining.
1816
+ */
1817
+ addBooleanBadge(value: boolean, options?: {
1818
+ trueLabel?: string;
1819
+ falseLabel?: string;
1820
+ variant?: BadgeVariant;
1821
+ modifiers?: PrimitiveModifiers;
1822
+ }): this;
1823
+ /**
1824
+ * Appends a `TimestampElement` component to this feature card.
1825
+ *
1826
+ * @remarks
1827
+ * Formatted date and time representation.
1828
+ *
1829
+ * @param value - ISO 8601 date string or epoch timestamp in milliseconds
1830
+ * @param options - Optional component settings.
1831
+ * @returns This builder instance for method chaining.
1832
+ */
1833
+ addTimestamp(value: string, options?: {
1834
+ format?: TimestampFormat;
1835
+ modifiers?: PrimitiveModifiers;
1836
+ }): this;
1837
+ /**
1838
+ * Appends a `ImageReferenceElement` component to this feature card.
1839
+ *
1840
+ * @remarks
1841
+ * Thumbnail image reference with placeholder fallback handling.
1842
+ *
1843
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
1844
+ * @param options - Optional component settings.
1845
+ * @returns This builder instance for method chaining.
1846
+ */
1847
+ addImageReference(src: string, options?: {
1848
+ alt?: string;
1849
+ aspectRatio?: string;
1850
+ placeholder?: string;
1851
+ }): this;
1852
+ /**
1853
+ * Appends a `ImageReferenceElement` component to this feature card.
1854
+ *
1855
+ * @remarks
1856
+ * Thumbnail image reference with placeholder fallback handling.
1857
+ *
1858
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
1859
+ * @param options - Optional component settings.
1860
+ * @returns This builder instance for method chaining.
1861
+ */
1862
+ addImageRef(src: string, options?: {
1863
+ alt?: string;
1864
+ aspectRatio?: string;
1865
+ placeholder?: string;
1866
+ }): this;
1867
+ /**
1868
+ * Appends a `DominantColourSetElement` component to this feature card.
1869
+ *
1870
+ * @remarks
1871
+ * Dominant color set palette rendered in descending dominance order.
1872
+ *
1873
+ * @param colors - List of hexadecimal color strings in descending priority
1874
+ * @returns This builder instance for method chaining.
1875
+ */
1876
+ addDominantColourSet(colors: string[]): this;
1877
+ /**
1878
+ * Appends a `DominantColourSetElement` component to this feature card.
1879
+ *
1880
+ * @remarks
1881
+ * Dominant color set palette rendered in descending dominance order.
1882
+ *
1883
+ * @param colors - List of hexadecimal color strings in descending priority
1884
+ * @returns This builder instance for method chaining.
1885
+ */
1886
+ addDominantColors(colors: string[]): this;
1887
+ /**
1888
+ * Appends a `MarkdownBlockElement` component to this feature card.
1889
+ *
1890
+ * @remarks
1891
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
1892
+ *
1893
+ * @param content - Raw Markdown markup content
1894
+ * @returns This builder instance for method chaining.
1895
+ */
1896
+ addMarkdownBlock(content: string): this;
1897
+ /**
1898
+ * Appends a `MarkdownBlockElement` component to this feature card.
1899
+ *
1900
+ * @remarks
1901
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
1902
+ *
1903
+ * @param content - Raw Markdown markup content
1904
+ * @returns This builder instance for method chaining.
1905
+ */
1906
+ addMarkdown(content: string): this;
1907
+ /**
1908
+ * Appends a `HtmlBlockElement` component to this feature card.
1909
+ *
1910
+ * @remarks
1911
+ * Sandboxed HTML rendering escape hatch.
1912
+ *
1913
+ * @param content - Raw HTML markup content
1914
+ * @returns This builder instance for method chaining.
1915
+ */
1916
+ addHtmlBlock(content: string): this;
1917
+ /**
1918
+ * Appends a `HtmlBlockElement` component to this feature card.
1919
+ *
1920
+ * @remarks
1921
+ * Sandboxed HTML rendering escape hatch.
1922
+ *
1923
+ * @param content - Raw HTML markup content
1924
+ * @returns This builder instance for method chaining.
1925
+ */
1926
+ addHtml(content: string): this;
1927
+ /**
1928
+ * Appends a `MultiSlotRowElement` component to this feature card.
1929
+ *
1930
+ * @remarks
1931
+ * Multi-slot horizontal row with declared column width proportions.
1932
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
1933
+ *
1934
+ * @param slots - List of slots comprising the row
1935
+ * @param options - Optional component settings.
1936
+ * @returns This builder instance for method chaining.
1937
+ */
1938
+ addMultiSlotRow(slots: Slot[], options?: {
1939
+ proportions?: string;
1940
+ }): this;
1941
+ /**
1942
+ * Appends a `MultiSlotRowElement` component to this feature card.
1943
+ *
1944
+ * @remarks
1945
+ * Multi-slot horizontal row with declared column width proportions.
1946
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
1947
+ *
1948
+ * @param slots - List of slots comprising the row
1949
+ * @param options - Optional component settings.
1950
+ * @returns This builder instance for method chaining.
1951
+ */
1952
+ addMultiSlot(slots: Slot[], options?: {
1953
+ proportions?: string;
1954
+ }): this;
1955
+ /**
1956
+ * Appends a `LabelValueRowElement` component to this feature card.
1957
+ *
1958
+ * @remarks
1959
+ * Standard label and value row.
1960
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
1961
+ *
1962
+ * @param label - Key or descriptive label displayed muted on the left
1963
+ * @param value - Rendered value element on the right
1964
+ * @param options - Optional component settings.
1965
+ * @returns This builder instance for method chaining.
1966
+ */
1967
+ addLabelValueRow(label: string, value: UiElement, options?: {
1968
+ withDivider?: boolean;
1969
+ }): this;
1970
+ /**
1971
+ * Appends a `LabelValueRowElement` component to this feature card.
1972
+ *
1973
+ * @remarks
1974
+ * Standard label and value row.
1975
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
1976
+ *
1977
+ * @param label - Key or descriptive label displayed muted on the left
1978
+ * @param value - Rendered value element on the right
1979
+ * @param options - Optional component settings.
1980
+ * @returns This builder instance for method chaining.
1981
+ */
1982
+ addLabelValue(label: string, value: UiElement, options?: {
1983
+ withDivider?: boolean;
1984
+ }): this;
1985
+ /**
1986
+ * Appends a `TableElement` component to this feature card.
1987
+ *
1988
+ * @remarks
1989
+ * Structured tabular data representation.
1990
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
1991
+ *
1992
+ * @param rows - Tabular data rows
1993
+ * @param options - Optional component settings.
1994
+ * @returns This builder instance for method chaining.
1995
+ */
1996
+ addTable(rows: TableRow[], options?: {
1997
+ hasHeader?: boolean;
1998
+ columns?: TableColumn[];
1999
+ maxColumns?: number;
2000
+ }): this;
2001
+ /**
2002
+ * Appends a `RepeatingGroupElement` component to this feature card.
2003
+ *
2004
+ * @remarks
2005
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
2006
+ *
2007
+ * @param entries - List of repeated entry records
2008
+ * @param options - Optional component settings.
2009
+ * @returns This builder instance for method chaining.
2010
+ */
2011
+ addRepeatingGroup(entries: RepeatingGroupEntry[], options?: {
2012
+ title?: string;
2013
+ }): this;
2014
+ /**
2015
+ * Appends a `CollapsibleGroupElement` component to this feature card.
2016
+ *
2017
+ * @remarks
2018
+ * Collapsible disclosure container (accordion) with summary badge.
2019
+ *
2020
+ * @param title - Group title (e.g. "Show specimen details")
2021
+ * @param elements - Nested content elements revealed when expanded
2022
+ * @param options - Optional component settings.
2023
+ * @returns This builder instance for method chaining.
2024
+ */
2025
+ addCollapsibleGroup(title: string, elements: UiElement[], options?: {
2026
+ summary?: string;
2027
+ defaultExpanded?: boolean;
2028
+ }): this;
2029
+ /**
2030
+ * Appends a `DividerElement` component to this feature card.
2031
+ *
2032
+ * @remarks
2033
+ * Visual hairline separator separating sections or element groups.
2034
+ *
2035
+ * @param options - Optional component settings.
2036
+ * @returns This builder instance for method chaining.
2037
+ */
2038
+ addDivider(options?: {
2039
+ style?: DividerStyle;
2040
+ }): this;
2041
+ /**
2042
+ * Finalizes and returns the complete strongly-typed `FeatureBlock` card object.
2043
+ *
2044
+ * @returns The constructed `FeatureBlock` object.
2045
+ */
2046
+ build(): FeatureBlock;
2047
+ }
2048
+ /** Static helper factory object for `FeatureBlock`. */
2049
+ export declare const FeatureBlock: {
2050
+ /**
2051
+ * Creates a new fluent builder for constructing a `FeatureBlock`.
2052
+ *
2053
+ * @param title - Human-readable feature title displayed in the card header
2054
+ * @returns A new `FeatureBlockBuilder` instance.
2055
+ */
2056
+ builder(title: string): FeatureBlockBuilder;
2057
+ /**
2058
+ * Creates a `FeatureBlock` directly from a properties object.
2059
+ *
2060
+ * @param params - Card configuration properties.
2061
+ * @returns A completed `FeatureBlock` object.
2062
+ */
2063
+ create(params: {
2064
+ title: string;
2065
+ description?: string;
2066
+ elements: UiElement[];
2067
+ actions?: ActionElement[];
2068
+ }): FeatureBlock;
2069
+ };
2070
+ /**
2071
+ * Functional helper to create a `FeatureBlock` instance directly.
2072
+ *
2073
+ * @remarks
2074
+ * Root Feature Block container model.
2075
+ * Represents a complete feature card rendered inside the 360px panel.
2076
+ *
2077
+ * @param title - Human-readable feature title displayed in the card header
2078
+ * @param options - Optional card configuration (description, attribution, elements, actions).
2079
+ * @returns A strongly-typed `FeatureBlock` card.
2080
+ */
2081
+ export declare function createFeatureBlock(title: string, options?: {
2082
+ description?: string;
2083
+ elements?: UiElement[];
2084
+ actions?: ActionElement[];
2085
+ }): FeatureBlock;
2086
+ /**
2087
+ * Creates a `TruncateOptions` component instance.
2088
+ *
2089
+ * @remarks
2090
+ * Truncation configuration for long textual content with optional expand affordance.
2091
+ *
2092
+ * @param characterLimit - Maximum number of characters to display before truncating
2093
+ * @param options - Optional settings (showMore (defaults to `true`)).
2094
+ * @returns A strongly-typed `TruncateOptions` object.
2095
+ */
2096
+ export declare function truncateOptions(characterLimit: number, options?: {
2097
+ showMore?: boolean;
2098
+ }): TruncateOptions;
2099
+ /**
2100
+ * Creates a `PrimitiveModifiers` component instance.
2101
+ *
2102
+ * @remarks
2103
+ * Common modifier traits that can be attached to primitive elements.
2104
+ *
2105
+ * @param options - Optional settings (copyable, truncate, emphasis (defaults to `normal`), monospace (defaults to `false`)).
2106
+ * @returns A strongly-typed `PrimitiveModifiers` object.
2107
+ */
2108
+ export declare function primitiveModifiers(options?: {
2109
+ copyable?: boolean;
2110
+ truncate?: TruncateOptions;
2111
+ emphasis?: Emphasis;
2112
+ monospace?: boolean;
2113
+ }): PrimitiveModifiers;
2114
+ /**
2115
+ * Creates a `StringShortElement` component instance.
2116
+ *
2117
+ * @remarks
2118
+ * Short string primitive element.
2119
+ * Supports plain text or compact chip pill presentation.
2120
+ *
2121
+ * @param value - Text value
2122
+ * @param options - Optional settings (representation (defaults to `plain`), modifiers).
2123
+ * @returns A strongly-typed `StringShortElement` object.
2124
+ */
2125
+ export declare function stringShort(value: string, options?: {
2126
+ representation?: StringShortRepresentation;
2127
+ modifiers?: PrimitiveModifiers;
2128
+ }): StringShortElement;
2129
+ /**
2130
+ * Creates a `StringLongElement` component instance.
2131
+ *
2132
+ * @remarks
2133
+ * Multiline text block primitive element for descriptions, comments, or prose.
2134
+ *
2135
+ * @param value - Text value
2136
+ * @param options - Optional settings (modifiers).
2137
+ * @returns A strongly-typed `StringLongElement` object.
2138
+ */
2139
+ export declare function stringLong(value: string, options?: {
2140
+ modifiers?: PrimitiveModifiers;
2141
+ }): StringLongElement;
2142
+ /**
2143
+ * Creates a `StringCodeElement` component instance.
2144
+ *
2145
+ * @remarks
2146
+ * Monospace code block or formatted code snippet representation.
2147
+ *
2148
+ * @param value - Text value
2149
+ * @param options - Optional settings (language, modifiers).
2150
+ * @returns A strongly-typed `StringCodeElement` object.
2151
+ */
2152
+ export declare function stringCode(value: string, options?: {
2153
+ language?: string;
2154
+ modifiers?: PrimitiveModifiers;
2155
+ }): StringCodeElement;
2156
+ /**
2157
+ * Creates a `StringUrlElement` component instance.
2158
+ *
2159
+ * @remarks
2160
+ * Hyperlink representation for external or internal URL navigation.
2161
+ *
2162
+ * @param value - Target URL or navigation destination
2163
+ * @param options - Optional settings (label, modifiers).
2164
+ * @returns A strongly-typed `StringUrlElement` object.
2165
+ */
2166
+ export declare function stringUrl(value: string, options?: {
2167
+ label?: string;
2168
+ modifiers?: PrimitiveModifiers;
2169
+ }): StringUrlElement;
2170
+ /**
2171
+ * Creates a `IdentifierElement` component instance.
2172
+ *
2173
+ * @remarks
2174
+ * Monospace semantic identifier representation.
2175
+ *
2176
+ * @param value - Identifier string value
2177
+ * @param options - Optional settings (modifiers).
2178
+ * @returns A strongly-typed `IdentifierElement` object.
2179
+ */
2180
+ export declare function identifier(value: string, options?: {
2181
+ modifiers?: PrimitiveModifiers;
2182
+ }): IdentifierElement;
2183
+ /**
2184
+ * Creates a `RatioElement` component instance.
2185
+ *
2186
+ * @remarks
2187
+ * Aspect ratio representation (e.g. "16:9", "4:3", "1:1").
2188
+ *
2189
+ * @param value - Aspect ratio textual expression
2190
+ * @param options - Optional settings (modifiers).
2191
+ * @returns A strongly-typed `RatioElement` object.
2192
+ */
2193
+ export declare function ratio(value: string, options?: {
2194
+ modifiers?: PrimitiveModifiers;
2195
+ }): RatioElement;
2196
+ /**
2197
+ * Creates a `ColourElement` component instance.
2198
+ *
2199
+ * @remarks
2200
+ * Single color swatch representation with hex value and copy affordance.
2201
+ *
2202
+ * @param value - Hexadecimal color code
2203
+ * @param options - Optional settings (modifiers).
2204
+ * @returns A strongly-typed `ColourElement` object.
2205
+ */
2206
+ export declare function colour(value: string, options?: {
2207
+ modifiers?: PrimitiveModifiers;
2208
+ }): ColourElement;
2209
+ /**
2210
+ * Creates a `ColourElement` component instance.
2211
+ *
2212
+ * @remarks
2213
+ * Single color swatch representation with hex value and copy affordance.
2214
+ *
2215
+ * @param value - Hexadecimal color code
2216
+ * @param options - Optional settings (modifiers).
2217
+ * @returns A strongly-typed `ColourElement` object.
2218
+ */
2219
+ export declare function colorSwatch(value: string, options?: {
2220
+ modifiers?: PrimitiveModifiers;
2221
+ }): ColourElement;
2222
+ /**
2223
+ * Creates a `NumberUnboundedElement` component instance.
2224
+ *
2225
+ * @remarks
2226
+ * Plain unbounded numeric value primitive element.
2227
+ *
2228
+ * @param value - Numeric value
2229
+ * @param options - Optional settings (unit, modifiers).
2230
+ * @returns A strongly-typed `NumberUnboundedElement` object.
2231
+ */
2232
+ export declare function numberUnbounded(value: number, options?: {
2233
+ unit?: string;
2234
+ modifiers?: PrimitiveModifiers;
2235
+ }): NumberUnboundedElement;
2236
+ /**
2237
+ * Creates a `NumberBoundedStarsElement` component instance.
2238
+ *
2239
+ * @remarks
2240
+ * Bounded numeric rating represented as visual stars.
2241
+ *
2242
+ * @param value - Numeric rating score
2243
+ * @param options - Optional settings (maximum, modifiers).
2244
+ * @returns A strongly-typed `NumberBoundedStarsElement` object.
2245
+ */
2246
+ export declare function numberBoundedStars(value: number, options?: {
2247
+ maximum?: number;
2248
+ modifiers?: PrimitiveModifiers;
2249
+ }): NumberBoundedStarsElement;
2250
+ /**
2251
+ * Creates a `NumberBoundedStarsElement` component instance.
2252
+ *
2253
+ * @remarks
2254
+ * Bounded numeric rating represented as visual stars.
2255
+ *
2256
+ * @param value - Numeric rating score
2257
+ * @param options - Optional settings (maximum, modifiers).
2258
+ * @returns A strongly-typed `NumberBoundedStarsElement` object.
2259
+ */
2260
+ export declare function numberStars(value: number, options?: {
2261
+ maximum?: number;
2262
+ modifiers?: PrimitiveModifiers;
2263
+ }): NumberBoundedStarsElement;
2264
+ /**
2265
+ * Creates a `NumberBoundedMeterElement` component instance.
2266
+ *
2267
+ * @remarks
2268
+ * Bounded numeric meter representation (read-only progress / score bar).
2269
+ *
2270
+ * @param value - Numeric value
2271
+ * @param options - Optional settings (minimum, maximum, label, unit, modifiers).
2272
+ * @returns A strongly-typed `NumberBoundedMeterElement` object.
2273
+ */
2274
+ export declare function numberBoundedMeter(value: number, options?: {
2275
+ minimum?: number;
2276
+ maximum?: number;
2277
+ label?: string;
2278
+ unit?: string;
2279
+ modifiers?: PrimitiveModifiers;
2280
+ }): NumberBoundedMeterElement;
2281
+ /**
2282
+ * Creates a `NumberBoundedMeterElement` component instance.
2283
+ *
2284
+ * @remarks
2285
+ * Bounded numeric meter representation (read-only progress / score bar).
2286
+ *
2287
+ * @param value - Numeric value
2288
+ * @param options - Optional settings (minimum, maximum, label, unit, modifiers).
2289
+ * @returns A strongly-typed `NumberBoundedMeterElement` object.
2290
+ */
2291
+ export declare function numberMeter(value: number, options?: {
2292
+ minimum?: number;
2293
+ maximum?: number;
2294
+ label?: string;
2295
+ unit?: string;
2296
+ modifiers?: PrimitiveModifiers;
2297
+ }): NumberBoundedMeterElement;
2298
+ /**
2299
+ * Creates a `BooleanPlainElement` component instance.
2300
+ *
2301
+ * @remarks
2302
+ * Plain boolean value representation (textual "true" / "false").
2303
+ *
2304
+ * @param value - Boolean state value
2305
+ * @param options - Optional settings (modifiers).
2306
+ * @returns A strongly-typed `BooleanPlainElement` object.
2307
+ */
2308
+ export declare function booleanPlain(value: boolean, options?: {
2309
+ modifiers?: PrimitiveModifiers;
2310
+ }): BooleanPlainElement;
2311
+ /**
2312
+ * Creates a `BooleanBadgeElement` component instance.
2313
+ *
2314
+ * @remarks
2315
+ * Visual badge pill representation of a boolean state.
2316
+ *
2317
+ * @param value - Boolean state value
2318
+ * @param options - Optional settings (trueLabel (defaults to `true`), falseLabel (defaults to `false`), variant (defaults to `neutral`), modifiers).
2319
+ * @returns A strongly-typed `BooleanBadgeElement` object.
2320
+ */
2321
+ export declare function booleanBadge(value: boolean, options?: {
2322
+ trueLabel?: string;
2323
+ falseLabel?: string;
2324
+ variant?: BadgeVariant;
2325
+ modifiers?: PrimitiveModifiers;
2326
+ }): BooleanBadgeElement;
2327
+ /**
2328
+ * Creates a `TimestampElement` component instance.
2329
+ *
2330
+ * @remarks
2331
+ * Formatted date and time representation.
2332
+ *
2333
+ * @param value - ISO 8601 date string or epoch timestamp in milliseconds
2334
+ * @param options - Optional settings (format (defaults to `full`), modifiers).
2335
+ * @returns A strongly-typed `TimestampElement` object.
2336
+ */
2337
+ export declare function timestamp(value: string, options?: {
2338
+ format?: TimestampFormat;
2339
+ modifiers?: PrimitiveModifiers;
2340
+ }): TimestampElement;
2341
+ /**
2342
+ * Creates a `ImageReferenceElement` component instance.
2343
+ *
2344
+ * @remarks
2345
+ * Thumbnail image reference with placeholder fallback handling.
2346
+ *
2347
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2348
+ * @param options - Optional settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2349
+ * @returns A strongly-typed `ImageReferenceElement` object.
2350
+ */
2351
+ export declare function imageReference(src: string, options?: {
2352
+ alt?: string;
2353
+ aspectRatio?: string;
2354
+ placeholder?: string;
2355
+ }): ImageReferenceElement;
2356
+ /**
2357
+ * Creates a `ImageReferenceElement` component instance.
2358
+ *
2359
+ * @remarks
2360
+ * Thumbnail image reference with placeholder fallback handling.
2361
+ *
2362
+ * @param src - Image source URI (HTTPS URL, base64 data URI, or asset path)
2363
+ * @param options - Optional settings (alt, aspectRatio (defaults to `1:1`), placeholder).
2364
+ * @returns A strongly-typed `ImageReferenceElement` object.
2365
+ */
2366
+ export declare function imageRef(src: string, options?: {
2367
+ alt?: string;
2368
+ aspectRatio?: string;
2369
+ placeholder?: string;
2370
+ }): ImageReferenceElement;
2371
+ /**
2372
+ * Creates a `DominantColourSetElement` component instance.
2373
+ *
2374
+ * @remarks
2375
+ * Dominant color set palette rendered in descending dominance order.
2376
+ *
2377
+ * @param colors - List of hexadecimal color strings in descending priority
2378
+ * @returns A strongly-typed `DominantColourSetElement` object.
2379
+ */
2380
+ export declare function dominantColourSet(colors: string[]): DominantColourSetElement;
2381
+ /**
2382
+ * Creates a `DominantColourSetElement` component instance.
2383
+ *
2384
+ * @remarks
2385
+ * Dominant color set palette rendered in descending dominance order.
2386
+ *
2387
+ * @param colors - List of hexadecimal color strings in descending priority
2388
+ * @returns A strongly-typed `DominantColourSetElement` object.
2389
+ */
2390
+ export declare function dominantColors(colors: string[]): DominantColourSetElement;
2391
+ /**
2392
+ * Creates a `ButtonActionElement` component instance.
2393
+ *
2394
+ * @remarks
2395
+ * Interactive button action triggering an extension command.
2396
+ *
2397
+ * @param commandId - Command identifier to invoke
2398
+ * @param label - Display label for the action
2399
+ * @param options - Optional settings (extensionId, target, parameters, disabled (defaults to `false`), variant (defaults to `secondary`)).
2400
+ * @returns A strongly-typed `ButtonActionElement` object.
2401
+ */
2402
+ export declare function buttonAction(commandId: string, label: string, options?: {
2403
+ extensionId?: string;
2404
+ target?: string;
2405
+ parameters?: Record<string, unknown>;
2406
+ disabled?: boolean;
2407
+ variant?: ButtonVariant;
2408
+ }): ButtonActionElement;
2409
+ /**
2410
+ * Creates a `ExternalLinkActionElement` component instance.
2411
+ *
2412
+ * @remarks
2413
+ * External link action distinct from inline URL text values.
2414
+ *
2415
+ * @param url - Target URL destination
2416
+ * @param label - Display label for the action
2417
+ * @returns A strongly-typed `ExternalLinkActionElement` object.
2418
+ */
2419
+ export declare function externalLinkAction(url: string, label: string): ExternalLinkActionElement;
2420
+ /**
2421
+ * Creates a `MarkdownBlockElement` component instance.
2422
+ *
2423
+ * @remarks
2424
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2425
+ *
2426
+ * @param content - Raw Markdown markup content
2427
+ * @returns A strongly-typed `MarkdownBlockElement` object.
2428
+ */
2429
+ export declare function markdownBlock(content: string): MarkdownBlockElement;
2430
+ /**
2431
+ * Creates a `MarkdownBlockElement` component instance.
2432
+ *
2433
+ * @remarks
2434
+ * Full Markdown fallback block rendered with core typographic hierarchy, spacing, and styling.
2435
+ *
2436
+ * @param content - Raw Markdown markup content
2437
+ * @returns A strongly-typed `MarkdownBlockElement` object.
2438
+ */
2439
+ export declare function markdown(content: string): MarkdownBlockElement;
2440
+ /**
2441
+ * Creates a `HtmlBlockElement` component instance.
2442
+ *
2443
+ * @remarks
2444
+ * Sandboxed HTML rendering escape hatch.
2445
+ *
2446
+ * @param content - Raw HTML markup content
2447
+ * @returns A strongly-typed `HtmlBlockElement` object.
2448
+ */
2449
+ export declare function htmlBlock(content: string): HtmlBlockElement;
2450
+ /**
2451
+ * Creates a `HtmlBlockElement` component instance.
2452
+ *
2453
+ * @remarks
2454
+ * Sandboxed HTML rendering escape hatch.
2455
+ *
2456
+ * @param content - Raw HTML markup content
2457
+ * @returns A strongly-typed `HtmlBlockElement` object.
2458
+ */
2459
+ export declare function html(content: string): HtmlBlockElement;
2460
+ /**
2461
+ * Creates a `Slot` component instance.
2462
+ *
2463
+ * @remarks
2464
+ * Single slot within a multi-slot horizontal row layout.
2465
+ *
2466
+ * @param content - Rendered content inside the slot
2467
+ * @param options - Optional settings (label, width).
2468
+ * @returns A strongly-typed `Slot` object.
2469
+ */
2470
+ export declare function slot(content: UiElement, options?: {
2471
+ label?: string;
2472
+ width?: string;
2473
+ }): Slot;
2474
+ /**
2475
+ * Creates a `MultiSlotRowElement` component instance.
2476
+ *
2477
+ * @remarks
2478
+ * Multi-slot horizontal row with declared column width proportions.
2479
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
2480
+ *
2481
+ * @param slots - List of slots comprising the row
2482
+ * @param options - Optional settings (proportions).
2483
+ * @returns A strongly-typed `MultiSlotRowElement` object.
2484
+ */
2485
+ export declare function multiSlotRow(slots: Slot[], options?: {
2486
+ proportions?: string;
2487
+ }): MultiSlotRowElement;
2488
+ /**
2489
+ * Creates a `MultiSlotRowElement` component instance.
2490
+ *
2491
+ * @remarks
2492
+ * Multi-slot horizontal row with declared column width proportions.
2493
+ * Examples: "1/3 + 2/3", "equal thirds", "1/4 + 3/4".
2494
+ *
2495
+ * @param slots - List of slots comprising the row
2496
+ * @param options - Optional settings (proportions).
2497
+ * @returns A strongly-typed `MultiSlotRowElement` object.
2498
+ */
2499
+ export declare function multiSlot(slots: Slot[], options?: {
2500
+ proportions?: string;
2501
+ }): MultiSlotRowElement;
2502
+ /**
2503
+ * Creates a `LabelValueRowElement` component instance.
2504
+ *
2505
+ * @remarks
2506
+ * Standard label and value row.
2507
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
2508
+ *
2509
+ * @param label - Key or descriptive label displayed muted on the left
2510
+ * @param value - Rendered value element on the right
2511
+ * @param options - Optional settings (withDivider (defaults to `false`)).
2512
+ * @returns A strongly-typed `LabelValueRowElement` object.
2513
+ */
2514
+ export declare function labelValueRow(label: string, value: UiElement, options?: {
2515
+ withDivider?: boolean;
2516
+ }): LabelValueRowElement;
2517
+ /**
2518
+ * Creates a `LabelValueRowElement` component instance.
2519
+ *
2520
+ * @remarks
2521
+ * Standard label and value row.
2522
+ * Displays a muted label on the left and value representation on the right with a vertical dividing line.
2523
+ *
2524
+ * @param label - Key or descriptive label displayed muted on the left
2525
+ * @param value - Rendered value element on the right
2526
+ * @param options - Optional settings (withDivider (defaults to `false`)).
2527
+ * @returns A strongly-typed `LabelValueRowElement` object.
2528
+ */
2529
+ export declare function labelValue(label: string, value: UiElement, options?: {
2530
+ withDivider?: boolean;
2531
+ }): LabelValueRowElement;
2532
+ /**
2533
+ * Creates a `TableColumn` component instance.
2534
+ *
2535
+ * @remarks
2536
+ * Column definition for structured tables.
2537
+ *
2538
+ * @param options - Optional settings (header, align (defaults to `left`), width).
2539
+ * @returns A strongly-typed `TableColumn` object.
2540
+ */
2541
+ export declare function tableColumn(options?: {
2542
+ header?: string;
2543
+ align?: TableColumnAlign;
2544
+ width?: string;
2545
+ }): TableColumn;
2546
+ /**
2547
+ * Creates a `TableRow` component instance.
2548
+ *
2549
+ * @remarks
2550
+ * Single table row containing an array of cell values.
2551
+ *
2552
+ * @param cells - Array of cell values corresponding to table columns
2553
+ * @returns A strongly-typed `TableRow` object.
2554
+ */
2555
+ export declare function tableRow(cells: (string | UiElement)[]): TableRow;
2556
+ /**
2557
+ * Creates a `TableElement` component instance.
2558
+ *
2559
+ * @remarks
2560
+ * Structured tabular data representation.
2561
+ * Supports header/borderless modes, 2-column key-value tables, and 3-column data tables.
2562
+ *
2563
+ * @param rows - Tabular data rows
2564
+ * @param options - Optional settings (hasHeader (defaults to `true`), columns, maxColumns).
2565
+ * @returns A strongly-typed `TableElement` object.
2566
+ */
2567
+ export declare function table(rows: TableRow[], options?: {
2568
+ hasHeader?: boolean;
2569
+ columns?: TableColumn[];
2570
+ maxColumns?: number;
2571
+ }): TableElement;
2572
+ /**
2573
+ * Creates a `RepeatingGroupEntry` component instance.
2574
+ *
2575
+ * @remarks
2576
+ * Single entry within a repeating group.
2577
+ *
2578
+ * @param label - Entry label
2579
+ * @param options - Optional settings (value, elements).
2580
+ * @returns A strongly-typed `RepeatingGroupEntry` object.
2581
+ */
2582
+ export declare function repeatingGroupEntry(label: string, options?: {
2583
+ value?: string | UiElement;
2584
+ elements?: UiElement[];
2585
+ }): RepeatingGroupEntry;
2586
+ /**
2587
+ * Creates a `RepeatingGroupElement` component instance.
2588
+ *
2589
+ * @remarks
2590
+ * Repeating group container where entries share uniform structure and retain per-entry labels.
2591
+ *
2592
+ * @param entries - List of repeated entry records
2593
+ * @param options - Optional settings (title).
2594
+ * @returns A strongly-typed `RepeatingGroupElement` object.
2595
+ */
2596
+ export declare function repeatingGroup(entries: RepeatingGroupEntry[], options?: {
2597
+ title?: string;
2598
+ }): RepeatingGroupElement;
2599
+ /**
2600
+ * Creates a `CollapsibleGroupElement` component instance.
2601
+ *
2602
+ * @remarks
2603
+ * Collapsible disclosure container (accordion) with summary badge.
2604
+ *
2605
+ * @param title - Group title (e.g. "Show specimen details")
2606
+ * @param elements - Nested content elements revealed when expanded
2607
+ * @param options - Optional settings (summary, defaultExpanded (defaults to `false`)).
2608
+ * @returns A strongly-typed `CollapsibleGroupElement` object.
2609
+ */
2610
+ export declare function collapsibleGroup(title: string, elements: UiElement[], options?: {
2611
+ summary?: string;
2612
+ defaultExpanded?: boolean;
2613
+ }): CollapsibleGroupElement;
2614
+ /**
2615
+ * Creates a `DividerElement` component instance.
2616
+ *
2617
+ * @remarks
2618
+ * Visual hairline separator separating sections or element groups.
2619
+ *
2620
+ * @param options - Optional settings (style (defaults to `hairline`)).
2621
+ * @returns A strongly-typed `DividerElement` object.
2622
+ */
2623
+ export declare function divider(options?: {
2624
+ style?: DividerStyle;
2625
+ }): DividerElement;
2626
+ /**
2627
+ * Type guard predicate verifying whether an unknown value conforms to `UiElement`.
2628
+ *
2629
+ * @param value - The value to inspect.
2630
+ * @returns `true` if the value is a valid `UiElement`, otherwise `false`.
2631
+ */
2632
+ export declare function isUiElement(value: unknown): value is UiElement;
2633
+ /**
2634
+ * Type guard predicate narrowing a `UiElement` to `StringShortElement`.
2635
+ *
2636
+ * @param element - The `UiElement` instance to inspect.
2637
+ * @returns `true` if the element is a `StringShortElement` (type = "string-short"), otherwise `false`.
2638
+ */
2639
+ export declare function isStringShortElement(element: UiElement): element is StringShortElement;
2640
+ /**
2641
+ * Type guard predicate narrowing a `UiElement` to `StringLongElement`.
2642
+ *
2643
+ * @param element - The `UiElement` instance to inspect.
2644
+ * @returns `true` if the element is a `StringLongElement` (type = "string-long"), otherwise `false`.
2645
+ */
2646
+ export declare function isStringLongElement(element: UiElement): element is StringLongElement;
2647
+ /**
2648
+ * Type guard predicate narrowing a `UiElement` to `StringCodeElement`.
2649
+ *
2650
+ * @param element - The `UiElement` instance to inspect.
2651
+ * @returns `true` if the element is a `StringCodeElement` (type = "string-code"), otherwise `false`.
2652
+ */
2653
+ export declare function isStringCodeElement(element: UiElement): element is StringCodeElement;
2654
+ /**
2655
+ * Type guard predicate narrowing a `UiElement` to `StringUrlElement`.
2656
+ *
2657
+ * @param element - The `UiElement` instance to inspect.
2658
+ * @returns `true` if the element is a `StringUrlElement` (type = "string-url"), otherwise `false`.
2659
+ */
2660
+ export declare function isStringUrlElement(element: UiElement): element is StringUrlElement;
2661
+ /**
2662
+ * Type guard predicate narrowing a `UiElement` to `IdentifierElement`.
2663
+ *
2664
+ * @param element - The `UiElement` instance to inspect.
2665
+ * @returns `true` if the element is a `IdentifierElement` (type = "identifier"), otherwise `false`.
2666
+ */
2667
+ export declare function isIdentifierElement(element: UiElement): element is IdentifierElement;
2668
+ /**
2669
+ * Type guard predicate narrowing a `UiElement` to `RatioElement`.
2670
+ *
2671
+ * @param element - The `UiElement` instance to inspect.
2672
+ * @returns `true` if the element is a `RatioElement` (type = "ratio"), otherwise `false`.
2673
+ */
2674
+ export declare function isRatioElement(element: UiElement): element is RatioElement;
2675
+ /**
2676
+ * Type guard predicate narrowing a `UiElement` to `ColourElement`.
2677
+ *
2678
+ * @param element - The `UiElement` instance to inspect.
2679
+ * @returns `true` if the element is a `ColourElement` (type = "color-swatch"), otherwise `false`.
2680
+ */
2681
+ export declare function isColourElement(element: UiElement): element is ColourElement;
2682
+ /**
2683
+ * Type guard predicate narrowing a `UiElement` to `NumberUnboundedElement`.
2684
+ *
2685
+ * @param element - The `UiElement` instance to inspect.
2686
+ * @returns `true` if the element is a `NumberUnboundedElement` (type = "number-unbounded"), otherwise `false`.
2687
+ */
2688
+ export declare function isNumberUnboundedElement(element: UiElement): element is NumberUnboundedElement;
2689
+ /**
2690
+ * Type guard predicate narrowing a `UiElement` to `NumberBoundedStarsElement`.
2691
+ *
2692
+ * @param element - The `UiElement` instance to inspect.
2693
+ * @returns `true` if the element is a `NumberBoundedStarsElement` (type = "number-stars"), otherwise `false`.
2694
+ */
2695
+ export declare function isNumberBoundedStarsElement(element: UiElement): element is NumberBoundedStarsElement;
2696
+ /**
2697
+ * Type guard predicate narrowing a `UiElement` to `NumberBoundedMeterElement`.
2698
+ *
2699
+ * @param element - The `UiElement` instance to inspect.
2700
+ * @returns `true` if the element is a `NumberBoundedMeterElement` (type = "number-meter"), otherwise `false`.
2701
+ */
2702
+ export declare function isNumberBoundedMeterElement(element: UiElement): element is NumberBoundedMeterElement;
2703
+ /**
2704
+ * Type guard predicate narrowing a `UiElement` to `BooleanPlainElement`.
2705
+ *
2706
+ * @param element - The `UiElement` instance to inspect.
2707
+ * @returns `true` if the element is a `BooleanPlainElement` (type = "boolean-plain"), otherwise `false`.
2708
+ */
2709
+ export declare function isBooleanPlainElement(element: UiElement): element is BooleanPlainElement;
2710
+ /**
2711
+ * Type guard predicate narrowing a `UiElement` to `BooleanBadgeElement`.
2712
+ *
2713
+ * @param element - The `UiElement` instance to inspect.
2714
+ * @returns `true` if the element is a `BooleanBadgeElement` (type = "boolean-badge"), otherwise `false`.
2715
+ */
2716
+ export declare function isBooleanBadgeElement(element: UiElement): element is BooleanBadgeElement;
2717
+ /**
2718
+ * Type guard predicate narrowing a `UiElement` to `TimestampElement`.
2719
+ *
2720
+ * @param element - The `UiElement` instance to inspect.
2721
+ * @returns `true` if the element is a `TimestampElement` (type = "timestamp"), otherwise `false`.
2722
+ */
2723
+ export declare function isTimestampElement(element: UiElement): element is TimestampElement;
2724
+ /**
2725
+ * Type guard predicate narrowing a `UiElement` to `ImageReferenceElement`.
2726
+ *
2727
+ * @param element - The `UiElement` instance to inspect.
2728
+ * @returns `true` if the element is a `ImageReferenceElement` (type = "image-ref"), otherwise `false`.
2729
+ */
2730
+ export declare function isImageReferenceElement(element: UiElement): element is ImageReferenceElement;
2731
+ /**
2732
+ * Type guard predicate narrowing a `UiElement` to `DominantColourSetElement`.
2733
+ *
2734
+ * @param element - The `UiElement` instance to inspect.
2735
+ * @returns `true` if the element is a `DominantColourSetElement` (type = "color-set"), otherwise `false`.
2736
+ */
2737
+ export declare function isDominantColourSetElement(element: UiElement): element is DominantColourSetElement;
2738
+ /**
2739
+ * Type guard predicate narrowing a `UiElement` to `MarkdownBlockElement`.
2740
+ *
2741
+ * @param element - The `UiElement` instance to inspect.
2742
+ * @returns `true` if the element is a `MarkdownBlockElement` (type = "markdown"), otherwise `false`.
2743
+ */
2744
+ export declare function isMarkdownBlockElement(element: UiElement): element is MarkdownBlockElement;
2745
+ /**
2746
+ * Type guard predicate narrowing a `UiElement` to `HtmlBlockElement`.
2747
+ *
2748
+ * @param element - The `UiElement` instance to inspect.
2749
+ * @returns `true` if the element is a `HtmlBlockElement` (type = "html"), otherwise `false`.
2750
+ */
2751
+ export declare function isHtmlBlockElement(element: UiElement): element is HtmlBlockElement;
2752
+ /**
2753
+ * Type guard predicate narrowing a `UiElement` to `MultiSlotRowElement`.
2754
+ *
2755
+ * @param element - The `UiElement` instance to inspect.
2756
+ * @returns `true` if the element is a `MultiSlotRowElement` (type = "multi-slot"), otherwise `false`.
2757
+ */
2758
+ export declare function isMultiSlotRowElement(element: UiElement): element is MultiSlotRowElement;
2759
+ /**
2760
+ * Type guard predicate narrowing a `UiElement` to `LabelValueRowElement`.
2761
+ *
2762
+ * @param element - The `UiElement` instance to inspect.
2763
+ * @returns `true` if the element is a `LabelValueRowElement` (type = "label-value"), otherwise `false`.
2764
+ */
2765
+ export declare function isLabelValueRowElement(element: UiElement): element is LabelValueRowElement;
2766
+ /**
2767
+ * Type guard predicate narrowing a `UiElement` to `TableElement`.
2768
+ *
2769
+ * @param element - The `UiElement` instance to inspect.
2770
+ * @returns `true` if the element is a `TableElement` (type = "table"), otherwise `false`.
2771
+ */
2772
+ export declare function isTableElement(element: UiElement): element is TableElement;
2773
+ /**
2774
+ * Type guard predicate narrowing a `UiElement` to `RepeatingGroupElement`.
2775
+ *
2776
+ * @param element - The `UiElement` instance to inspect.
2777
+ * @returns `true` if the element is a `RepeatingGroupElement` (type = "repeating-group"), otherwise `false`.
2778
+ */
2779
+ export declare function isRepeatingGroupElement(element: UiElement): element is RepeatingGroupElement;
2780
+ /**
2781
+ * Type guard predicate narrowing a `UiElement` to `CollapsibleGroupElement`.
2782
+ *
2783
+ * @param element - The `UiElement` instance to inspect.
2784
+ * @returns `true` if the element is a `CollapsibleGroupElement` (type = "collapsible-group"), otherwise `false`.
2785
+ */
2786
+ export declare function isCollapsibleGroupElement(element: UiElement): element is CollapsibleGroupElement;
2787
+ /**
2788
+ * Type guard predicate narrowing a `UiElement` to `DividerElement`.
2789
+ *
2790
+ * @param element - The `UiElement` instance to inspect.
2791
+ * @returns `true` if the element is a `DividerElement` (type = "divider"), otherwise `false`.
2792
+ */
2793
+ export declare function isDividerElement(element: UiElement): element is DividerElement;
2794
+ /**
2795
+ * Type guard predicate verifying whether an unknown value conforms to `ActionElement`.
2796
+ *
2797
+ * @param value - The value to inspect.
2798
+ * @returns `true` if the value is a valid `ActionElement`, otherwise `false`.
2799
+ */
2800
+ export declare function isActionElement(value: unknown): value is ActionElement;
2801
+ /**
2802
+ * Type guard predicate narrowing a `ActionElement` to `ButtonActionElement`.
2803
+ *
2804
+ * @param element - The `ActionElement` instance to inspect.
2805
+ * @returns `true` if the element is a `ButtonActionElement` (type = "button"), otherwise `false`.
2806
+ */
2807
+ export declare function isButtonActionElement(element: ActionElement): element is ButtonActionElement;
2808
+ /**
2809
+ * Type guard predicate narrowing a `ActionElement` to `ExternalLinkActionElement`.
2810
+ *
2811
+ * @param element - The `ActionElement` instance to inspect.
2812
+ * @returns `true` if the element is a `ExternalLinkActionElement` (type = "external-link"), otherwise `false`.
2813
+ */
2814
+ export declare function isExternalLinkActionElement(element: ActionElement): element is ExternalLinkActionElement;