@likec4/language-server 1.47.0 → 1.49.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 (297) hide show
  1. package/browser/package.json +2 -2
  2. package/browser-worker/package.json +2 -2
  3. package/bundled/package.json +4 -0
  4. package/dist/THIRD-PARTY-LICENSES.md +178 -0
  5. package/dist/_chunks/ConfigurableLayouter.mjs +1 -0
  6. package/dist/_chunks/LikeC4FileSystem.mjs +3 -0
  7. package/dist/_chunks/LikeC4Views.mjs +34 -0
  8. package/dist/_chunks/ProjectsManager.mjs +1 -0
  9. package/dist/_chunks/WithMCPServer.mjs +481 -0
  10. package/dist/_chunks/icons.mjs +2 -0
  11. package/dist/_chunks/index.d.mts +3107 -0
  12. package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -0
  13. package/dist/_chunks/libs/eventemitter3.mjs +1 -0
  14. package/dist/_chunks/libs/fast-equals.mjs +1 -0
  15. package/dist/_chunks/libs/p-queue.mjs +1 -0
  16. package/dist/_chunks/libs/parse-ms.mjs +1 -0
  17. package/dist/_chunks/libs/picomatch.mjs +1 -0
  18. package/dist/_chunks/libs/pretty-ms.mjs +1 -0
  19. package/dist/_chunks/libs/remeda.mjs +1 -0
  20. package/dist/_chunks/libs/strip-indent.mjs +1 -0
  21. package/dist/_chunks/libs/ufo.mjs +1 -0
  22. package/dist/_chunks/logger.mjs +1 -0
  23. package/dist/_chunks/rolldown-runtime.mjs +1 -0
  24. package/dist/_chunks/utils.mjs +1 -0
  25. package/dist/browser/index.d.mts +10 -0
  26. package/dist/browser/index.mjs +1 -0
  27. package/dist/browser/worker.d.mts +1 -0
  28. package/dist/browser/worker.mjs +1 -0
  29. package/dist/bundled.d.mts +27 -0
  30. package/dist/bundled.mjs +1 -4853
  31. package/dist/filesystem/index.d.mts +2 -0
  32. package/dist/filesystem/index.mjs +1 -0
  33. package/dist/index.d.mts +39 -0
  34. package/dist/index.mjs +1 -0
  35. package/dist/likec4lib.d.mts +16 -0
  36. package/dist/likec4lib.mjs +1 -0
  37. package/dist/mcp/index.d.mts +2 -0
  38. package/dist/mcp/index.mjs +1 -0
  39. package/dist/module.d.mts +126 -0
  40. package/dist/module.mjs +1 -0
  41. package/dist/protocol.d.mts +315 -0
  42. package/dist/protocol.mjs +1 -0
  43. package/filesystem/package.json +4 -0
  44. package/likec4lib/package.json +2 -2
  45. package/mcp/package.json +4 -0
  46. package/module/package.json +4 -0
  47. package/package.json +128 -62
  48. package/protocol/package.json +2 -2
  49. package/LICENSE +0 -21
  50. package/dist/LikeC4LanguageServices.d.ts +0 -115
  51. package/dist/LikeC4LanguageServices.js +0 -164
  52. package/dist/Rpc.d.ts +0 -9
  53. package/dist/Rpc.js +0 -276
  54. package/dist/ast.d.ts +0 -226
  55. package/dist/ast.js +0 -264
  56. package/dist/browser-worker.d.ts +0 -1
  57. package/dist/browser-worker.js +0 -4
  58. package/dist/browser.d.ts +0 -10
  59. package/dist/browser.js +0 -34
  60. package/dist/bundled.d.ts +0 -8
  61. package/dist/bundled.js +0 -44
  62. package/dist/documentation/documentation-provider.d.ts +0 -8
  63. package/dist/documentation/documentation-provider.js +0 -51
  64. package/dist/documentation/index.d.ts +0 -1
  65. package/dist/documentation/index.js +0 -1
  66. package/dist/empty.d.ts +0 -2
  67. package/dist/empty.js +0 -2
  68. package/dist/filesystem/ChokidarWatcher.d.ts +0 -19
  69. package/dist/filesystem/ChokidarWatcher.js +0 -133
  70. package/dist/filesystem/FileSystemWatcher.d.ts +0 -19
  71. package/dist/filesystem/FileSystemWatcher.js +0 -14
  72. package/dist/filesystem/LikeC4FileSystem.d.ts +0 -3
  73. package/dist/filesystem/LikeC4FileSystem.js +0 -140
  74. package/dist/filesystem/index.d.ts +0 -55
  75. package/dist/filesystem/index.js +0 -29
  76. package/dist/formatting/LikeC4Formatter.d.ts +0 -59
  77. package/dist/formatting/LikeC4Formatter.js +0 -637
  78. package/dist/formatting/utils.d.ts +0 -6
  79. package/dist/formatting/utils.js +0 -18
  80. package/dist/generated/ast.d.ts +0 -1411
  81. package/dist/generated/ast.js +0 -2207
  82. package/dist/generated/grammar.d.ts +0 -6
  83. package/dist/generated/grammar.js +0 -7
  84. package/dist/generated/module.d.ts +0 -14
  85. package/dist/generated/module.js +0 -27
  86. package/dist/generated-lib/icons.d.ts +0 -1
  87. package/dist/generated-lib/icons.js +0 -18
  88. package/dist/index.d.ts +0 -37
  89. package/dist/index.js +0 -54
  90. package/dist/likec4lib.d.ts +0 -6
  91. package/dist/likec4lib.js +0 -7
  92. package/dist/logger.d.ts +0 -17
  93. package/dist/logger.js +0 -81
  94. package/dist/lsp/CodeActionProvider.d.ts +0 -14
  95. package/dist/lsp/CodeActionProvider.js +0 -33
  96. package/dist/lsp/CodeLensProvider.d.ts +0 -9
  97. package/dist/lsp/CodeLensProvider.js +0 -44
  98. package/dist/lsp/CompletionProvider.d.ts +0 -13
  99. package/dist/lsp/CompletionProvider.js +0 -238
  100. package/dist/lsp/DocumentHighlightProvider.d.ts +0 -9
  101. package/dist/lsp/DocumentHighlightProvider.js +0 -10
  102. package/dist/lsp/DocumentLinkProvider.d.ts +0 -11
  103. package/dist/lsp/DocumentLinkProvider.js +0 -58
  104. package/dist/lsp/DocumentSymbolProvider.d.ts +0 -33
  105. package/dist/lsp/DocumentSymbolProvider.js +0 -317
  106. package/dist/lsp/HoverProvider.d.ts +0 -10
  107. package/dist/lsp/HoverProvider.js +0 -106
  108. package/dist/lsp/RenameProvider.d.ts +0 -5
  109. package/dist/lsp/RenameProvider.js +0 -6
  110. package/dist/lsp/SemanticTokenProvider.d.ts +0 -19
  111. package/dist/lsp/SemanticTokenProvider.js +0 -305
  112. package/dist/lsp/index.d.ts +0 -8
  113. package/dist/lsp/index.js +0 -9
  114. package/dist/mcp/MCPServerFactory.d.ts +0 -8
  115. package/dist/mcp/MCPServerFactory.js +0 -73
  116. package/dist/mcp/NoopLikeC4MCPServer.d.ts +0 -9
  117. package/dist/mcp/NoopLikeC4MCPServer.js +0 -17
  118. package/dist/mcp/interfaces.d.ts +0 -13
  119. package/dist/mcp/interfaces.js +0 -4
  120. package/dist/mcp/server/StdioLikeC4MCPServer.d.ts +0 -16
  121. package/dist/mcp/server/StdioLikeC4MCPServer.js +0 -51
  122. package/dist/mcp/server/StreamableLikeC4MCPServer.d.ts +0 -16
  123. package/dist/mcp/server/StreamableLikeC4MCPServer.js +0 -121
  124. package/dist/mcp/server/WithMCPServer.d.ts +0 -4
  125. package/dist/mcp/server/WithMCPServer.js +0 -54
  126. package/dist/mcp/tools/_common.d.ts +0 -88
  127. package/dist/mcp/tools/_common.js +0 -49
  128. package/dist/mcp/tools/find-relationships.d.ts +0 -202
  129. package/dist/mcp/tools/find-relationships.js +0 -150
  130. package/dist/mcp/tools/list-projects.d.ts +0 -194
  131. package/dist/mcp/tools/list-projects.js +0 -62
  132. package/dist/mcp/tools/open-view.d.ts +0 -200
  133. package/dist/mcp/tools/open-view.js +0 -52
  134. package/dist/mcp/tools/read-deployment.d.ts +0 -200
  135. package/dist/mcp/tools/read-deployment.js +0 -150
  136. package/dist/mcp/tools/read-element.d.ts +0 -200
  137. package/dist/mcp/tools/read-element.js +0 -218
  138. package/dist/mcp/tools/read-project-summary.d.ts +0 -198
  139. package/dist/mcp/tools/read-project-summary.js +0 -176
  140. package/dist/mcp/tools/read-view.d.ts +0 -200
  141. package/dist/mcp/tools/read-view.js +0 -203
  142. package/dist/mcp/tools/search-element.d.ts +0 -198
  143. package/dist/mcp/tools/search-element.js +0 -177
  144. package/dist/mcp/utils.d.ts +0 -18
  145. package/dist/mcp/utils.js +0 -48
  146. package/dist/model/builder/MergedExtends.d.ts +0 -13
  147. package/dist/model/builder/MergedExtends.js +0 -74
  148. package/dist/model/builder/MergedSpecification.d.ts +0 -32
  149. package/dist/model/builder/MergedSpecification.js +0 -175
  150. package/dist/model/builder/buildModel.d.ts +0 -16
  151. package/dist/model/builder/buildModel.js +0 -245
  152. package/dist/model/deployments-index.d.ts +0 -10
  153. package/dist/model/deployments-index.js +0 -102
  154. package/dist/model/fqn-index.d.ts +0 -61
  155. package/dist/model/fqn-index.js +0 -253
  156. package/dist/model/index.d.ts +0 -6
  157. package/dist/model/index.js +0 -6
  158. package/dist/model/model-builder.d.ts +0 -54
  159. package/dist/model/model-builder.js +0 -233
  160. package/dist/model/model-locator.d.ts +0 -39
  161. package/dist/model/model-locator.js +0 -240
  162. package/dist/model/model-parser-where.d.ts +0 -4
  163. package/dist/model/model-parser-where.js +0 -81
  164. package/dist/model/model-parser.d.ts +0 -645
  165. package/dist/model/model-parser.js +0 -133
  166. package/dist/model/parser/Base.d.ts +0 -69
  167. package/dist/model/parser/Base.js +0 -382
  168. package/dist/model/parser/DeploymentModelParser.d.ts +0 -71
  169. package/dist/model/parser/DeploymentModelParser.js +0 -176
  170. package/dist/model/parser/DeploymentViewParser.d.ts +0 -75
  171. package/dist/model/parser/DeploymentViewParser.js +0 -86
  172. package/dist/model/parser/FqnRefParser.d.ts +0 -66
  173. package/dist/model/parser/FqnRefParser.js +0 -382
  174. package/dist/model/parser/GlobalsParser.d.ts +0 -109
  175. package/dist/model/parser/GlobalsParser.js +0 -84
  176. package/dist/model/parser/ImportsParser.d.ts +0 -46
  177. package/dist/model/parser/ImportsParser.js +0 -24
  178. package/dist/model/parser/ModelParser.d.ts +0 -71
  179. package/dist/model/parser/ModelParser.js +0 -209
  180. package/dist/model/parser/PredicatesParser.d.ts +0 -75
  181. package/dist/model/parser/PredicatesParser.js +0 -45
  182. package/dist/model/parser/SpecificationParser.d.ts +0 -53
  183. package/dist/model/parser/SpecificationParser.js +0 -113
  184. package/dist/model/parser/ValueConverter.d.ts +0 -4
  185. package/dist/model/parser/ValueConverter.js +0 -12
  186. package/dist/model/parser/ViewsParser.d.ts +0 -112
  187. package/dist/model/parser/ViewsParser.js +0 -492
  188. package/dist/model-change/ModelChanges.d.ts +0 -18
  189. package/dist/model-change/ModelChanges.js +0 -129
  190. package/dist/model-change/changeElementStyle.d.ts +0 -16
  191. package/dist/model-change/changeElementStyle.js +0 -134
  192. package/dist/model-change/changeViewLayout.d.ts +0 -12
  193. package/dist/model-change/changeViewLayout.js +0 -28
  194. package/dist/model-change/removeManualLayoutV1.d.ts +0 -7
  195. package/dist/model-change/removeManualLayoutV1.js +0 -27
  196. package/dist/module.d.ts +0 -92
  197. package/dist/module.js +0 -143
  198. package/dist/protocol.d.ts +0 -289
  199. package/dist/protocol.js +0 -123
  200. package/dist/references/index.d.ts +0 -3
  201. package/dist/references/index.js +0 -3
  202. package/dist/references/name-provider.d.ts +0 -9
  203. package/dist/references/name-provider.js +0 -37
  204. package/dist/references/scope-computation.d.ts +0 -20
  205. package/dist/references/scope-computation.js +0 -288
  206. package/dist/references/scope-provider.d.ts +0 -40
  207. package/dist/references/scope-provider.js +0 -239
  208. package/dist/shared/NodeKindProvider.d.ts +0 -15
  209. package/dist/shared/NodeKindProvider.js +0 -57
  210. package/dist/shared/WorkspaceSymbolProvider.d.ts +0 -3
  211. package/dist/shared/WorkspaceSymbolProvider.js +0 -3
  212. package/dist/shared/index.d.ts +0 -2
  213. package/dist/shared/index.js +0 -2
  214. package/dist/test/index.d.ts +0 -1
  215. package/dist/test/index.js +0 -1
  216. package/dist/test/testServices.d.ts +0 -64
  217. package/dist/test/testServices.js +0 -210
  218. package/dist/utils/disposable.d.ts +0 -8
  219. package/dist/utils/disposable.js +0 -26
  220. package/dist/utils/elementRef.d.ts +0 -11
  221. package/dist/utils/elementRef.js +0 -33
  222. package/dist/utils/fqnRef.d.ts +0 -11
  223. package/dist/utils/fqnRef.js +0 -63
  224. package/dist/utils/index.d.ts +0 -11
  225. package/dist/utils/index.js +0 -35
  226. package/dist/utils/printDocs.d.ts +0 -2
  227. package/dist/utils/printDocs.js +0 -1
  228. package/dist/utils/projectId.d.ts +0 -4
  229. package/dist/utils/projectId.js +0 -16
  230. package/dist/utils/stringHash.d.ts +0 -1
  231. package/dist/utils/stringHash.js +0 -5
  232. package/dist/validation/DocumentValidator.d.ts +0 -11
  233. package/dist/validation/DocumentValidator.js +0 -17
  234. package/dist/validation/_shared.d.ts +0 -3
  235. package/dist/validation/_shared.js +0 -26
  236. package/dist/validation/deployment-checks.d.ts +0 -7
  237. package/dist/validation/deployment-checks.js +0 -140
  238. package/dist/validation/dynamic-view.d.ts +0 -6
  239. package/dist/validation/dynamic-view.js +0 -67
  240. package/dist/validation/element-ref.d.ts +0 -4
  241. package/dist/validation/element-ref.js +0 -12
  242. package/dist/validation/element.d.ts +0 -4
  243. package/dist/validation/element.js +0 -49
  244. package/dist/validation/imports.d.ts +0 -4
  245. package/dist/validation/imports.js +0 -46
  246. package/dist/validation/index.d.ts +0 -15
  247. package/dist/validation/index.js +0 -167
  248. package/dist/validation/property-checks.d.ts +0 -7
  249. package/dist/validation/property-checks.js +0 -108
  250. package/dist/validation/relation.d.ts +0 -6
  251. package/dist/validation/relation.js +0 -141
  252. package/dist/validation/specification.d.ts +0 -12
  253. package/dist/validation/specification.js +0 -190
  254. package/dist/validation/view-checks.d.ts +0 -4
  255. package/dist/validation/view-checks.js +0 -46
  256. package/dist/validation/view-predicates/fqn-expr-with.d.ts +0 -4
  257. package/dist/validation/view-predicates/fqn-expr-with.js +0 -43
  258. package/dist/validation/view-predicates/fqn-ref-expr.d.ts +0 -4
  259. package/dist/validation/view-predicates/fqn-ref-expr.js +0 -51
  260. package/dist/validation/view-predicates/incoming.d.ts +0 -4
  261. package/dist/validation/view-predicates/incoming.js +0 -16
  262. package/dist/validation/view-predicates/index.d.ts +0 -6
  263. package/dist/validation/view-predicates/index.js +0 -6
  264. package/dist/validation/view-predicates/outgoing.d.ts +0 -4
  265. package/dist/validation/view-predicates/outgoing.js +0 -20
  266. package/dist/validation/view-predicates/relation-expr.d.ts +0 -4
  267. package/dist/validation/view-predicates/relation-expr.js +0 -46
  268. package/dist/validation/view-predicates/relation-with.d.ts +0 -4
  269. package/dist/validation/view-predicates/relation-with.js +0 -16
  270. package/dist/validation/view.d.ts +0 -4
  271. package/dist/validation/view.js +0 -42
  272. package/dist/view-utils/assignNavigateTo.d.ts +0 -2
  273. package/dist/view-utils/assignNavigateTo.js +0 -27
  274. package/dist/view-utils/index.d.ts +0 -2
  275. package/dist/view-utils/index.js +0 -2
  276. package/dist/view-utils/manual-layout.d.ts +0 -13
  277. package/dist/view-utils/manual-layout.js +0 -149
  278. package/dist/views/ConfigurableLayouter.d.ts +0 -7
  279. package/dist/views/ConfigurableLayouter.js +0 -51
  280. package/dist/views/LikeC4ManualLayouts.d.ts +0 -42
  281. package/dist/views/LikeC4ManualLayouts.js +0 -209
  282. package/dist/views/LikeC4Views.d.ts +0 -89
  283. package/dist/views/LikeC4Views.js +0 -216
  284. package/dist/views/index.d.ts +0 -4
  285. package/dist/views/index.js +0 -11
  286. package/dist/workspace/AstNodeDescriptionProvider.d.ts +0 -7
  287. package/dist/workspace/AstNodeDescriptionProvider.js +0 -18
  288. package/dist/workspace/IndexManager.d.ts +0 -10
  289. package/dist/workspace/IndexManager.js +0 -26
  290. package/dist/workspace/LangiumDocuments.d.ts +0 -29
  291. package/dist/workspace/LangiumDocuments.js +0 -104
  292. package/dist/workspace/ProjectsManager.d.ts +0 -134
  293. package/dist/workspace/ProjectsManager.js +0 -610
  294. package/dist/workspace/WorkspaceManager.d.ts +0 -31
  295. package/dist/workspace/WorkspaceManager.js +0 -132
  296. package/dist/workspace/index.d.ts +0 -5
  297. package/dist/workspace/index.js +0 -5
@@ -0,0 +1,3107 @@
1
+ import { ChangeView, DidRequestOpenViewNotification, Locate } from "../protocol.mjs";
2
+ import { LikeC4Services, LikeC4SharedServices } from "../module.mjs";
3
+ import * as langium from "langium";
4
+ import { AstNode, AstNodeDescription, AsyncDisposable, BuildOptions, Cancellation, CstNode, DefaultAstNodeDescriptionProvider, DefaultDocumentValidator, DefaultIndexManager, DefaultLangiumDocuments, DefaultNameProvider, DefaultScopeComputation, DefaultScopeProvider, DefaultValueConverter, DefaultWorkspaceManager, DiagnosticInfo, Disposable, FileSelector, FileSystemNode, FileSystemProvider, GrammarAST, JSDocDocumentationProvider, LangiumDocument, LangiumDocumentFactory, MaybePromise, PrecomputedScopes, Reference, ReferenceDescription, ReferenceInfo, Scope, SimpleCache, Stream, URI, ValidationOptions, ValueType, WorkspaceCache } from "langium";
5
+ import { DefaultWeakMap, MultiMap as MultiMap$1 } from "@likec4/core/utils";
6
+ import { CompletionItemKind, Diagnostic, DocumentSymbol, FormattingOptions, Hover, Location, Range, SemanticTokens, SemanticTokensDelta, SymbolKind, TextEdit } from "vscode-languageserver-types";
7
+ import { AbstractFormatter, AbstractSemanticTokenProvider, AstNodeHoverProvider, CodeActionProvider, CodeLensProvider, CompletionAcceptor, CompletionContext, DefaultCompletionProvider, DefaultDocumentHighlightProvider, DefaultWorkspaceSymbolProvider, DocumentLinkProvider, DocumentSymbolProvider, FormattingRegion, LangiumSharedServices, NextFeature, NodeKindProvider, SemanticTokenAcceptor } from "langium/lsp";
8
+ import { GraphvizLayouter, QueueGraphvizLayoter } from "@likec4/layouts";
9
+ import * as c4 from "@likec4/core";
10
+ import { ComputedView, DiagramView, LayoutType, LayoutedView, NonEmptyArray, NonEmptyReadonlyArray, ProjectId, Tag, UnknownComputed, UnknownLayouted, UnknownParsed, ViewChange, ViewId } from "@likec4/core";
11
+ import { AdhocViewPredicate, LayoutedProjectsView as LayoutedProjectsView$1 } from "@likec4/core/compute-view";
12
+ import { ElementModel, LikeC4Model } from "@likec4/core/model";
13
+ import { IncludeConfig, LikeC4ProjectConfig, LikeC4ProjectConfigInput } from "@likec4/config";
14
+ import { URI as URI$2 } from "vscode-uri";
15
+ import { LikeC4Styles } from "@likec4/core/styles";
16
+ import { CancellationToken, CodeLens, CodeLensParams, DocumentHighlight, DocumentLink, DocumentLinkParams, DocumentSymbolParams, WorkspaceFolder } from "vscode-languageserver";
17
+ import { CancellationToken as CancellationToken$1, CodeAction, CodeActionParams, Command, SemanticTokensDeltaParams, SemanticTokensParams, SemanticTokensRangeParams } from "vscode-languageserver-protocol";
18
+ import { Fqn as Fqn$1, GuardedBy, LayoutedView as LayoutedView$1, ProjectId as ProjectId$1, ViewId as ViewId$1 } from "@likec4/core/types";
19
+ import { CancellationToken as CancellationToken$2 } from "vscode-jsonrpc";
20
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
21
+ import * as type_fest0 from "type-fest";
22
+ import { ConditionalPick, MergeExclusive, Simplify, Tagged, ValueOf, Writable } from "type-fest";
23
+ import { ServerOptions } from "@modelcontextprotocol/sdk/server/index.js";
24
+
25
+ //#region src/documentation/documentation-provider.d.ts
26
+ declare class LikeC4DocumentationProvider extends JSDocDocumentationProvider {
27
+ private parser;
28
+ private locator;
29
+ constructor(services: LikeC4Services);
30
+ getDocumentation(node: AstNode): string | undefined;
31
+ }
32
+ //#endregion
33
+ //#region src/workspace/ProjectsManager.d.ts
34
+ type DocOrUri = LangiumDocument | string | URI;
35
+ /**
36
+ * A tagged string that represents a project folder URI
37
+ * Always has trailing slash.
38
+ */
39
+ type ProjectFolder = Tagged<string, 'ProjectFolder'>;
40
+ declare function ProjectFolder(folder: URI | string): ProjectFolder;
41
+ interface Project {
42
+ id: ProjectId$1;
43
+ folderUri: URI;
44
+ config: LikeC4ProjectConfig;
45
+ }
46
+ interface ProjectData extends Project {
47
+ id: ProjectId$1;
48
+ folder: ProjectFolder;
49
+ config: LikeC4ProjectConfig;
50
+ configUri: URI;
51
+ folderUri: URI;
52
+ exclude?: {
53
+ (test: string): boolean;
54
+ };
55
+ /**
56
+ * Resolved include paths with both URI and folder string representations.
57
+ * These are additional directories that are part of this project.
58
+ */
59
+ includePaths?: NonEmptyArray<{
60
+ uri: URI;
61
+ folder: ProjectFolder;
62
+ }>;
63
+ /**
64
+ * Normalized include configuration (paths, maxDepth, fileThreshold).
65
+ */
66
+ includeConfig: IncludeConfig;
67
+ }
68
+ type RegisterProjectOptions = {
69
+ config: LikeC4ProjectConfig | LikeC4ProjectConfigInput;
70
+ } & ({
71
+ configUri: URI | string;
72
+ } | {
73
+ folderUri: URI | string;
74
+ });
75
+ declare class ProjectsManager {
76
+ #private;
77
+ protected services: LikeC4SharedServices;
78
+ /**
79
+ * The global project ID used for all documents
80
+ * that are not part of a specific project.
81
+ */
82
+ static readonly DefaultProjectId: ProjectId$1;
83
+ constructor(services: LikeC4SharedServices);
84
+ /**
85
+ * Returns:
86
+ * - configured default project ID if set
87
+ * - the default project ID if there are no projects.
88
+ * - the ID of the only project
89
+ * - undefined if there are multiple projects.
90
+ */
91
+ get defaultProjectId(): ProjectId$1 | undefined;
92
+ set defaultProjectId(id: string | ProjectId$1 | undefined);
93
+ get default(): ProjectData;
94
+ get all(): NonEmptyReadonlyArray<ProjectId$1>;
95
+ getProject(arg: ProjectId$1 | LangiumDocument): ProjectData;
96
+ /**
97
+ * Returns all projects that overlap with the specified folder (is parent or child)
98
+ */
99
+ findOverlaped(folder: URI | string): ProjectData[];
100
+ /**
101
+ * Validates and ensures the project ID.
102
+ * If no project ID is specified, returns default project ID
103
+ * If there are multiple projects and default project is not set, throws an error
104
+ */
105
+ ensureProjectId(projectId?: ProjectId$1 | undefined): ProjectId$1;
106
+ /**
107
+ * Validates and ensures the project.
108
+ */
109
+ ensureProject(projectId?: ProjectId$1 | undefined): ProjectData;
110
+ hasMultipleProjects(): boolean;
111
+ /**
112
+ * Checks if the specified document should be excluded from processing.
113
+ */
114
+ isExcluded(document: DocOrUri): boolean;
115
+ isExcluded(projectId: ProjectId$1, document: DocOrUri): boolean;
116
+ /**
117
+ * Checks if the specified document is included by the project:
118
+ * - if the document belongs to the project and is not excluded
119
+ * - if the document is included by the project
120
+ */
121
+ isIncluded(projectId: ProjectId$1, document: LangiumDocument | URI | string): boolean;
122
+ /**
123
+ * Registers likec4 project by config file.
124
+ */
125
+ registerConfigFile(configUri: URI, cancelToken?: Cancellation.CancellationToken): Promise<ProjectData>;
126
+ /**
127
+ * Registers (or reloads) likec4 project by config file or config object.
128
+ * If there is some project registered at same folder, it will be reloaded.
129
+ */
130
+ registerProject(opts: RegisterProjectOptions, cancelToken?: Cancellation.CancellationToken): Promise<ProjectData>;
131
+ /**
132
+ * Determines which project the given document belongs to.
133
+ * If the document does not belong to any project, returns the default project ID.
134
+ */
135
+ ownerProjectId(document: LangiumDocument | URI | string): ProjectId$1;
136
+ reloadProjects(cancelToken?: Cancellation.CancellationToken): Promise<void>;
137
+ protected _reloadProjects(cancelToken?: Cancellation.CancellationToken): Promise<void>;
138
+ protected uniqueProjectId(name: string): ProjectId$1;
139
+ protected resetCaches(): void;
140
+ rebuildProject(projectId: ProjectId$1, cancelToken?: Cancellation.CancellationToken): Promise<void>;
141
+ /**
142
+ * Returns all include paths from all projects.
143
+ * Used by WorkspaceManager to scan additional directories for C4 files.
144
+ */
145
+ getAllIncludePaths(): Array<{
146
+ projectId: ProjectId$1;
147
+ includePath: URI;
148
+ includeConfig: IncludeConfig;
149
+ }>;
150
+ /**
151
+ * Register a listener to be called when the projects configuration has changed.
152
+ * @returns A disposable that can be used to unregister the callback.
153
+ */
154
+ onProjectsUpdate(callback: () => void): Disposable;
155
+ private getWorkspaceFolder;
156
+ private notifyListeners;
157
+ private updateIncludesExcludes;
158
+ }
159
+ //#endregion
160
+ //#region src/filesystem/types.d.ts
161
+ interface FileNode extends FileSystemNode {
162
+ readonly isFile: true;
163
+ readonly isDirectory: false;
164
+ }
165
+ interface FileSystemProvider$1 extends FileSystemProvider {
166
+ /**
167
+ * Scans the project files for the given URI.
168
+ * @returns The list of file system entries that are contained within the specified directory.
169
+ */
170
+ scanProjectFiles(folderUri: URI): Promise<FileNode[]>;
171
+ /**
172
+ * Loads the project config from the given file.
173
+ * @returns The project config.
174
+ * @throws Error if the file does not exist or is not a valid project config.
175
+ */
176
+ loadProjectConfig(filepath: URI): Promise<LikeC4ProjectConfig>;
177
+ /**
178
+ * Reads the directory information for the given URI.
179
+ * @param options.recursive If true, recursively reads the directory,
180
+ * @param options.maxDepth Maximum depth to traverse when recursive is true (default: Infinity)
181
+ */
182
+ readDirectory(uri: URI, options?: {
183
+ recursive?: boolean;
184
+ maxDepth?: number;
185
+ }): Promise<FileNode[]>;
186
+ /**
187
+ * Finds all files in the given directory, matching the given filter.
188
+ */
189
+ scanDirectory(directory: URI, filter: (filepath: string) => boolean): Promise<FileNode[]>;
190
+ /**
191
+ * Writes the content to the file system.
192
+ * Used by manual layouts.
193
+ */
194
+ writeFile(uri: URI, content: string): Promise<void>;
195
+ /**
196
+ * Deletes the file from the file system.
197
+ * Used by manual layouts.
198
+ * @return true if the file was deleted, false if the file did not exist.
199
+ */
200
+ deleteFile(uri: URI): Promise<boolean>;
201
+ }
202
+ interface FileSystemModuleContext extends FileSystemWatcherModuleContext {
203
+ fileSystemProvider: () => FileSystemProvider$1;
204
+ }
205
+ interface FileSystemWatcherModuleContext {
206
+ fileSystemWatcher: (services: LikeC4SharedServices) => FileSystemWatcher;
207
+ }
208
+ interface FileSystemWatcher extends AsyncDisposable {
209
+ /**
210
+ * Watches a folder for changes and triggers a reload of the documents and projects.
211
+ */
212
+ watch(folder: string): void;
213
+ }
214
+ interface LikeC4ManualLayoutsModuleContext {
215
+ manualLayouts: (services: LikeC4SharedServices) => LikeC4ManualLayouts;
216
+ }
217
+ type ManualLayoutsSnapshot = {
218
+ hash: string;
219
+ views: Record<ViewId$1, LayoutedView$1>;
220
+ };
221
+ interface LikeC4ManualLayouts {
222
+ read(project: Project): Promise<ManualLayoutsSnapshot | null>;
223
+ write(project: Project, layouted: LayoutedView$1): Promise<Location>;
224
+ remove(project: Project, view: ViewId$1): Promise<Location | null>;
225
+ clearCaches(): void;
226
+ }
227
+ //#endregion
228
+ //#region src/filesystem/noop.d.ts
229
+ declare const NoFileSystemWatcher: FileSystemWatcherModuleContext;
230
+ declare const NoFileSystem: FileSystemModuleContext;
231
+ declare const NoLikeC4ManualLayouts: LikeC4ManualLayoutsModuleContext;
232
+ //#endregion
233
+ //#region src/filesystem/LikeC4FileSystem.d.ts
234
+ declare const WithFileSystem: (ehableWatcher?: boolean) => FileSystemModuleContext;
235
+ //#endregion
236
+ //#region src/filesystem/ChokidarWatcher.d.ts
237
+ declare const WithChokidarWatcher: FileSystemWatcherModuleContext;
238
+ //#endregion
239
+ //#region src/filesystem/LikeC4ManualLayouts.d.ts
240
+ declare const WithLikeC4ManualLayouts: LikeC4ManualLayoutsModuleContext;
241
+ //#endregion
242
+ //#region src/formatting/LikeC4Formatter.d.ts
243
+ type QuoteStyle = 'single' | 'double' | 'ignore' | 'auto';
244
+ interface LikeC4FormatterOptions {
245
+ quoteStyle: QuoteStyle;
246
+ }
247
+ type ExtendedFormattingCommandType = 'normalizeQuotes';
248
+ interface ExtendedFormattingCommand {
249
+ type: ExtendedFormattingCommandType;
250
+ region: FormattingRegion;
251
+ }
252
+ declare class LikeC4Formatter extends AbstractFormatter {
253
+ protected options: LikeC4FormatterOptions;
254
+ extendedFormattingCommands: ExtendedFormattingCommand[];
255
+ constructor(services: LikeC4Services);
256
+ protected doDocumentFormat(document: LangiumDocument, options: FormattingOptions, range?: Range): TextEdit[];
257
+ protected format(node: AstNode): void;
258
+ protected formatTags(node: AstNode): void;
259
+ protected formatDeploymentRelation(node: AstNode): void;
260
+ protected formatExtendDeployment(node: AstNode): void;
261
+ protected formatRelation(node: AstNode): void;
262
+ protected removeIndentFromTopLevelStatements(node: AstNode): void;
263
+ protected indentContentInBraces(node: AstNode): void;
264
+ protected appendKeywordsWithSpace(node: AstNode): void;
265
+ protected formatView(node: AstNode): void;
266
+ protected formatLeafProperty(node: AstNode): void;
267
+ protected formatLinkProperty(node: AstNode): void;
268
+ protected formatNavigateToProperty(node: AstNode): void;
269
+ protected formatAutolayoutProperty(node: AstNode): void;
270
+ protected formatMetadataProperty(node: AstNode): void;
271
+ protected formatElementDeclaration(node: AstNode): void;
272
+ protected formatExtendElement(node: AstNode): void;
273
+ protected formatGlobals(node: AstNode): void;
274
+ protected formatImports(node: AstNode): void;
275
+ protected formatSpecificationRule(node: AstNode): void;
276
+ protected formatWithPredicate(node: AstNode): void;
277
+ protected formatDeploymentNodeDeclaration(node: AstNode): void;
278
+ protected formatDeployedInstance(node: AstNode): void;
279
+ protected formatViewRuleGlobalStyle(node: AstNode): void;
280
+ protected formatViewRuleGlobalPredicate(node: AstNode): void;
281
+ protected formatViewRuleGroup(node: AstNode): void;
282
+ protected formatViewRuleStyle(node: AstNode): void;
283
+ protected formatWhereExpression(node: AstNode): void;
284
+ protected formatWhereRelationExpression(node: AstNode): void;
285
+ protected formatWhereElementExpression(node: AstNode): void;
286
+ protected formatIncludeExcludeExpressions(node: AstNode): void;
287
+ protected formatRelationExpression(node: AstNode): void;
288
+ private findPredicateExpressionRoot;
289
+ private on;
290
+ private doExtendedFormatting;
291
+ protected normalizeQuotes(node: AstNode): void;
292
+ private quotesNormalizerFactory;
293
+ private escapeQuotesInternalQuotes;
294
+ private getAutoQuoteStyle;
295
+ private onConfigurationUpdate;
296
+ }
297
+ //#endregion
298
+ //#region src/mcp/types.d.ts
299
+ interface LikeC4MCPServer {
300
+ readonly mcp: McpServer;
301
+ readonly isStarted: boolean;
302
+ readonly port: number;
303
+ start(port?: number): Promise<void>;
304
+ stop(): Promise<void>;
305
+ }
306
+ interface LikeC4MCPServerFactory {
307
+ create(options?: ServerOptions): McpServer;
308
+ }
309
+ interface LikeC4MCPServerModuleContext {
310
+ mcpServer: (services: LikeC4Services) => LikeC4MCPServer;
311
+ mcpServerFactory: (services: LikeC4Services) => LikeC4MCPServerFactory;
312
+ }
313
+ //#endregion
314
+ //#region src/generated/ast.d.ts
315
+ type AnyProperty = DynamicViewProperty | ElementProperty | RelationProperty | StringProperty | ViewProperty;
316
+ declare const AnyProperty = "AnyProperty";
317
+ type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
318
+ type BorderStyleValue = 'none' | LineOptions;
319
+ type ColorLiteral$1 = HexColor | RGBAColor;
320
+ declare const ColorLiteral$1 = "ColorLiteral";
321
+ type CustomColorId = 'element' | 'model' | ArrowType | ElementShape | LineOptions | Participant | string;
322
+ type DeploymentElement = DeployedInstance | DeploymentNode;
323
+ declare const DeploymentElement = "DeploymentElement";
324
+ type DeploymentNodeOrElementKind = DeploymentNodeKind | ElementKind;
325
+ declare const DeploymentNodeOrElementKind = "DeploymentNodeOrElementKind";
326
+ type DeploymentViewRule = DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout;
327
+ declare const DeploymentViewRule = "DeploymentViewRule";
328
+ type DynamicViewDisplayVariantValue = 'diagram' | 'sequence';
329
+ type DynamicViewProperty = DynamicViewDisplayVariantProperty | ViewProperty;
330
+ declare const DynamicViewProperty = "DynamicViewProperty";
331
+ type DynamicViewRule = DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleAutoLayout | ViewRuleStyleOrGlobalRef;
332
+ declare const DynamicViewRule = "DynamicViewRule";
333
+ type DynamicViewStep = DynamicStepChain | DynamicStepSingle;
334
+ declare const DynamicViewStep = "DynamicViewStep";
335
+ type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
336
+ declare const ElementProperty = "ElementProperty";
337
+ type ElementShape = 'browser' | 'bucket' | 'component' | 'cylinder' | 'document' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
338
+ type ExpressionV2 = FqnExprOrWith | RelationExprOrWith;
339
+ declare const ExpressionV2 = "ExpressionV2";
340
+ type ExtendElementProperty = LinkProperty | MetadataProperty;
341
+ declare const ExtendElementProperty = "ExtendElementProperty";
342
+ type ExtendRelationProperty = LinkProperty | MetadataProperty;
343
+ declare const ExtendRelationProperty = "ExtendRelationProperty";
344
+ type FqnExpr$2 = ElementKindExpression | ElementTagExpression | FqnRefExpr | WildcardExpression;
345
+ declare const FqnExpr$2 = "FqnExpr";
346
+ type FqnExprOrWhere = FqnExpr$2 | FqnExprWhere;
347
+ declare const FqnExprOrWhere = "FqnExprOrWhere";
348
+ type FqnExprOrWith = FqnExprOrWhere | FqnExprWith;
349
+ declare const FqnExprOrWith = "FqnExprOrWith";
350
+ type FqnReferenceable = Element | ExtendDeployment | ExtendElement | Referenceable;
351
+ declare const FqnReferenceable = "FqnReferenceable";
352
+ type IconId = string;
353
+ type IconPositionValue = 'bottom' | 'left' | 'right' | 'top';
354
+ type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | DynamicViewDisplayVariantValue | ElementShape | IconPositionValue | LineOptions | Participant | RankValue | SizeValue | ThemeColor | string;
355
+ type LikeC4View = DeploymentView | DynamicView | ElementView;
356
+ declare const LikeC4View = "LikeC4View";
357
+ type LineOptions = 'dashed' | 'dotted' | 'solid';
358
+ type MetadataProperty = MetadataBody;
359
+ declare const MetadataProperty = "MetadataProperty";
360
+ type MetadataValue = MarkdownOrString | MetadataArray;
361
+ declare const MetadataValue = "MetadataValue";
362
+ type ModelReferenceable = Element | Imported;
363
+ declare const ModelReferenceable = "ModelReferenceable";
364
+ type Participant = 'source' | 'target';
365
+ type RankValue = 'max' | 'min' | 'same' | 'sink' | 'source';
366
+ type Referenceable = DeployedInstance | DeploymentNode | Element | Imported;
367
+ declare const Referenceable = "Referenceable";
368
+ type RelationExpr$1 = DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr;
369
+ declare const RelationExpr$1 = "RelationExpr";
370
+ type RelationExprOrWhere = RelationExpr$1 | RelationExprWhere;
371
+ declare const RelationExprOrWhere = "RelationExprOrWhere";
372
+ type RelationExprOrWith = RelationExprOrWhere | RelationExprWith;
373
+ declare const RelationExprOrWith = "RelationExprOrWith";
374
+ type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProperty | RelationStringProperty | RelationStyleProperty;
375
+ declare const RelationProperty = "RelationProperty";
376
+ type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
377
+ declare const RelationshipStyleProperty = "RelationshipStyleProperty";
378
+ type SizeProperty = IconSizeProperty | PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty;
379
+ declare const SizeProperty = "SizeProperty";
380
+ type SizeValue = 'large' | 'lg' | 'md' | 'medium' | 'sm' | 'small' | 'xl' | 'xlarge' | 'xs' | 'xsmall';
381
+ type StringProperty = ElementStringProperty | MetadataAttribute | NotationProperty | NotesProperty | RelationStringProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty;
382
+ declare const StringProperty = "StringProperty";
383
+ type StyleProperty = BorderProperty | ColorProperty | IconColorProperty | IconPositionProperty | IconProperty | IconSizeProperty | MultipleProperty | OpacityProperty | PaddingSizeProperty | ShapeProperty | ShapeSizeProperty | TextSizeProperty;
384
+ declare const StyleProperty = "StyleProperty";
385
+ type ThemeColor = 'amber' | 'blue' | 'gray' | 'green' | 'indigo' | 'muted' | 'primary' | 'red' | 'secondary' | 'sky' | 'slate';
386
+ type Uri = string;
387
+ type ViewLayoutDirection = 'BottomTop' | 'LeftRight' | 'RightLeft' | 'TopBottom';
388
+ type ViewProperty = LinkProperty | ViewStringProperty;
389
+ declare const ViewProperty = "ViewProperty";
390
+ type ViewRule = ViewRuleAutoLayout | ViewRuleGlobalPredicateRef | ViewRuleGroup | ViewRulePredicate | ViewRuleRank | ViewRuleStyleOrGlobalRef;
391
+ declare const ViewRule = "ViewRule";
392
+ type ViewRuleStyleOrGlobalRef = ViewRuleGlobalStyle | ViewRuleStyle;
393
+ declare const ViewRuleStyleOrGlobalRef = "ViewRuleStyleOrGlobalRef";
394
+ type WhereElement = WhereElementKind | WhereElementTag;
395
+ declare const WhereElement = "WhereElement";
396
+ type WhereElementExpression = WhereBinaryExpression | WhereElement | WhereElementNegation;
397
+ declare const WhereElementExpression = "WhereElementExpression";
398
+ type WhereExpression = WhereElementExpression | WhereRelationExpression;
399
+ declare const WhereExpression = "WhereExpression";
400
+ type WhereKindEqual = WhereElementKind | WhereRelationKind | WhereRelationParticipantKind;
401
+ declare const WhereKindEqual = "WhereKindEqual";
402
+ type WhereRelation = WhereRelationKind | WhereRelationParticipantKind | WhereRelationParticipantTag | WhereRelationTag;
403
+ declare const WhereRelation = "WhereRelation";
404
+ type WhereRelationExpression = WhereBinaryExpression | WhereRelation | WhereRelationNegation;
405
+ declare const WhereRelationExpression = "WhereRelationExpression";
406
+ type WhereTagEqual = WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
407
+ declare const WhereTagEqual = "WhereTagEqual";
408
+ interface AbstractDynamicStep extends langium.AstNode {
409
+ readonly $container: DynamicStepChain | DynamicViewBody | DynamicViewParallelSteps;
410
+ readonly $type: 'AbstractDynamicStep' | 'DynamicStepChain' | 'DynamicStepSingle';
411
+ custom?: CustomRelationProperties;
412
+ dotKind?: RelationKindDotRef;
413
+ kind?: langium.Reference<RelationshipKind>;
414
+ target: ElementRef;
415
+ title?: string;
416
+ }
417
+ declare const AbstractDynamicStep = "AbstractDynamicStep";
418
+ interface ArrowProperty extends langium.AstNode {
419
+ readonly $container: CustomRelationProperties | RelationStyleProperty | SpecificationRelationshipKind;
420
+ readonly $type: 'ArrowProperty';
421
+ key: 'head' | 'tail';
422
+ value: ArrowType;
423
+ }
424
+ declare const ArrowProperty = "ArrowProperty";
425
+ interface BorderProperty extends langium.AstNode {
426
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleGroup | ViewRuleStyle;
427
+ readonly $type: 'BorderProperty';
428
+ key: 'border';
429
+ value: BorderStyleValue;
430
+ }
431
+ declare const BorderProperty = "BorderProperty";
432
+ interface ColorProperty extends langium.AstNode {
433
+ readonly $container: CustomElementProperties | CustomRelationProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | RelationStyleProperty | SpecificationRelationshipKind | ViewRuleGroup | ViewRuleStyle;
434
+ readonly $type: 'ColorProperty';
435
+ customColor?: langium.Reference<CustomColor>;
436
+ key: 'color';
437
+ themeColor?: ThemeColor;
438
+ }
439
+ declare const ColorProperty = "ColorProperty";
440
+ interface CustomColor extends langium.AstNode {
441
+ readonly $container: SpecificationColor;
442
+ readonly $type: 'CustomColor';
443
+ name: CustomColorId;
444
+ }
445
+ declare const CustomColor = "CustomColor";
446
+ interface CustomElementProperties extends langium.AstNode {
447
+ readonly $container: FqnExprWith;
448
+ readonly $type: 'CustomElementProperties';
449
+ props: Array<ElementStringProperty | NavigateToProperty | NotationProperty | NotesProperty | StyleProperty>;
450
+ }
451
+ declare const CustomElementProperties = "CustomElementProperties";
452
+ interface CustomRelationProperties extends langium.AstNode {
453
+ readonly $container: AbstractDynamicStep | RelationExprWith;
454
+ readonly $type: 'CustomRelationProperties';
455
+ props: Array<NotationProperty | NotesProperty | RelationNavigateToProperty | RelationStringProperty | RelationshipStyleProperty>;
456
+ }
457
+ declare const CustomRelationProperties = "CustomRelationProperties";
458
+ interface DeployedInstance extends langium.AstNode {
459
+ readonly $container: DeploymentNodeBody | ExtendDeploymentBody;
460
+ readonly $type: 'DeployedInstance';
461
+ body?: DeployedInstanceBody;
462
+ name?: Id;
463
+ summary?: string;
464
+ target: ElementRef;
465
+ title?: string;
466
+ }
467
+ declare const DeployedInstance = "DeployedInstance";
468
+ interface DeployedInstanceBody extends langium.AstNode {
469
+ readonly $container: DeployedInstance;
470
+ readonly $type: 'DeployedInstanceBody';
471
+ elements: Array<DeploymentRelation>;
472
+ props: Array<ElementProperty>;
473
+ tags?: Tags;
474
+ }
475
+ declare const DeployedInstanceBody = "DeployedInstanceBody";
476
+ interface DeploymentNode extends langium.AstNode {
477
+ readonly $container: DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
478
+ readonly $type: 'DeploymentNode';
479
+ body?: DeploymentNodeBody;
480
+ kind: langium.Reference<DeploymentNodeKind>;
481
+ name: Id;
482
+ summary?: string;
483
+ title?: string;
484
+ }
485
+ declare const DeploymentNode = "DeploymentNode";
486
+ interface DeploymentNodeBody extends langium.AstNode {
487
+ readonly $container: DeploymentNode;
488
+ readonly $type: 'DeploymentNodeBody';
489
+ elements: Array<DeployedInstance | DeploymentNode | DeploymentRelation>;
490
+ props: Array<ElementProperty>;
491
+ tags?: Tags;
492
+ }
493
+ declare const DeploymentNodeBody = "DeploymentNodeBody";
494
+ interface DeploymentNodeKind extends langium.AstNode {
495
+ readonly $container: SpecificationDeploymentNodeKind;
496
+ readonly $type: 'DeploymentNodeKind';
497
+ name: Id;
498
+ }
499
+ declare const DeploymentNodeKind = "DeploymentNodeKind";
500
+ interface DeploymentRelation extends langium.AstNode {
501
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
502
+ readonly $type: 'DeploymentRelation';
503
+ body?: DeploymentRelationBody;
504
+ description?: string;
505
+ dotKind?: RelationKindDotRef;
506
+ kind?: langium.Reference<RelationshipKind>;
507
+ source?: FqnRef$2;
508
+ tags?: Tags;
509
+ target: FqnRef$2;
510
+ technology?: string;
511
+ title?: string;
512
+ }
513
+ declare const DeploymentRelation = "DeploymentRelation";
514
+ interface DeploymentRelationBody extends langium.AstNode {
515
+ readonly $container: DeploymentRelation;
516
+ readonly $type: 'DeploymentRelationBody';
517
+ props: Array<RelationProperty>;
518
+ tags?: Tags;
519
+ }
520
+ declare const DeploymentRelationBody = "DeploymentRelationBody";
521
+ interface DeploymentView extends langium.AstNode {
522
+ readonly $container: ModelViews;
523
+ readonly $type: 'DeploymentView';
524
+ body?: DeploymentViewBody;
525
+ name: Id;
526
+ }
527
+ declare const DeploymentView = "DeploymentView";
528
+ interface DeploymentViewBody extends langium.AstNode {
529
+ readonly $container: DeploymentView;
530
+ readonly $type: 'DeploymentViewBody';
531
+ props: Array<ViewProperty>;
532
+ rules: Array<DeploymentViewRule>;
533
+ tags?: Tags;
534
+ }
535
+ declare const DeploymentViewBody = "DeploymentViewBody";
536
+ interface DeploymentViewRulePredicate extends langium.AstNode {
537
+ readonly $container: DeploymentViewBody;
538
+ readonly $type: 'DeploymentViewRulePredicate';
539
+ expr: Expressions;
540
+ isInclude: boolean;
541
+ }
542
+ declare const DeploymentViewRulePredicate = "DeploymentViewRulePredicate";
543
+ interface DeploymentViewRuleStyle extends langium.AstNode {
544
+ readonly $container: DeploymentViewBody;
545
+ readonly $type: 'DeploymentViewRuleStyle';
546
+ props: Array<NotationProperty | StyleProperty>;
547
+ targets: FqnExpressions;
548
+ }
549
+ declare const DeploymentViewRuleStyle = "DeploymentViewRuleStyle";
550
+ interface DirectedRelationExpr extends langium.AstNode {
551
+ readonly $container: Expressions | RelationExprWhere | RelationExprWith;
552
+ readonly $type: 'DirectedRelationExpr';
553
+ source: OutgoingRelationExpr;
554
+ target: FqnExpr$2;
555
+ }
556
+ declare const DirectedRelationExpr = "DirectedRelationExpr";
557
+ interface DynamicView extends langium.AstNode {
558
+ readonly $container: ModelViews;
559
+ readonly $type: 'DynamicView';
560
+ body?: DynamicViewBody;
561
+ name: Id;
562
+ }
563
+ declare const DynamicView = "DynamicView";
564
+ interface DynamicViewBody extends langium.AstNode {
565
+ readonly $container: DynamicView;
566
+ readonly $type: 'DynamicViewBody';
567
+ props: Array<DynamicViewProperty>;
568
+ rules: Array<DynamicViewRule>;
569
+ steps: Array<DynamicViewParallelSteps | DynamicViewStep>;
570
+ tags?: Tags;
571
+ }
572
+ declare const DynamicViewBody = "DynamicViewBody";
573
+ interface DynamicViewDisplayVariantProperty extends langium.AstNode {
574
+ readonly $container: DynamicViewBody;
575
+ readonly $type: 'DynamicViewDisplayVariantProperty';
576
+ key: 'variant';
577
+ value: DynamicViewDisplayVariantValue;
578
+ }
579
+ declare const DynamicViewDisplayVariantProperty = "DynamicViewDisplayVariantProperty";
580
+ interface DynamicViewGlobalPredicateRef extends langium.AstNode {
581
+ readonly $container: DynamicViewBody;
582
+ readonly $type: 'DynamicViewGlobalPredicateRef';
583
+ predicate: langium.Reference<GlobalDynamicPredicateGroup>;
584
+ }
585
+ declare const DynamicViewGlobalPredicateRef = "DynamicViewGlobalPredicateRef";
586
+ interface DynamicViewIncludePredicate extends langium.AstNode {
587
+ readonly $container: DynamicViewBody | GlobalDynamicPredicateGroup;
588
+ readonly $type: 'DynamicViewIncludePredicate';
589
+ exprs: Expressions;
590
+ }
591
+ declare const DynamicViewIncludePredicate = "DynamicViewIncludePredicate";
592
+ interface DynamicViewParallelSteps extends langium.AstNode {
593
+ readonly $container: DynamicViewBody;
594
+ readonly $type: 'DynamicViewParallelSteps';
595
+ steps: Array<DynamicViewStep>;
596
+ }
597
+ declare const DynamicViewParallelSteps = "DynamicViewParallelSteps";
598
+ interface DynamicViewRef extends langium.AstNode {
599
+ readonly $container: RelationNavigateToProperty;
600
+ readonly $type: 'DynamicViewRef';
601
+ view: langium.Reference<DynamicView>;
602
+ }
603
+ declare const DynamicViewRef = "DynamicViewRef";
604
+ interface Element extends langium.AstNode {
605
+ readonly $container: ElementBody | ExtendElementBody | Model;
606
+ readonly $type: 'Element';
607
+ body?: ElementBody;
608
+ kind: langium.Reference<ElementKind>;
609
+ name: Id;
610
+ props: Array<string>;
611
+ }
612
+ declare const Element = "Element";
613
+ interface ElementBody extends langium.AstNode {
614
+ readonly $container: Element;
615
+ readonly $type: 'ElementBody';
616
+ elements: Array<Element | Relation>;
617
+ props: Array<ElementProperty>;
618
+ tags?: Tags;
619
+ }
620
+ declare const ElementBody = "ElementBody";
621
+ interface ElementKind extends langium.AstNode {
622
+ readonly $container: SpecificationElementKind;
623
+ readonly $type: 'ElementKind';
624
+ name: Id;
625
+ }
626
+ declare const ElementKind = "ElementKind";
627
+ interface ElementKindExpression extends langium.AstNode {
628
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
629
+ readonly $type: 'ElementKindExpression';
630
+ isEqual: boolean;
631
+ kind: langium.Reference<ElementKind>;
632
+ }
633
+ declare const ElementKindExpression = "ElementKindExpression";
634
+ interface ElementRef extends langium.AstNode {
635
+ readonly $container: AbstractDynamicStep | DeployedInstance | DynamicStepSingle | ElementView;
636
+ readonly $type: 'ElementRef';
637
+ modelElement: FqnRef$2;
638
+ }
639
+ declare const ElementRef = "ElementRef";
640
+ interface ElementStringProperty extends langium.AstNode {
641
+ readonly $container: CustomElementProperties | DeployedInstanceBody | DeploymentNodeBody | ElementBody;
642
+ readonly $type: 'ElementStringProperty';
643
+ key: 'description' | 'summary' | 'technology' | 'title';
644
+ value: MarkdownOrString;
645
+ }
646
+ declare const ElementStringProperty = "ElementStringProperty";
647
+ interface ElementStyleProperty extends langium.AstNode {
648
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | ElementBody | SpecificationDeploymentNodeKind | SpecificationElementKind;
649
+ readonly $type: 'ElementStyleProperty';
650
+ key: 'style';
651
+ props: Array<StyleProperty>;
652
+ }
653
+ declare const ElementStyleProperty = "ElementStyleProperty";
654
+ interface ElementTagExpression extends langium.AstNode {
655
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
656
+ readonly $type: 'ElementTagExpression';
657
+ isEqual: boolean;
658
+ tag: TagRef;
659
+ }
660
+ declare const ElementTagExpression = "ElementTagExpression";
661
+ interface ElementView extends langium.AstNode {
662
+ readonly $container: ModelViews;
663
+ readonly $type: 'ElementView';
664
+ body?: ElementViewBody;
665
+ extends?: ElementViewRef;
666
+ name?: Id;
667
+ viewOf?: ElementRef;
668
+ }
669
+ declare const ElementView = "ElementView";
670
+ interface ElementViewBody extends langium.AstNode {
671
+ readonly $container: ElementView;
672
+ readonly $type: 'ElementViewBody';
673
+ props: Array<ViewProperty>;
674
+ rules: Array<ViewRule>;
675
+ tags?: Tags;
676
+ }
677
+ declare const ElementViewBody = "ElementViewBody";
678
+ interface ElementViewRef extends langium.AstNode {
679
+ readonly $container: ElementView;
680
+ readonly $type: 'ElementViewRef';
681
+ view: langium.Reference<ElementView>;
682
+ }
683
+ declare const ElementViewRef = "ElementViewRef";
684
+ interface Expressions extends langium.AstNode {
685
+ readonly $container: DeploymentViewRulePredicate | DynamicViewIncludePredicate | Expressions | ViewRulePredicate;
686
+ readonly $type: 'Expressions';
687
+ prev?: Expressions;
688
+ value: ExpressionV2;
689
+ }
690
+ declare const Expressions = "Expressions";
691
+ interface ExtendDeployment extends langium.AstNode {
692
+ readonly $container: ModelDeployments;
693
+ readonly $type: 'ExtendDeployment';
694
+ body: ExtendDeploymentBody;
695
+ deploymentNode: StrictFqnRef;
696
+ }
697
+ declare const ExtendDeployment = "ExtendDeployment";
698
+ interface ExtendDeploymentBody extends langium.AstNode {
699
+ readonly $container: ExtendDeployment;
700
+ readonly $type: 'ExtendDeploymentBody';
701
+ elements: Array<DeployedInstance | DeploymentNode | DeploymentRelation>;
702
+ props: Array<ExtendElementProperty>;
703
+ tags?: Tags;
704
+ }
705
+ declare const ExtendDeploymentBody = "ExtendDeploymentBody";
706
+ interface ExtendElement extends langium.AstNode {
707
+ readonly $container: Model;
708
+ readonly $type: 'ExtendElement';
709
+ body: ExtendElementBody;
710
+ element: StrictFqnElementRef;
711
+ }
712
+ declare const ExtendElement = "ExtendElement";
713
+ interface ExtendElementBody extends langium.AstNode {
714
+ readonly $container: ExtendElement;
715
+ readonly $type: 'ExtendElementBody';
716
+ elements: Array<Element | Relation>;
717
+ props: Array<ExtendElementProperty>;
718
+ tags?: Tags;
719
+ }
720
+ declare const ExtendElementBody = "ExtendElementBody";
721
+ interface ExtendRelation extends langium.AstNode {
722
+ readonly $container: Model;
723
+ readonly $type: 'ExtendRelation';
724
+ body: ExtendRelationBody;
725
+ dotKind?: RelationKindDotRef;
726
+ kind?: langium.Reference<RelationshipKind>;
727
+ source: FqnRef$2;
728
+ target: FqnRef$2;
729
+ title?: string;
730
+ }
731
+ declare const ExtendRelation = "ExtendRelation";
732
+ interface ExtendRelationBody extends langium.AstNode {
733
+ readonly $container: ExtendRelation;
734
+ readonly $type: 'ExtendRelationBody';
735
+ props: Array<ExtendRelationProperty>;
736
+ tags?: Tags;
737
+ }
738
+ declare const ExtendRelationBody = "ExtendRelationBody";
739
+ interface FqnExpressions extends langium.AstNode {
740
+ readonly $container: DeploymentViewRuleStyle | FqnExpressions | GlobalStyle | ViewRuleRank | ViewRuleStyle;
741
+ readonly $type: 'FqnExpressions';
742
+ prev?: FqnExpressions;
743
+ value: FqnExpr$2;
744
+ }
745
+ declare const FqnExpressions = "FqnExpressions";
746
+ interface FqnExprWhere extends langium.AstNode {
747
+ readonly $container: Expressions | FqnExprWith;
748
+ readonly $type: 'FqnExprWhere';
749
+ subject: FqnExpr$2;
750
+ where?: WhereElementExpression;
751
+ }
752
+ declare const FqnExprWhere = "FqnExprWhere";
753
+ interface FqnExprWith extends langium.AstNode {
754
+ readonly $container: Expressions;
755
+ readonly $type: 'FqnExprWith';
756
+ custom?: CustomElementProperties;
757
+ subject: FqnExprOrWhere;
758
+ }
759
+ declare const FqnExprWith = "FqnExprWith";
760
+ interface FqnRef$2 extends langium.AstNode {
761
+ readonly $container: DeploymentRelation | ElementRef | ExtendRelation | FqnRef$2 | FqnRefExpr | Relation;
762
+ readonly $type: 'FqnRef';
763
+ parent?: FqnRef$2;
764
+ value: langium.Reference<Referenceable>;
765
+ }
766
+ declare const FqnRef$2 = "FqnRef";
767
+ interface FqnRefExpr extends langium.AstNode {
768
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
769
+ readonly $type: 'FqnRefExpr';
770
+ ref: FqnRef$2;
771
+ selector?: string;
772
+ }
773
+ declare const FqnRefExpr = "FqnRefExpr";
774
+ interface GlobalDynamicPredicateGroup extends langium.AstNode {
775
+ readonly $container: Globals;
776
+ readonly $type: 'GlobalDynamicPredicateGroup';
777
+ name: string;
778
+ predicates: Array<DynamicViewIncludePredicate>;
779
+ }
780
+ declare const GlobalDynamicPredicateGroup = "GlobalDynamicPredicateGroup";
781
+ interface GlobalPredicateGroup extends langium.AstNode {
782
+ readonly $container: Globals;
783
+ readonly $type: 'GlobalPredicateGroup';
784
+ name: string;
785
+ predicates: Array<ViewRulePredicate>;
786
+ }
787
+ declare const GlobalPredicateGroup = "GlobalPredicateGroup";
788
+ interface Globals extends langium.AstNode {
789
+ readonly $container: LikeC4Grammar;
790
+ readonly $type: 'Globals';
791
+ name: 'global';
792
+ predicates: Array<GlobalDynamicPredicateGroup | GlobalPredicateGroup>;
793
+ styles: Array<GlobalStyle | GlobalStyleGroup>;
794
+ }
795
+ declare const Globals = "Globals";
796
+ interface GlobalStyle extends langium.AstNode {
797
+ readonly $container: Globals;
798
+ readonly $type: 'GlobalStyle';
799
+ id: GlobalStyleId;
800
+ props: Array<NotationProperty | StyleProperty>;
801
+ targets: FqnExpressions;
802
+ }
803
+ declare const GlobalStyle = "GlobalStyle";
804
+ interface GlobalStyleGroup extends langium.AstNode {
805
+ readonly $container: Globals;
806
+ readonly $type: 'GlobalStyleGroup';
807
+ id: GlobalStyleId;
808
+ styles: Array<ViewRuleStyle>;
809
+ }
810
+ declare const GlobalStyleGroup = "GlobalStyleGroup";
811
+ interface GlobalStyleId extends langium.AstNode {
812
+ readonly $container: GlobalStyle | GlobalStyleGroup;
813
+ readonly $type: 'GlobalStyleId';
814
+ name: string;
815
+ }
816
+ declare const GlobalStyleId = "GlobalStyleId";
817
+ interface HexColor extends langium.AstNode {
818
+ readonly $container: SpecificationColor | SpecificationTag;
819
+ readonly $type: 'HexColor';
820
+ hex: number | string;
821
+ }
822
+ declare const HexColor = "HexColor";
823
+ interface IconColorProperty extends langium.AstNode {
824
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
825
+ readonly $type: 'IconColorProperty';
826
+ customColor?: langium.Reference<CustomColor>;
827
+ key: 'iconColor';
828
+ themeColor?: ThemeColor;
829
+ }
830
+ declare const IconColorProperty = "IconColorProperty";
831
+ interface IconPositionProperty extends langium.AstNode {
832
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
833
+ readonly $type: 'IconPositionProperty';
834
+ key: 'iconPosition';
835
+ value: IconPositionValue;
836
+ }
837
+ declare const IconPositionProperty = "IconPositionProperty";
838
+ interface IconProperty extends langium.AstNode {
839
+ readonly $container: CustomElementProperties | DeployedInstanceBody | DeploymentNodeBody | DeploymentViewRuleStyle | ElementBody | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
840
+ readonly $type: 'IconProperty';
841
+ key: 'icon';
842
+ libicon?: langium.Reference<LibIcon>;
843
+ value?: 'none' | Uri;
844
+ }
845
+ declare const IconProperty = "IconProperty";
846
+ interface IconSizeProperty extends langium.AstNode {
847
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
848
+ readonly $type: 'IconSizeProperty';
849
+ key: 'iconSize';
850
+ value: SizeValue;
851
+ }
852
+ declare const IconSizeProperty = "IconSizeProperty";
853
+ interface Imported extends langium.AstNode {
854
+ readonly $container: Imported | ImportsFromPoject;
855
+ readonly $type: 'Imported';
856
+ imported: langium.Reference<Element>;
857
+ prev?: Imported;
858
+ }
859
+ declare const Imported = "Imported";
860
+ interface ImportsFromPoject extends langium.AstNode {
861
+ readonly $container: LikeC4Grammar;
862
+ readonly $type: 'ImportsFromPoject';
863
+ imports: Imported;
864
+ project: string;
865
+ }
866
+ declare const ImportsFromPoject = "ImportsFromPoject";
867
+ interface IncomingRelationExpr extends langium.AstNode {
868
+ readonly $container: Expressions | InOutRelationExpr | RelationExprWhere | RelationExprWith;
869
+ readonly $type: 'IncomingRelationExpr';
870
+ to: FqnExpr$2;
871
+ }
872
+ declare const IncomingRelationExpr = "IncomingRelationExpr";
873
+ interface InOutRelationExpr extends langium.AstNode {
874
+ readonly $container: Expressions | RelationExprWhere | RelationExprWith;
875
+ readonly $type: 'InOutRelationExpr';
876
+ inout: IncomingRelationExpr;
877
+ }
878
+ declare const InOutRelationExpr = "InOutRelationExpr";
879
+ interface LibIcon extends langium.AstNode {
880
+ readonly $container: LikeC4Lib;
881
+ readonly $type: 'LibIcon';
882
+ name: IconId;
883
+ }
884
+ declare const LibIcon = "LibIcon";
885
+ interface LikeC4Grammar extends langium.AstNode {
886
+ readonly $type: 'LikeC4Grammar';
887
+ deployments: Array<ModelDeployments>;
888
+ globals: Array<Globals>;
889
+ imports: Array<ImportsFromPoject>;
890
+ likec4lib: Array<LikeC4Lib>;
891
+ models: Array<Model>;
892
+ specifications: Array<SpecificationRule>;
893
+ views: Array<ModelViews>;
894
+ }
895
+ declare const LikeC4Grammar = "LikeC4Grammar";
896
+ interface LikeC4Lib extends langium.AstNode {
897
+ readonly $container: LikeC4Grammar;
898
+ readonly $type: 'LikeC4Lib';
899
+ icons: Array<LibIcon>;
900
+ }
901
+ declare const LikeC4Lib = "LikeC4Lib";
902
+ interface LineProperty extends langium.AstNode {
903
+ readonly $container: CustomRelationProperties | RelationStyleProperty | SpecificationRelationshipKind;
904
+ readonly $type: 'LineProperty';
905
+ key: 'line';
906
+ value: LineOptions;
907
+ }
908
+ declare const LineProperty = "LineProperty";
909
+ interface LinkProperty extends langium.AstNode {
910
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind;
911
+ readonly $type: 'LinkProperty';
912
+ key: 'link';
913
+ title?: string;
914
+ value: Uri;
915
+ }
916
+ declare const LinkProperty = "LinkProperty";
917
+ interface MarkdownOrString extends langium.AstNode {
918
+ readonly $container: ElementStringProperty | MetadataArray | MetadataAttribute | NotationProperty | NotesProperty | RelationStringProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty;
919
+ readonly $type: 'MarkdownOrString';
920
+ markdown?: string;
921
+ text?: string;
922
+ }
923
+ declare const MarkdownOrString = "MarkdownOrString";
924
+ interface MetadataArray extends langium.AstNode {
925
+ readonly $container: MetadataAttribute;
926
+ readonly $type: 'MetadataArray';
927
+ values: Array<MarkdownOrString>;
928
+ }
929
+ declare const MetadataArray = "MetadataArray";
930
+ interface MetadataAttribute extends langium.AstNode {
931
+ readonly $container: MetadataBody;
932
+ readonly $type: 'MetadataAttribute';
933
+ key: string;
934
+ value: MetadataValue;
935
+ }
936
+ declare const MetadataAttribute = "MetadataAttribute";
937
+ interface MetadataBody extends langium.AstNode {
938
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | RelationBody;
939
+ readonly $type: 'MetadataBody';
940
+ props: Array<MetadataAttribute>;
941
+ }
942
+ declare const MetadataBody = "MetadataBody";
943
+ interface Model extends langium.AstNode {
944
+ readonly $container: LikeC4Grammar;
945
+ readonly $type: 'Model';
946
+ elements: Array<Element | ExtendElement | ExtendRelation | Relation>;
947
+ name: 'model';
948
+ }
949
+ declare const Model = "Model";
950
+ interface ModelDeployments extends langium.AstNode {
951
+ readonly $container: LikeC4Grammar;
952
+ readonly $type: 'ModelDeployments';
953
+ elements: Array<DeploymentNode | DeploymentRelation | ExtendDeployment>;
954
+ name: 'deployment';
955
+ }
956
+ declare const ModelDeployments = "ModelDeployments";
957
+ interface ModelViews extends langium.AstNode {
958
+ readonly $container: LikeC4Grammar;
959
+ readonly $type: 'ModelViews';
960
+ folder?: string;
961
+ name: 'views';
962
+ styles: Array<ViewRuleStyleOrGlobalRef>;
963
+ views: Array<LikeC4View>;
964
+ }
965
+ declare const ModelViews = "ModelViews";
966
+ interface MultipleProperty extends langium.AstNode {
967
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
968
+ readonly $type: 'MultipleProperty';
969
+ key: 'multiple';
970
+ value: boolean;
971
+ }
972
+ declare const MultipleProperty = "MultipleProperty";
973
+ interface NavigateToProperty extends langium.AstNode {
974
+ readonly $container: CustomElementProperties;
975
+ readonly $type: 'NavigateToProperty';
976
+ key: 'navigateTo';
977
+ value: ViewRef;
978
+ }
979
+ declare const NavigateToProperty = "NavigateToProperty";
980
+ interface NotationProperty extends langium.AstNode {
981
+ readonly $container: CustomElementProperties | CustomRelationProperties | DeploymentViewRuleStyle | GlobalStyle | ViewRuleStyle;
982
+ readonly $type: 'NotationProperty';
983
+ key: 'notation';
984
+ value: MarkdownOrString;
985
+ }
986
+ declare const NotationProperty = "NotationProperty";
987
+ interface NotesProperty extends langium.AstNode {
988
+ readonly $container: CustomElementProperties | CustomRelationProperties;
989
+ readonly $type: 'NotesProperty';
990
+ key: 'notes';
991
+ value: MarkdownOrString;
992
+ }
993
+ declare const NotesProperty = "NotesProperty";
994
+ interface OpacityProperty extends langium.AstNode {
995
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleGroup | ViewRuleStyle;
996
+ readonly $type: 'OpacityProperty';
997
+ key: 'opacity';
998
+ value: string;
999
+ }
1000
+ declare const OpacityProperty = "OpacityProperty";
1001
+ interface OutgoingRelationExpr extends langium.AstNode {
1002
+ readonly $container: DirectedRelationExpr | Expressions | RelationExprWhere | RelationExprWith;
1003
+ readonly $type: 'OutgoingRelationExpr';
1004
+ dotKind?: RelationKindDotRef;
1005
+ from: FqnExpr$2;
1006
+ isBidirectional: boolean;
1007
+ kind?: langium.Reference<RelationshipKind>;
1008
+ }
1009
+ declare const OutgoingRelationExpr = "OutgoingRelationExpr";
1010
+ interface PaddingSizeProperty extends langium.AstNode {
1011
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
1012
+ readonly $type: 'PaddingSizeProperty';
1013
+ key: 'padding';
1014
+ value: SizeValue;
1015
+ }
1016
+ declare const PaddingSizeProperty = "PaddingSizeProperty";
1017
+ interface Relation extends langium.AstNode {
1018
+ readonly $container: ElementBody | ExtendElementBody | Model;
1019
+ readonly $type: 'Relation';
1020
+ body?: RelationBody;
1021
+ description?: string;
1022
+ dotKind?: RelationKindDotRef;
1023
+ kind?: langium.Reference<RelationshipKind>;
1024
+ source?: FqnRef$2;
1025
+ tags?: Tags;
1026
+ target: FqnRef$2;
1027
+ technology?: string;
1028
+ title?: string;
1029
+ }
1030
+ declare const Relation = "Relation";
1031
+ interface RelationBody extends langium.AstNode {
1032
+ readonly $container: Relation;
1033
+ readonly $type: 'RelationBody';
1034
+ props: Array<RelationProperty>;
1035
+ tags?: Tags;
1036
+ }
1037
+ declare const RelationBody = "RelationBody";
1038
+ interface RelationExprWhere extends langium.AstNode {
1039
+ readonly $container: Expressions | RelationExprWith;
1040
+ readonly $type: 'RelationExprWhere';
1041
+ subject: RelationExpr$1;
1042
+ where?: WhereRelationExpression;
1043
+ }
1044
+ declare const RelationExprWhere = "RelationExprWhere";
1045
+ interface RelationExprWith extends langium.AstNode {
1046
+ readonly $container: Expressions;
1047
+ readonly $type: 'RelationExprWith';
1048
+ custom?: CustomRelationProperties;
1049
+ subject: RelationExprOrWhere;
1050
+ }
1051
+ declare const RelationExprWith = "RelationExprWith";
1052
+ interface RelationKindDotRef extends langium.AstNode {
1053
+ readonly $container: AbstractDynamicStep | DeploymentRelation | ExtendRelation | OutgoingRelationExpr | Relation;
1054
+ readonly $type: 'RelationKindDotRef';
1055
+ kind: langium.Reference<RelationshipKind>;
1056
+ }
1057
+ declare const RelationKindDotRef = "RelationKindDotRef";
1058
+ interface RelationNavigateToProperty extends langium.AstNode {
1059
+ readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
1060
+ readonly $type: 'RelationNavigateToProperty';
1061
+ key: 'navigateTo';
1062
+ value: DynamicViewRef;
1063
+ }
1064
+ declare const RelationNavigateToProperty = "RelationNavigateToProperty";
1065
+ interface RelationshipKind extends langium.AstNode {
1066
+ readonly $container: SpecificationRelationshipKind;
1067
+ readonly $type: 'RelationshipKind';
1068
+ name: Id;
1069
+ }
1070
+ declare const RelationshipKind = "RelationshipKind";
1071
+ interface RelationStringProperty extends langium.AstNode {
1072
+ readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
1073
+ readonly $type: 'RelationStringProperty';
1074
+ key: 'description' | 'technology' | 'title';
1075
+ value: MarkdownOrString;
1076
+ }
1077
+ declare const RelationStringProperty = "RelationStringProperty";
1078
+ interface RelationStyleProperty extends langium.AstNode {
1079
+ readonly $container: DeploymentRelationBody | RelationBody;
1080
+ readonly $type: 'RelationStyleProperty';
1081
+ key: 'style';
1082
+ props: Array<RelationshipStyleProperty>;
1083
+ }
1084
+ declare const RelationStyleProperty = "RelationStyleProperty";
1085
+ interface RGBAColor extends langium.AstNode {
1086
+ readonly $container: SpecificationColor | SpecificationTag;
1087
+ readonly $type: 'RGBAColor';
1088
+ alpha?: number | string;
1089
+ blue: number;
1090
+ green: number;
1091
+ red: number;
1092
+ }
1093
+ declare const RGBAColor = "RGBAColor";
1094
+ interface ShapeProperty extends langium.AstNode {
1095
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
1096
+ readonly $type: 'ShapeProperty';
1097
+ key: 'shape';
1098
+ value: ElementShape;
1099
+ }
1100
+ declare const ShapeProperty = "ShapeProperty";
1101
+ interface ShapeSizeProperty extends langium.AstNode {
1102
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
1103
+ readonly $type: 'ShapeSizeProperty';
1104
+ key: 'size';
1105
+ value: SizeValue;
1106
+ }
1107
+ declare const ShapeSizeProperty = "ShapeSizeProperty";
1108
+ interface SpecificationColor extends langium.AstNode {
1109
+ readonly $container: SpecificationRule;
1110
+ readonly $type: 'SpecificationColor';
1111
+ color: ColorLiteral$1;
1112
+ name: CustomColor;
1113
+ }
1114
+ declare const SpecificationColor = "SpecificationColor";
1115
+ interface SpecificationDeploymentNodeKind extends langium.AstNode {
1116
+ readonly $container: SpecificationRule;
1117
+ readonly $type: 'SpecificationDeploymentNodeKind';
1118
+ kind: DeploymentNodeKind;
1119
+ props: Array<ElementStyleProperty | LinkProperty | SpecificationElementStringProperty>;
1120
+ tags?: Tags;
1121
+ }
1122
+ declare const SpecificationDeploymentNodeKind = "SpecificationDeploymentNodeKind";
1123
+ interface SpecificationElementKind extends langium.AstNode {
1124
+ readonly $container: SpecificationRule;
1125
+ readonly $type: 'SpecificationElementKind';
1126
+ kind: ElementKind;
1127
+ props: Array<ElementStyleProperty | LinkProperty | SpecificationElementStringProperty>;
1128
+ tags?: Tags;
1129
+ }
1130
+ declare const SpecificationElementKind = "SpecificationElementKind";
1131
+ interface SpecificationElementStringProperty extends langium.AstNode {
1132
+ readonly $container: SpecificationDeploymentNodeKind | SpecificationElementKind;
1133
+ readonly $type: 'SpecificationElementStringProperty';
1134
+ key: 'description' | 'notation' | 'summary' | 'technology' | 'title';
1135
+ value: MarkdownOrString;
1136
+ }
1137
+ declare const SpecificationElementStringProperty = "SpecificationElementStringProperty";
1138
+ interface SpecificationRelationshipKind extends langium.AstNode {
1139
+ readonly $container: SpecificationRule;
1140
+ readonly $type: 'SpecificationRelationshipKind';
1141
+ kind: RelationshipKind;
1142
+ props: Array<RelationshipStyleProperty | SpecificationRelationshipStringProperty>;
1143
+ }
1144
+ declare const SpecificationRelationshipKind = "SpecificationRelationshipKind";
1145
+ interface SpecificationRelationshipStringProperty extends langium.AstNode {
1146
+ readonly $container: SpecificationRelationshipKind;
1147
+ readonly $type: 'SpecificationRelationshipStringProperty';
1148
+ key: 'notation' | 'technology';
1149
+ value: MarkdownOrString;
1150
+ }
1151
+ declare const SpecificationRelationshipStringProperty = "SpecificationRelationshipStringProperty";
1152
+ interface SpecificationRule extends langium.AstNode {
1153
+ readonly $container: LikeC4Grammar;
1154
+ readonly $type: 'SpecificationRule';
1155
+ colors: Array<SpecificationColor>;
1156
+ deploymentNodes: Array<SpecificationDeploymentNodeKind>;
1157
+ elements: Array<SpecificationElementKind>;
1158
+ name: 'specification';
1159
+ relationships: Array<SpecificationRelationshipKind>;
1160
+ tags: Array<SpecificationTag>;
1161
+ }
1162
+ declare const SpecificationRule = "SpecificationRule";
1163
+ interface SpecificationTag extends langium.AstNode {
1164
+ readonly $container: SpecificationRule;
1165
+ readonly $type: 'SpecificationTag';
1166
+ color?: ColorLiteral$1;
1167
+ tag: Tag$1;
1168
+ }
1169
+ declare const SpecificationTag = "SpecificationTag";
1170
+ interface StrictFqnElementRef extends langium.AstNode {
1171
+ readonly $container: ExtendElement | StrictFqnElementRef;
1172
+ readonly $type: 'StrictFqnElementRef';
1173
+ el: langium.Reference<Element>;
1174
+ parent?: StrictFqnElementRef;
1175
+ }
1176
+ declare const StrictFqnElementRef = "StrictFqnElementRef";
1177
+ interface StrictFqnRef extends langium.AstNode {
1178
+ readonly $container: ExtendDeployment | StrictFqnRef;
1179
+ readonly $type: 'StrictFqnRef';
1180
+ parent?: StrictFqnRef;
1181
+ value: langium.Reference<Referenceable>;
1182
+ }
1183
+ declare const StrictFqnRef = "StrictFqnRef";
1184
+ interface Tag$1 extends langium.AstNode {
1185
+ readonly $container: SpecificationTag;
1186
+ readonly $type: 'Tag';
1187
+ name: Id;
1188
+ }
1189
+ declare const Tag$1 = "Tag";
1190
+ interface TagRef extends langium.AstNode {
1191
+ readonly $container: ElementTagExpression | Tags | WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
1192
+ readonly $type: 'TagRef';
1193
+ tag: langium.Reference<Tag$1>;
1194
+ }
1195
+ declare const TagRef = "TagRef";
1196
+ interface Tags extends langium.AstNode {
1197
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | Relation | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | Tags;
1198
+ readonly $type: 'Tags';
1199
+ prev?: Tags;
1200
+ values: Array<TagRef>;
1201
+ }
1202
+ declare const Tags = "Tags";
1203
+ interface TextSizeProperty extends langium.AstNode {
1204
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
1205
+ readonly $type: 'TextSizeProperty';
1206
+ key: 'textSize';
1207
+ value: SizeValue;
1208
+ }
1209
+ declare const TextSizeProperty = "TextSizeProperty";
1210
+ interface ViewRef extends langium.AstNode {
1211
+ readonly $container: NavigateToProperty;
1212
+ readonly $type: 'ViewRef';
1213
+ view: langium.Reference<LikeC4View>;
1214
+ }
1215
+ declare const ViewRef = "ViewRef";
1216
+ interface ViewRuleAutoLayout extends langium.AstNode {
1217
+ readonly $container: DeploymentViewBody | DynamicViewBody | ElementViewBody;
1218
+ readonly $type: 'ViewRuleAutoLayout';
1219
+ direction: ViewLayoutDirection;
1220
+ nodeSep?: number;
1221
+ rankSep?: number;
1222
+ }
1223
+ declare const ViewRuleAutoLayout = "ViewRuleAutoLayout";
1224
+ interface ViewRuleGlobalPredicateRef extends langium.AstNode {
1225
+ readonly $container: ElementViewBody;
1226
+ readonly $type: 'ViewRuleGlobalPredicateRef';
1227
+ predicate: langium.Reference<GlobalPredicateGroup>;
1228
+ }
1229
+ declare const ViewRuleGlobalPredicateRef = "ViewRuleGlobalPredicateRef";
1230
+ interface ViewRuleGlobalStyle extends langium.AstNode {
1231
+ readonly $container: DynamicViewBody | ElementViewBody | ModelViews;
1232
+ readonly $type: 'ViewRuleGlobalStyle';
1233
+ style: langium.Reference<GlobalStyleId>;
1234
+ }
1235
+ declare const ViewRuleGlobalStyle = "ViewRuleGlobalStyle";
1236
+ interface ViewRuleGroup extends langium.AstNode {
1237
+ readonly $container: ElementViewBody | ViewRuleGroup;
1238
+ readonly $type: 'ViewRuleGroup';
1239
+ groupRules: Array<ViewRuleGroup | ViewRulePredicate>;
1240
+ props: Array<BorderProperty | ColorProperty | OpacityProperty>;
1241
+ title?: string;
1242
+ }
1243
+ declare const ViewRuleGroup = "ViewRuleGroup";
1244
+ interface ViewRulePredicate extends langium.AstNode {
1245
+ readonly $container: ElementViewBody | GlobalPredicateGroup | ViewRuleGroup;
1246
+ readonly $type: 'ViewRulePredicate';
1247
+ exprs: Expressions;
1248
+ isInclude: boolean;
1249
+ }
1250
+ declare const ViewRulePredicate = "ViewRulePredicate";
1251
+ interface ViewRuleRank extends langium.AstNode {
1252
+ readonly $container: ElementViewBody;
1253
+ readonly $type: 'ViewRuleRank';
1254
+ targets: FqnExpressions;
1255
+ value?: RankValue;
1256
+ }
1257
+ declare const ViewRuleRank = "ViewRuleRank";
1258
+ interface ViewRuleStyle extends langium.AstNode {
1259
+ readonly $container: DynamicViewBody | ElementViewBody | GlobalStyleGroup | ModelViews;
1260
+ readonly $type: 'ViewRuleStyle';
1261
+ props: Array<NotationProperty | StyleProperty>;
1262
+ targets: FqnExpressions;
1263
+ }
1264
+ declare const ViewRuleStyle = "ViewRuleStyle";
1265
+ interface ViewStringProperty extends langium.AstNode {
1266
+ readonly $container: DeploymentViewBody | DynamicViewBody | ElementViewBody;
1267
+ readonly $type: 'ViewStringProperty';
1268
+ key: 'description' | 'title';
1269
+ value: MarkdownOrString;
1270
+ }
1271
+ declare const ViewStringProperty = "ViewStringProperty";
1272
+ interface WhereBinaryExpression extends langium.AstNode {
1273
+ readonly $container: FqnExprWhere | RelationExprWhere | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1274
+ readonly $type: 'WhereBinaryExpression';
1275
+ left: WhereElementExpression | WhereRelationExpression;
1276
+ operator: 'and' | 'or';
1277
+ right: WhereElementExpression | WhereRelationExpression;
1278
+ }
1279
+ declare const WhereBinaryExpression = "WhereBinaryExpression";
1280
+ interface WhereElementKind extends langium.AstNode {
1281
+ readonly $container: FqnExprWhere | WhereBinaryExpression | WhereElementNegation;
1282
+ readonly $type: 'WhereElementKind';
1283
+ not: boolean;
1284
+ operator: 'is' | string;
1285
+ value: langium.Reference<DeploymentNodeOrElementKind>;
1286
+ }
1287
+ declare const WhereElementKind = "WhereElementKind";
1288
+ interface WhereElementNegation extends langium.AstNode {
1289
+ readonly $container: FqnExprWhere | WhereBinaryExpression | WhereElementNegation;
1290
+ readonly $type: 'WhereElementNegation';
1291
+ value: WhereElementExpression;
1292
+ }
1293
+ declare const WhereElementNegation = "WhereElementNegation";
1294
+ interface WhereElementTag extends langium.AstNode {
1295
+ readonly $container: FqnExprWhere | WhereBinaryExpression | WhereElementNegation;
1296
+ readonly $type: 'WhereElementTag';
1297
+ not: boolean;
1298
+ operator: 'is' | string;
1299
+ value: TagRef;
1300
+ }
1301
+ declare const WhereElementTag = "WhereElementTag";
1302
+ interface WhereRelationKind extends langium.AstNode {
1303
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1304
+ readonly $type: 'WhereRelationKind';
1305
+ not: boolean;
1306
+ operator: 'is' | string;
1307
+ value: langium.Reference<RelationshipKind>;
1308
+ }
1309
+ declare const WhereRelationKind = "WhereRelationKind";
1310
+ interface WhereRelationNegation extends langium.AstNode {
1311
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1312
+ readonly $type: 'WhereRelationNegation';
1313
+ value: WhereRelationExpression;
1314
+ }
1315
+ declare const WhereRelationNegation = "WhereRelationNegation";
1316
+ interface WhereRelationParticipantKind extends langium.AstNode {
1317
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1318
+ readonly $type: 'WhereRelationParticipantKind';
1319
+ not: boolean;
1320
+ operator: 'is' | string;
1321
+ participant: Participant;
1322
+ value: langium.Reference<DeploymentNodeOrElementKind>;
1323
+ }
1324
+ declare const WhereRelationParticipantKind = "WhereRelationParticipantKind";
1325
+ interface WhereRelationParticipantTag extends langium.AstNode {
1326
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1327
+ readonly $type: 'WhereRelationParticipantTag';
1328
+ not: boolean;
1329
+ operator: 'is' | string;
1330
+ participant: Participant;
1331
+ value: TagRef;
1332
+ }
1333
+ declare const WhereRelationParticipantTag = "WhereRelationParticipantTag";
1334
+ interface WhereRelationTag extends langium.AstNode {
1335
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1336
+ readonly $type: 'WhereRelationTag';
1337
+ not: boolean;
1338
+ operator: 'is' | string;
1339
+ value: TagRef;
1340
+ }
1341
+ declare const WhereRelationTag = "WhereRelationTag";
1342
+ interface WildcardExpression extends langium.AstNode {
1343
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
1344
+ readonly $type: 'WildcardExpression';
1345
+ isWildcard: boolean;
1346
+ }
1347
+ declare const WildcardExpression = "WildcardExpression";
1348
+ interface DynamicStepChain extends AbstractDynamicStep {
1349
+ readonly $container: DynamicStepChain | DynamicViewBody | DynamicViewParallelSteps;
1350
+ readonly $type: 'DynamicStepChain';
1351
+ source: DynamicStepChain | DynamicStepSingle;
1352
+ }
1353
+ declare const DynamicStepChain = "DynamicStepChain";
1354
+ interface DynamicStepSingle extends AbstractDynamicStep {
1355
+ readonly $container: DynamicStepChain | DynamicViewBody | DynamicViewParallelSteps;
1356
+ readonly $type: 'DynamicStepSingle';
1357
+ isBackward: boolean;
1358
+ source: ElementRef;
1359
+ }
1360
+ declare const DynamicStepSingle = "DynamicStepSingle";
1361
+ type LikeC4AstType = {
1362
+ AbstractDynamicStep: AbstractDynamicStep;
1363
+ AnyProperty: AnyProperty;
1364
+ ArrowProperty: ArrowProperty;
1365
+ BorderProperty: BorderProperty;
1366
+ ColorLiteral: ColorLiteral$1;
1367
+ ColorProperty: ColorProperty;
1368
+ CustomColor: CustomColor;
1369
+ CustomElementProperties: CustomElementProperties;
1370
+ CustomRelationProperties: CustomRelationProperties;
1371
+ DeployedInstance: DeployedInstance;
1372
+ DeployedInstanceBody: DeployedInstanceBody;
1373
+ DeploymentElement: DeploymentElement;
1374
+ DeploymentNode: DeploymentNode;
1375
+ DeploymentNodeBody: DeploymentNodeBody;
1376
+ DeploymentNodeKind: DeploymentNodeKind;
1377
+ DeploymentNodeOrElementKind: DeploymentNodeOrElementKind;
1378
+ DeploymentRelation: DeploymentRelation;
1379
+ DeploymentRelationBody: DeploymentRelationBody;
1380
+ DeploymentView: DeploymentView;
1381
+ DeploymentViewBody: DeploymentViewBody;
1382
+ DeploymentViewRule: DeploymentViewRule;
1383
+ DeploymentViewRulePredicate: DeploymentViewRulePredicate;
1384
+ DeploymentViewRuleStyle: DeploymentViewRuleStyle;
1385
+ DirectedRelationExpr: DirectedRelationExpr;
1386
+ DynamicStepChain: DynamicStepChain;
1387
+ DynamicStepSingle: DynamicStepSingle;
1388
+ DynamicView: DynamicView;
1389
+ DynamicViewBody: DynamicViewBody;
1390
+ DynamicViewDisplayVariantProperty: DynamicViewDisplayVariantProperty;
1391
+ DynamicViewGlobalPredicateRef: DynamicViewGlobalPredicateRef;
1392
+ DynamicViewIncludePredicate: DynamicViewIncludePredicate;
1393
+ DynamicViewParallelSteps: DynamicViewParallelSteps;
1394
+ DynamicViewProperty: DynamicViewProperty;
1395
+ DynamicViewRef: DynamicViewRef;
1396
+ DynamicViewRule: DynamicViewRule;
1397
+ DynamicViewStep: DynamicViewStep;
1398
+ Element: Element;
1399
+ ElementBody: ElementBody;
1400
+ ElementKind: ElementKind;
1401
+ ElementKindExpression: ElementKindExpression;
1402
+ ElementProperty: ElementProperty;
1403
+ ElementRef: ElementRef;
1404
+ ElementStringProperty: ElementStringProperty;
1405
+ ElementStyleProperty: ElementStyleProperty;
1406
+ ElementTagExpression: ElementTagExpression;
1407
+ ElementView: ElementView;
1408
+ ElementViewBody: ElementViewBody;
1409
+ ElementViewRef: ElementViewRef;
1410
+ ExpressionV2: ExpressionV2;
1411
+ Expressions: Expressions;
1412
+ ExtendDeployment: ExtendDeployment;
1413
+ ExtendDeploymentBody: ExtendDeploymentBody;
1414
+ ExtendElement: ExtendElement;
1415
+ ExtendElementBody: ExtendElementBody;
1416
+ ExtendElementProperty: ExtendElementProperty;
1417
+ ExtendRelation: ExtendRelation;
1418
+ ExtendRelationBody: ExtendRelationBody;
1419
+ ExtendRelationProperty: ExtendRelationProperty;
1420
+ FqnExpr: FqnExpr$2;
1421
+ FqnExprOrWhere: FqnExprOrWhere;
1422
+ FqnExprOrWith: FqnExprOrWith;
1423
+ FqnExprWhere: FqnExprWhere;
1424
+ FqnExprWith: FqnExprWith;
1425
+ FqnExpressions: FqnExpressions;
1426
+ FqnRef: FqnRef$2;
1427
+ FqnRefExpr: FqnRefExpr;
1428
+ FqnReferenceable: FqnReferenceable;
1429
+ GlobalDynamicPredicateGroup: GlobalDynamicPredicateGroup;
1430
+ GlobalPredicateGroup: GlobalPredicateGroup;
1431
+ GlobalStyle: GlobalStyle;
1432
+ GlobalStyleGroup: GlobalStyleGroup;
1433
+ GlobalStyleId: GlobalStyleId;
1434
+ Globals: Globals;
1435
+ HexColor: HexColor;
1436
+ IconColorProperty: IconColorProperty;
1437
+ IconPositionProperty: IconPositionProperty;
1438
+ IconProperty: IconProperty;
1439
+ IconSizeProperty: IconSizeProperty;
1440
+ Imported: Imported;
1441
+ ImportsFromPoject: ImportsFromPoject;
1442
+ InOutRelationExpr: InOutRelationExpr;
1443
+ IncomingRelationExpr: IncomingRelationExpr;
1444
+ LibIcon: LibIcon;
1445
+ LikeC4Grammar: LikeC4Grammar;
1446
+ LikeC4Lib: LikeC4Lib;
1447
+ LikeC4View: LikeC4View;
1448
+ LineProperty: LineProperty;
1449
+ LinkProperty: LinkProperty;
1450
+ MarkdownOrString: MarkdownOrString;
1451
+ MetadataArray: MetadataArray;
1452
+ MetadataAttribute: MetadataAttribute;
1453
+ MetadataBody: MetadataBody;
1454
+ MetadataProperty: MetadataProperty;
1455
+ MetadataValue: MetadataValue;
1456
+ Model: Model;
1457
+ ModelDeployments: ModelDeployments;
1458
+ ModelReferenceable: ModelReferenceable;
1459
+ ModelViews: ModelViews;
1460
+ MultipleProperty: MultipleProperty;
1461
+ NavigateToProperty: NavigateToProperty;
1462
+ NotationProperty: NotationProperty;
1463
+ NotesProperty: NotesProperty;
1464
+ OpacityProperty: OpacityProperty;
1465
+ OutgoingRelationExpr: OutgoingRelationExpr;
1466
+ PaddingSizeProperty: PaddingSizeProperty;
1467
+ RGBAColor: RGBAColor;
1468
+ Referenceable: Referenceable;
1469
+ Relation: Relation;
1470
+ RelationBody: RelationBody;
1471
+ RelationExpr: RelationExpr$1;
1472
+ RelationExprOrWhere: RelationExprOrWhere;
1473
+ RelationExprOrWith: RelationExprOrWith;
1474
+ RelationExprWhere: RelationExprWhere;
1475
+ RelationExprWith: RelationExprWith;
1476
+ RelationKindDotRef: RelationKindDotRef;
1477
+ RelationNavigateToProperty: RelationNavigateToProperty;
1478
+ RelationProperty: RelationProperty;
1479
+ RelationStringProperty: RelationStringProperty;
1480
+ RelationStyleProperty: RelationStyleProperty;
1481
+ RelationshipKind: RelationshipKind;
1482
+ RelationshipStyleProperty: RelationshipStyleProperty;
1483
+ ShapeProperty: ShapeProperty;
1484
+ ShapeSizeProperty: ShapeSizeProperty;
1485
+ SizeProperty: SizeProperty;
1486
+ SpecificationColor: SpecificationColor;
1487
+ SpecificationDeploymentNodeKind: SpecificationDeploymentNodeKind;
1488
+ SpecificationElementKind: SpecificationElementKind;
1489
+ SpecificationElementStringProperty: SpecificationElementStringProperty;
1490
+ SpecificationRelationshipKind: SpecificationRelationshipKind;
1491
+ SpecificationRelationshipStringProperty: SpecificationRelationshipStringProperty;
1492
+ SpecificationRule: SpecificationRule;
1493
+ SpecificationTag: SpecificationTag;
1494
+ StrictFqnElementRef: StrictFqnElementRef;
1495
+ StrictFqnRef: StrictFqnRef;
1496
+ StringProperty: StringProperty;
1497
+ StyleProperty: StyleProperty;
1498
+ Tag: Tag$1;
1499
+ TagRef: TagRef;
1500
+ Tags: Tags;
1501
+ TextSizeProperty: TextSizeProperty;
1502
+ ViewProperty: ViewProperty;
1503
+ ViewRef: ViewRef;
1504
+ ViewRule: ViewRule;
1505
+ ViewRuleAutoLayout: ViewRuleAutoLayout;
1506
+ ViewRuleGlobalPredicateRef: ViewRuleGlobalPredicateRef;
1507
+ ViewRuleGlobalStyle: ViewRuleGlobalStyle;
1508
+ ViewRuleGroup: ViewRuleGroup;
1509
+ ViewRulePredicate: ViewRulePredicate;
1510
+ ViewRuleRank: ViewRuleRank;
1511
+ ViewRuleStyle: ViewRuleStyle;
1512
+ ViewRuleStyleOrGlobalRef: ViewRuleStyleOrGlobalRef;
1513
+ ViewStringProperty: ViewStringProperty;
1514
+ WhereBinaryExpression: WhereBinaryExpression;
1515
+ WhereElement: WhereElement;
1516
+ WhereElementExpression: WhereElementExpression;
1517
+ WhereElementKind: WhereElementKind;
1518
+ WhereElementNegation: WhereElementNegation;
1519
+ WhereElementTag: WhereElementTag;
1520
+ WhereExpression: WhereExpression;
1521
+ WhereKindEqual: WhereKindEqual;
1522
+ WhereRelation: WhereRelation;
1523
+ WhereRelationExpression: WhereRelationExpression;
1524
+ WhereRelationKind: WhereRelationKind;
1525
+ WhereRelationNegation: WhereRelationNegation;
1526
+ WhereRelationParticipantKind: WhereRelationParticipantKind;
1527
+ WhereRelationParticipantTag: WhereRelationParticipantTag;
1528
+ WhereRelationTag: WhereRelationTag;
1529
+ WhereTagEqual: WhereTagEqual;
1530
+ WildcardExpression: WildcardExpression;
1531
+ };
1532
+ //#endregion
1533
+ //#region src/validation/DocumentValidator.d.ts
1534
+ declare class LikeC4DocumentValidator extends DefaultDocumentValidator {
1535
+ protected services: LikeC4Services;
1536
+ constructor(services: LikeC4Services);
1537
+ /**
1538
+ * If the document is excluded, then we skip validation and return an empty array of diagnostics.
1539
+ */
1540
+ validateDocument(document: LangiumDocument, options?: ValidationOptions, cancelToken?: Cancellation.CancellationToken): Promise<Diagnostic[]>;
1541
+ }
1542
+ //#endregion
1543
+ //#region src/validation/index.d.ts
1544
+ declare const isValidatableAstNode: any;
1545
+ type ValidatableAstNode = GuardedBy<typeof isValidatableAstNode>;
1546
+ declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
1547
+ isValid: (n: ValidatableAstNode) => boolean;
1548
+ invalidNodes: WeakSet<WeakKey>;
1549
+ };
1550
+ type ChecksFromDiagnostics = ReturnType<typeof checksFromDiagnostics>;
1551
+ type IsValidFn = ChecksFromDiagnostics['isValid'];
1552
+ //#endregion
1553
+ //#region src/ast.d.ts
1554
+ declare module 'langium' {
1555
+ interface LangiumDocument {
1556
+ likec4ProjectId?: c4.ProjectId;
1557
+ }
1558
+ interface AstNodeDescription {
1559
+ likec4ProjectId?: c4.ProjectId;
1560
+ }
1561
+ }
1562
+ declare const idattr: unique symbol;
1563
+ declare module './generated/ast' {
1564
+ interface Element {
1565
+ [idattr]?: c4.Fqn | undefined;
1566
+ }
1567
+ interface ElementView {
1568
+ [idattr]?: c4.ViewId | undefined;
1569
+ }
1570
+ interface DynamicView {
1571
+ [idattr]?: c4.ViewId | undefined;
1572
+ }
1573
+ interface DeploymentView {
1574
+ [idattr]?: c4.ViewId | undefined;
1575
+ }
1576
+ interface DeploymentNode {
1577
+ [idattr]?: c4.Fqn | undefined;
1578
+ }
1579
+ interface DeployedInstance {
1580
+ [idattr]?: c4.Fqn | undefined;
1581
+ }
1582
+ }
1583
+ type ParsedElementStyle = {
1584
+ shape?: c4.ElementShape;
1585
+ icon?: c4.IconUrl;
1586
+ iconColor?: c4.Color;
1587
+ iconSize?: c4.ShapeSize;
1588
+ iconPosition?: c4.IconPosition;
1589
+ color?: c4.Color;
1590
+ border?: c4.BorderStyle;
1591
+ opacity?: number;
1592
+ multiple?: boolean;
1593
+ size?: c4.ShapeSize;
1594
+ padding?: c4.SpacingSize;
1595
+ textSize?: c4.TextSize;
1596
+ };
1597
+ interface ParsedAstSpecification {
1598
+ tags: Record<c4.Tag, {
1599
+ astPath: string;
1600
+ color?: c4.ColorLiteral;
1601
+ }>;
1602
+ elements: Record<c4.ElementKind, c4.ElementSpecification>;
1603
+ relationships: Record<c4.RelationshipKind, {
1604
+ technology?: string;
1605
+ notation?: string;
1606
+ color?: c4.Color;
1607
+ line?: c4.RelationshipLineType;
1608
+ head?: c4.RelationshipArrowType;
1609
+ tail?: c4.RelationshipArrowType;
1610
+ }>;
1611
+ colors: Record<c4.CustomColor, {
1612
+ color: c4.ColorLiteral;
1613
+ }>;
1614
+ deployments: Record<c4.DeploymentKind, c4.ElementSpecification>;
1615
+ }
1616
+ interface ParsedAstElement {
1617
+ id: c4.Fqn;
1618
+ astPath: string;
1619
+ kind: c4.ElementKind;
1620
+ title?: string;
1621
+ summary?: c4.MarkdownOrString;
1622
+ description?: c4.MarkdownOrString;
1623
+ technology?: string;
1624
+ tags?: c4.NonEmptyArray<c4.Tag>;
1625
+ links?: c4.NonEmptyArray<c4.Link>;
1626
+ style: ParsedElementStyle;
1627
+ metadata?: {
1628
+ [key: string]: string | string[];
1629
+ };
1630
+ }
1631
+ interface ParsedAstExtend {
1632
+ id: c4.Fqn;
1633
+ astPath: string;
1634
+ tags?: c4.NonEmptyArray<c4.Tag> | null;
1635
+ links?: c4.NonEmptyArray<c4.Link> | null;
1636
+ metadata?: {
1637
+ [key: string]: string | string[];
1638
+ };
1639
+ }
1640
+ interface ParsedAstExtendRelation {
1641
+ id: c4.RelationId;
1642
+ astPath: string;
1643
+ tags?: c4.NonEmptyArray<c4.Tag> | null;
1644
+ links?: c4.NonEmptyArray<c4.Link> | null;
1645
+ metadata?: {
1646
+ [key: string]: string | string[];
1647
+ };
1648
+ }
1649
+ interface ParsedAstRelation {
1650
+ id: c4.RelationId;
1651
+ astPath: string;
1652
+ source: c4.FqnRef.ModelRef;
1653
+ target: c4.FqnRef.ModelRef;
1654
+ kind?: c4.RelationshipKind;
1655
+ tags?: c4.NonEmptyArray<c4.Tag>;
1656
+ title: string;
1657
+ description?: c4.MarkdownOrString;
1658
+ technology?: string;
1659
+ color?: c4.Color;
1660
+ line?: c4.RelationshipLineType;
1661
+ head?: c4.RelationshipArrowType;
1662
+ tail?: c4.RelationshipArrowType;
1663
+ links?: c4.NonEmptyArray<c4.Link>;
1664
+ navigateTo?: c4.ViewId;
1665
+ metadata?: {
1666
+ [key: string]: string | string[];
1667
+ };
1668
+ }
1669
+ type ParsedAstDeployment = Simplify<MergeExclusive<ParsedAstDeployment.Node, ParsedAstDeployment.Instance>>;
1670
+ declare namespace ParsedAstDeployment {
1671
+ type Node = c4.DeploymentNode;
1672
+ type Instance = Omit<c4.DeployedInstance, 'element'> & {
1673
+ readonly element: c4.FqnRef.ModelRef;
1674
+ };
1675
+ }
1676
+ type ParsedAstDeploymentRelation = c4.DeploymentRelationship & {
1677
+ astPath: string;
1678
+ };
1679
+ type ParsedAstGlobals = Writable<c4.ModelGlobals>;
1680
+ interface ParsedAstElementView {
1681
+ id: c4.ViewId;
1682
+ viewOf?: c4.Fqn;
1683
+ extends?: c4.ViewId;
1684
+ astPath: string;
1685
+ title: string | null;
1686
+ description: c4.MarkdownOrString | null;
1687
+ tags: c4.NonEmptyArray<c4.Tag> | null;
1688
+ links: c4.NonEmptyArray<c4.Link> | null;
1689
+ rules: c4.ElementViewRule[];
1690
+ manualLayout?: c4.ViewManualLayout;
1691
+ }
1692
+ interface ParsedAstDynamicView {
1693
+ id: c4.ViewId;
1694
+ astPath: string;
1695
+ title: string | null;
1696
+ description: c4.MarkdownOrString | null;
1697
+ tags: c4.NonEmptyArray<c4.Tag> | null;
1698
+ links: c4.NonEmptyArray<c4.Link> | null;
1699
+ steps: c4.DynamicViewStep[];
1700
+ rules: Array<c4.DynamicViewRule>;
1701
+ variant: c4.DynamicViewDisplayVariant | undefined;
1702
+ manualLayout?: c4.ViewManualLayout;
1703
+ }
1704
+ interface ParsedAstDeploymentView {
1705
+ id: c4.ViewId;
1706
+ astPath: string;
1707
+ title: string | null;
1708
+ description: c4.MarkdownOrString | null;
1709
+ tags: c4.NonEmptyArray<c4.Tag> | null;
1710
+ links: c4.NonEmptyArray<c4.Link> | null;
1711
+ rules: Array<c4.DeploymentViewRule>;
1712
+ manualLayout?: c4.ViewManualLayout;
1713
+ }
1714
+ type ParsedAstView = ParsedAstElementView | ParsedAstDynamicView | ParsedAstDeploymentView;
1715
+ interface AstNodeDescriptionWithFqn extends AstNodeDescription {
1716
+ likec4ProjectId: c4.ProjectId;
1717
+ id: c4.Fqn;
1718
+ }
1719
+ type LikeC4AstNode = ValueOf<ConditionalPick<LikeC4AstType, AstNode>>;
1720
+ type LikeC4DocumentDiagnostic = Diagnostic & DiagnosticInfo<LikeC4AstNode>;
1721
+ interface LikeC4DocumentProps {
1722
+ diagnostics?: Array<LikeC4DocumentDiagnostic>;
1723
+ c4Specification?: ParsedAstSpecification;
1724
+ c4Elements?: ParsedAstElement[];
1725
+ c4ExtendElements?: ParsedAstExtend[];
1726
+ c4ExtendDeployments?: ParsedAstExtend[];
1727
+ c4ExtendRelations?: ParsedAstExtendRelation[];
1728
+ c4Relations?: ParsedAstRelation[];
1729
+ c4Globals?: ParsedAstGlobals;
1730
+ c4Views?: ParsedAstView[];
1731
+ c4Deployments?: ParsedAstDeployment[];
1732
+ c4DeploymentRelations?: ParsedAstDeploymentRelation[];
1733
+ c4Imports?: MultiMap$1<c4.ProjectId, c4.Fqn, Set<c4.Fqn>>;
1734
+ }
1735
+ type LikeC4GrammarDocument = Omit<LangiumDocument<LikeC4Grammar>, 'diagnostics'>;
1736
+ interface LikeC4LangiumDocument extends LikeC4GrammarDocument, LikeC4DocumentProps {
1737
+ likec4ProjectId: c4.ProjectId;
1738
+ }
1739
+ interface ParsedLikeC4LangiumDocument extends LikeC4GrammarDocument, Required<LikeC4DocumentProps> {
1740
+ likec4ProjectId: c4.ProjectId;
1741
+ }
1742
+ //#endregion
1743
+ //#region src/references/name-provider.d.ts
1744
+ declare class LikeC4NameProvider extends DefaultNameProvider {
1745
+ protected services: LikeC4Services;
1746
+ constructor(services: LikeC4Services);
1747
+ getNameStrict(node: AstNode): string;
1748
+ getName(node: AstNode): string | undefined;
1749
+ getNameNode(node: AstNode): CstNode | undefined;
1750
+ }
1751
+ //#endregion
1752
+ //#region src/references/scope-computation.d.ts
1753
+ type ElementsContainer = Model | ElementBody | ExtendElementBody;
1754
+ type DeploymentsContainer = ModelDeployments | DeploymentNodeBody | ExtendDeploymentBody | DeployedInstanceBody;
1755
+ declare class LikeC4ScopeComputation extends DefaultScopeComputation {
1756
+ constructor(services: LikeC4Services);
1757
+ computeExports(document: LikeC4LangiumDocument, _cancelToken?: CancellationToken): Promise<AstNodeDescription[]>;
1758
+ private exportViews;
1759
+ private exportGlobals;
1760
+ private exportModel;
1761
+ private exportLibrary;
1762
+ private exportSpecification;
1763
+ private exportDeployments;
1764
+ computeLocalScopes(document: LikeC4LangiumDocument, _cancelToken?: CancellationToken): Promise<PrecomputedScopes>;
1765
+ protected processContainer(container: ElementsContainer, scopes: PrecomputedScopes, document: LikeC4LangiumDocument): AstNodeDescription[];
1766
+ protected processDeployments(container: DeploymentsContainer, scopes: PrecomputedScopes, document: LikeC4LangiumDocument): AstNodeDescription[];
1767
+ }
1768
+ //#endregion
1769
+ //#region src/workspace/IndexManager.d.ts
1770
+ declare class IndexManager extends DefaultIndexManager {
1771
+ protected services: LikeC4SharedServices;
1772
+ constructor(services: LikeC4SharedServices);
1773
+ updateContent(document: LangiumDocument, cancelToken?: CancellationToken): Promise<void>;
1774
+ projectElements(projectId: ProjectId, nodeType?: string, uris?: Set<string>): Stream<AstNodeDescription>;
1775
+ }
1776
+ //#endregion
1777
+ //#region src/workspace/LangiumDocuments.d.ts
1778
+ declare class LangiumDocuments extends DefaultLangiumDocuments {
1779
+ protected services: LikeC4SharedServices;
1780
+ constructor(services: LikeC4SharedServices);
1781
+ protected get projectsManager(): ProjectsManager;
1782
+ addDocument(document: LangiumDocument): void;
1783
+ getDocument(uri: URI): LangiumDocument | undefined;
1784
+ /**
1785
+ * Returns all user documents
1786
+ */
1787
+ get userDocuments(): Stream<LikeC4LangiumDocument>;
1788
+ /**
1789
+ * Returns all documents (ensures project IDs are set)
1790
+ */
1791
+ get all(): Stream<LangiumDocument>;
1792
+ /**
1793
+ * Returns all documents for a project, including both project documents and documents included by the project.
1794
+ */
1795
+ projectDocuments(projectId: ProjectId): Stream<LikeC4LangiumDocument>;
1796
+ groupedByProject(): Record<ProjectId, NonEmptyArray<LikeC4LangiumDocument>>;
1797
+ /**
1798
+ * Reset the project IDs of all documents.
1799
+ * Returns the URIs
1800
+ */
1801
+ resetProjectIds(): URI[];
1802
+ }
1803
+ //#endregion
1804
+ //#region src/workspace/WorkspaceManager.d.ts
1805
+ declare class LikeC4WorkspaceManager extends DefaultWorkspaceManager {
1806
+ #private;
1807
+ private services;
1808
+ protected readonly documentFactory: LangiumDocumentFactory;
1809
+ protected readonly fileSystemProvider: FileSystemProvider$1;
1810
+ initialBuildOptions: BuildOptions;
1811
+ constructor(services: LikeC4SharedServices);
1812
+ /**
1813
+ * First load all project config files, then load all documents in the workspace.
1814
+ */
1815
+ protected performStartup(folders: WorkspaceFolder[]): Promise<LangiumDocument[]>;
1816
+ /**
1817
+ * Load all additional documents that shall be visible in the context of the given workspace
1818
+ * folders and add them to the collector. This can be used to include built-in libraries of
1819
+ * your language, which can be either loaded from provided files or constructed in memory.
1820
+ */
1821
+ protected loadAdditionalDocuments(folders: WorkspaceFolder[], collector: (document: LangiumDocument) => void): Promise<void>;
1822
+ /**
1823
+ * Determine whether the given folder entry shall be included while indexing the workspace.
1824
+ */
1825
+ protected includeEntry(_: WorkspaceFolder, entry: FileSystemNode, selector: FileSelector): boolean;
1826
+ workspace(): WorkspaceFolder | null;
1827
+ rebuildAll(cancelToken?: Cancellation.CancellationToken): Promise<void>;
1828
+ get workspaceUri(): URI$2;
1829
+ get workspaceURL(): URL;
1830
+ /**
1831
+ * Force clean all caches
1832
+ */
1833
+ forceCleanCaches(): void;
1834
+ /**
1835
+ * Register a listener to be called when caches are force cleaned
1836
+ */
1837
+ onForceCleanCache(listener: () => void): Disposable;
1838
+ }
1839
+ //#endregion
1840
+ //#region src/references/scope-provider.d.ts
1841
+ declare class LikeC4ScopeProvider extends DefaultScopeProvider {
1842
+ protected deploymentsIndex: DeploymentsIndex;
1843
+ protected fqnIndex: FqnIndex;
1844
+ protected readonly indexManager: IndexManager;
1845
+ constructor(services: LikeC4Services);
1846
+ getScope(context: ReferenceInfo): Scope;
1847
+ protected genUniqueDescedants(element: Element | DeploymentNode | undefined): Generator<AstNodeDescriptionWithFqn, void, any>;
1848
+ protected genScopeExtendElement({
1849
+ element
1850
+ }: ExtendElement): Generator<AstNodeDescription>;
1851
+ protected genScopeElementView({
1852
+ viewOf,
1853
+ extends: ext
1854
+ }: ElementView): Generator<AstNodeDescription>;
1855
+ protected getScopeForStrictFqnRef(projectId: ProjectId, container: StrictFqnRef, context: ReferenceInfo): Scope;
1856
+ protected genScopeExtendDeployment({
1857
+ deploymentNode
1858
+ }: ExtendDeployment): Generator<AstNodeDescription>;
1859
+ protected streamForFqnRef(projectId: ProjectId, container: FqnRef$2, context: ReferenceInfo): Stream<AstNodeDescription>;
1860
+ protected genScopeForParentlessFqnRef(projectId: ProjectId, container: FqnRef$2, context: ReferenceInfo): Generator<AstNodeDescription>;
1861
+ /**
1862
+ * Computes the scope for a given reference context.
1863
+ *
1864
+ * @param context - The reference information containing the context for which the scope is being computed.
1865
+ * @param referenceType - The type of reference being resolved. Defaults to the reference type derived from the context.
1866
+ * @returns A scope containing the relevant AST node descriptions for the given reference context.
1867
+ *
1868
+ * This method first checks if there are precomputed scopes available in the document. If not, it falls back to the global scope.
1869
+ * It then iterates through the container hierarchy, collecting relevant scopes based on the reference type and container type.
1870
+ * Finally, it combines the collected scopes with the global scope to produce the final scope.
1871
+ */
1872
+ protected computeScope(projectId: ProjectId, context: ReferenceInfo, referenceType?: string): Generator<AstNodeDescription>;
1873
+ /**
1874
+ * Create a global scope filtered for the given reference type.
1875
+ */
1876
+ protected getProjectScope(projectId: ProjectId, referenceType: string, context: ReferenceInfo): Scope;
1877
+ /**
1878
+ * Create a global scope filtered for the given reference type.
1879
+ */
1880
+ protected getGlobalScope(referenceType: string, context: ReferenceInfo): Scope;
1881
+ }
1882
+ //#endregion
1883
+ //#region src/utils/disposable.d.ts
1884
+ declare abstract class ADisposable implements Disposable {
1885
+ protected toDispose: Disposable[];
1886
+ protected isDisposed: boolean;
1887
+ onDispose(...disposable: Disposable[]): void;
1888
+ dispose(): void;
1889
+ protected throwIfDisposed(): void;
1890
+ }
1891
+ //#endregion
1892
+ //#region src/model/fqn-index.d.ts
1893
+ declare class FqnIndex<AstNd = Element> extends ADisposable {
1894
+ protected services: LikeC4Services;
1895
+ protected projects: ProjectsManager;
1896
+ protected langiumDocuments: LangiumDocuments;
1897
+ protected documentCache: DefaultWeakMap<LikeC4LangiumDocument, DocumentFqnIndex>;
1898
+ protected workspaceCache: WorkspaceCache<string, AstNodeDescriptionWithFqn[]>;
1899
+ protected logger: any;
1900
+ constructor(services: LikeC4Services);
1901
+ private documents;
1902
+ get(document: LikeC4LangiumDocument): DocumentFqnIndex;
1903
+ resolve(reference: Referenceable): Fqn$1;
1904
+ getFqn(el: AstNd): Fqn$1;
1905
+ byFqn(projectId: ProjectId$1, fqn: Fqn$1): Stream<AstNodeDescriptionWithFqn>;
1906
+ rootElements(projectId: ProjectId$1): Stream<AstNodeDescriptionWithFqn>;
1907
+ directChildrenOf(projectId: ProjectId$1, parent: Fqn$1): Stream<AstNodeDescriptionWithFqn>;
1908
+ /**
1909
+ * Returns descedant elements with unique names in the scope
1910
+ */
1911
+ uniqueDescedants(projectId: ProjectId$1, parent: Fqn$1): Stream<AstNodeDescriptionWithFqn>;
1912
+ protected createDocumentIndex(document: LikeC4LangiumDocument): DocumentFqnIndex;
1913
+ }
1914
+ declare class DocumentFqnIndex {
1915
+ private _rootElements;
1916
+ /**
1917
+ * direct children of elements
1918
+ */
1919
+ private _children;
1920
+ /**
1921
+ * All descendants of an element (unique by name)
1922
+ */
1923
+ private _descendants;
1924
+ /**
1925
+ * All elements by FQN
1926
+ */
1927
+ private _byfqn;
1928
+ readonly projectId: ProjectId$1;
1929
+ static readonly EMPTY: DocumentFqnIndex;
1930
+ constructor(_rootElements: Array<AstNodeDescriptionWithFqn>,
1931
+ /**
1932
+ * direct children of elements
1933
+ */
1934
+
1935
+ _children: MultiMap$1<Fqn$1, AstNodeDescriptionWithFqn>,
1936
+ /**
1937
+ * All descendants of an element (unique by name)
1938
+ */
1939
+
1940
+ _descendants: MultiMap$1<Fqn$1, AstNodeDescriptionWithFqn>,
1941
+ /**
1942
+ * All elements by FQN
1943
+ */
1944
+
1945
+ _byfqn: MultiMap$1<Fqn$1, AstNodeDescriptionWithFqn>, projectId: ProjectId$1);
1946
+ rootElements(): readonly AstNodeDescriptionWithFqn[];
1947
+ byFqn(fqn: Fqn$1): readonly AstNodeDescriptionWithFqn[];
1948
+ children(parent: Fqn$1): readonly AstNodeDescriptionWithFqn[];
1949
+ descendants(nodeName: Fqn$1): readonly AstNodeDescriptionWithFqn[];
1950
+ }
1951
+ //#endregion
1952
+ //#region src/model/deployments-index.d.ts
1953
+ declare class DeploymentsIndex extends FqnIndex<DeploymentElement> {
1954
+ protected services: LikeC4Services;
1955
+ protected Names: LikeC4NameProvider;
1956
+ protected logger: any;
1957
+ constructor(services: LikeC4Services);
1958
+ protected createDocumentIndex(document: LikeC4LangiumDocument): DocumentFqnIndex;
1959
+ }
1960
+ //#endregion
1961
+ //#region src/model/builder/MergedSpecification.d.ts
1962
+ /**
1963
+ * The `MergedSpecification` class is responsible for merging multiple parsed
1964
+ * LikeC4Langium documents into a single specification. It consolidates tags,
1965
+ * elements, deployments, relationships, and colors from the provided documents
1966
+ * and provides methods to convert parsed models into C4 model elements and relations.
1967
+ */
1968
+ declare class MergedSpecification {
1969
+ readonly specs: Omit<ParsedAstSpecification, 'tags'>;
1970
+ readonly tags: Readonly<Record<c4.Tag, c4.TagSpecification>>;
1971
+ readonly globals: c4.ModelGlobals;
1972
+ readonly imports: MultiMap$1<c4.ProjectId, c4.Fqn, Set<c4.Fqn>>;
1973
+ readonly projectId: c4.ProjectId | undefined;
1974
+ constructor(docs: ReadonlyArray<ParsedLikeC4LangiumDocument>);
1975
+ /**
1976
+ * Converts a parsed model into a C4 model element.
1977
+ */
1978
+ toModelElement: ({
1979
+ tags,
1980
+ links,
1981
+ style,
1982
+ id,
1983
+ kind,
1984
+ title,
1985
+ description,
1986
+ technology,
1987
+ summary,
1988
+ metadata
1989
+ }: ParsedAstElement) => c4.Element | null;
1990
+ /**
1991
+ * Converts a parsed model into a C4 model relation.
1992
+ */
1993
+ toModelRelation: ({
1994
+ astPath: _astPath,
1995
+ source,
1996
+ target,
1997
+ kind,
1998
+ links,
1999
+ id,
2000
+ ...model
2001
+ }: ParsedAstRelation) => c4.Relationship | null;
2002
+ /**
2003
+ * Converts a parsed deployment model into a C4 deployment model
2004
+ */
2005
+ toDeploymentElement: (parsed: ParsedAstDeployment) => c4.DeploymentElement | null;
2006
+ /**
2007
+ * Converts a parsed deployment relation into a C4 deployment relation.
2008
+ */
2009
+ toDeploymentRelation: ({
2010
+ astPath: _astPath,
2011
+ source,
2012
+ target,
2013
+ kind,
2014
+ links,
2015
+ id,
2016
+ ...model
2017
+ }: ParsedAstDeploymentRelation) => c4.DeploymentRelationship | null;
2018
+ }
2019
+ //#endregion
2020
+ //#region src/model/last-seen-artifacts.d.ts
2021
+ /**
2022
+ * Provides access to "last seen artifacts" for a given project,
2023
+ * (Results of the last successful parsing)
2024
+ */
2025
+ declare class LastSeenArtifacts {
2026
+ #private;
2027
+ constructor(services: LikeC4Services);
2028
+ rememberSpecification(specification: MergedSpecification): MergedSpecification;
2029
+ rememberModel<M extends LikeC4Model.Computed>(model: M): M;
2030
+ specification(projectId: c4.ProjectId): MergedSpecification | undefined;
2031
+ styles(projectId: c4.ProjectId): LikeC4Styles | undefined;
2032
+ model(projectId: c4.ProjectId): LikeC4Model.Computed | undefined;
2033
+ }
2034
+ //#endregion
2035
+ //#region src/model/model-builder.d.ts
2036
+ type ModelParsedListener = (docs: URI[]) => void;
2037
+ interface LikeC4ModelBuilder extends Disposable {
2038
+ parseModel(projectId?: ProjectId | undefined, cancelToken?: CancellationToken$2): Promise<LikeC4Model<UnknownParsed> | null>;
2039
+ unsafeSyncComputeModel(projectId: ProjectId): LikeC4Model<UnknownComputed>;
2040
+ computeModel(projectId?: ProjectId | undefined, cancelToken?: CancellationToken$2): Promise<LikeC4Model<UnknownComputed>>;
2041
+ onModelParsed(callback: ModelParsedListener): Disposable;
2042
+ clearCache(): void;
2043
+ }
2044
+ //#endregion
2045
+ //#region src/model/model-locator.d.ts
2046
+ type ViewLocateResult = {
2047
+ doc: ParsedLikeC4LangiumDocument;
2048
+ view: ParsedAstView;
2049
+ viewAst: LikeC4View;
2050
+ };
2051
+ declare class LikeC4ModelLocator {
2052
+ private services;
2053
+ private fqnIndex;
2054
+ private deploymentsIndex;
2055
+ private langiumDocuments;
2056
+ private parser;
2057
+ private projects;
2058
+ constructor(services: LikeC4Services);
2059
+ /**
2060
+ * Returns the parsed documents
2061
+ */
2062
+ private documents;
2063
+ getParsedElement(...args: [Element] | [c4.Fqn] | [c4.Fqn, c4.ProjectId]): null | {
2064
+ projectId: c4.ProjectId;
2065
+ element: ParsedAstElement;
2066
+ document: LangiumDocument;
2067
+ };
2068
+ private findParsedElementByFqnIn;
2069
+ locateElement(fqn: c4.Fqn, projectId?: c4.ProjectId | undefined): Location | null;
2070
+ locateDeploymentElement(deploymentFqn: c4.DeploymentFqn, projectId?: c4.ProjectId | undefined): Location | null;
2071
+ locateRelation(relationId: c4.RelationId, projectId?: c4.ProjectId): Location | null;
2072
+ locateViewAst(viewId: c4.ViewId, projectId?: c4.ProjectId | undefined): null | ViewLocateResult;
2073
+ locateView(viewId: c4.ViewId, projectId?: c4.ProjectId): Location | null;
2074
+ /**
2075
+ * Returns an array of tags with their name, color, range and whether they are defined in the specification or not.
2076
+ * If the document is not linked, it will wait until it is linked before locating the tags.
2077
+ *
2078
+ * If the document does not belong to any project, it will return null.
2079
+ */
2080
+ locateDocumentTags(documentUri: URI$2, cancelToken?: Cancellation.CancellationToken): Promise<null | Array<{
2081
+ name: Tag;
2082
+ color: c4.ColorLiteral;
2083
+ range: Range;
2084
+ isSpecification: boolean;
2085
+ }>>;
2086
+ locateDynamicViewStep(params: {
2087
+ view: c4.ViewId;
2088
+ astPath: string;
2089
+ projectId?: c4.ProjectId | undefined;
2090
+ }): Location | null;
2091
+ }
2092
+ //#endregion
2093
+ //#region src/mcp/noop.d.ts
2094
+ declare const NoMCPServer: LikeC4MCPServerModuleContext;
2095
+ //#endregion
2096
+ //#region src/mcp/server/WithMCPServer.d.ts
2097
+ declare function WithMCPServer(type?: 'stdio' | 'sse' | {
2098
+ port: number;
2099
+ }): LikeC4MCPServerModuleContext;
2100
+ //#endregion
2101
+ //#region src/views/LikeC4Views.d.ts
2102
+ type GraphvizOut = {
2103
+ readonly dot: string;
2104
+ readonly diagram: LayoutedView;
2105
+ };
2106
+ type GraphvizSvgOut = {
2107
+ readonly id: ViewId;
2108
+ readonly dot: string;
2109
+ readonly svg: string;
2110
+ };
2111
+ type LayoutViewParams = {
2112
+ viewId: ViewId;
2113
+ /**
2114
+ * Type of layout to apply
2115
+ * - 'manual' - applies manual layout if any
2116
+ * - 'auto' - returns latest version with drifts from manual layout if any
2117
+ * - undefined - returns latest layout as is
2118
+ */
2119
+ layoutType?: LayoutType | undefined;
2120
+ projectId?: ProjectId | undefined;
2121
+ cancelToken?: CancellationToken | undefined;
2122
+ };
2123
+ interface LikeC4Views {
2124
+ readonly layouter: GraphvizLayouter;
2125
+ /**
2126
+ * Returns computed views (i.e. views with predicates computed)
2127
+ *
2128
+ * @param projectId - project id, if not specified - uses the default project
2129
+ */
2130
+ computedViews(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<ComputedView[]>;
2131
+ /**
2132
+ * Layouts all views (ignoring any manual snapshots)
2133
+ *
2134
+ * @param projectId - project id, if not specified - uses the default project
2135
+ */
2136
+ layoutAllViews(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<GraphvizOut[]>;
2137
+ /**
2138
+ * Layouts a view.
2139
+ * If layoutType is 'manual' - applies manual layout if any.
2140
+ * If layoutType is 'auto' - returns latest version with drifts from manual layout if any
2141
+ * If not specified - returns latest layout as is
2142
+ *
2143
+ * If view not found in model, but there is a snapshot - it will be returned (with empty DOT)
2144
+ */
2145
+ layoutView(params: LayoutViewParams): Promise<GraphvizOut | null>;
2146
+ /**
2147
+ * Returns diagrams.
2148
+ * If diagram has manual layout, it will be used.
2149
+ * @param projectId - project id, if not specified - uses the default project
2150
+ */
2151
+ diagrams(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<Array<DiagramView>>;
2152
+ /**
2153
+ * Returns all layouted views as Graphviz output (i.e. views with layout computed)
2154
+ * @param projectId - project id, if not specified - uses the default project
2155
+ */
2156
+ viewsAsGraphvizOut(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<Array<GraphvizSvgOut>>;
2157
+ /**
2158
+ * Open view in the preview panel.
2159
+ * (works only if running as a vscode extension)
2160
+ *
2161
+ * @param projectId - project id, if not specified - uses the default project
2162
+ */
2163
+ openView(viewId: ViewId, projectId?: ProjectId | undefined): Promise<void>;
2164
+ /**
2165
+ * Computes and layouts an adhoc view (not defined in the model)
2166
+ *
2167
+ * @param projectId - project id, if not specified - uses the default project
2168
+ */
2169
+ adhocView(predicates: AdhocViewPredicate[], projectId?: ProjectId | undefined): Promise<LayoutedView>;
2170
+ }
2171
+ //#endregion
2172
+ //#region src/model/parser/Base.d.ts
2173
+ type ParserLevel = 'base' | 'model' | 'deployment' | 'fqnref' | 'relation' | 'views' | 'globals' | 'imports' | 'specification';
2174
+ declare class BaseParser {
2175
+ readonly services: LikeC4Services;
2176
+ readonly doc: ParsedLikeC4LangiumDocument;
2177
+ readonly project: Project;
2178
+ isValid: IsValidFn;
2179
+ constructor(services: LikeC4Services, doc: ParsedLikeC4LangiumDocument, project: Project);
2180
+ logError(error: unknown, astNode?: AstNode | Reference<AstNode>, level?: ParserLevel): void;
2181
+ tryParse<N extends AstNode, T>(level: ParserLevel, node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2182
+ tryMap<N extends AstNode, T>(level: ParserLevel, iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2183
+ resolveFqn(node: FqnReferenceable): c4.Fqn;
2184
+ getAstNodePath(node: AstNode): string;
2185
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2186
+ [key: string]: string | string[];
2187
+ } | undefined;
2188
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): c4.MarkdownOrString | undefined;
2189
+ convertTags<E extends {
2190
+ tags?: Tags;
2191
+ }>(withTags?: E): any;
2192
+ parseTags<E extends {
2193
+ tags?: Tags;
2194
+ }>(withTags?: E): c4.NonEmptyArray<c4.Tag> | null;
2195
+ convertLinks(source?: LinkProperty['$container']): c4.NonEmptyArray<c4.Link> | undefined;
2196
+ parseLinks(source?: LinkProperty['$container']): c4.NonEmptyArray<c4.Link> | undefined;
2197
+ parseIconProperty(prop: IconProperty | undefined): c4.IconUrl | undefined;
2198
+ parseImageAlias(value: string): string | undefined;
2199
+ parseColorLiteral(astNode: ColorLiteral$1): c4.ColorLiteral | undefined;
2200
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2201
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2202
+ /**
2203
+ * Parse base properties: title, description and technology
2204
+ *
2205
+ * @param props - body properties (inside '{...}')
2206
+ * @param override - optional, inline properties (right on the node)
2207
+ * have higher priority and override body properties
2208
+ */
2209
+ parseBaseProps(props: {
2210
+ title?: MarkdownOrString | undefined;
2211
+ summary?: MarkdownOrString | undefined;
2212
+ description?: MarkdownOrString | undefined;
2213
+ technology?: MarkdownOrString | undefined;
2214
+ }, override?: {
2215
+ title?: string | undefined;
2216
+ summary?: string | undefined;
2217
+ description?: string | undefined;
2218
+ technology?: string | undefined;
2219
+ }): {
2220
+ title?: string;
2221
+ summary?: c4.MarkdownOrString;
2222
+ description?: c4.MarkdownOrString;
2223
+ technology?: string;
2224
+ };
2225
+ }
2226
+ //#endregion
2227
+ //#region src/model/model-parser.d.ts
2228
+ declare const DocumentParserFromMixins: {
2229
+ new (...args: any[]): {
2230
+ parseGlobals(): void;
2231
+ parseAndStoreGlobalPredicateGroupOrDynamic(astRule: GlobalPredicateGroup | GlobalDynamicPredicateGroup, id: ProjectId, c4Globals: ParsedAstGlobals): void;
2232
+ parseGlobalPredicateGroup(astRule: GlobalPredicateGroup): ProjectId[];
2233
+ parseGlobalDynamicPredicateGroup(astRule: GlobalDynamicPredicateGroup): ProjectId[];
2234
+ parseGlobalStyleOrGroup(astRule: GlobalStyle | GlobalStyleGroup): ProjectId[];
2235
+ parseViews(): void;
2236
+ parseElementView(astNode: ElementView, additionalStyles: any[]): ParsedAstElementView;
2237
+ parseElementViewRule(astRule: ViewRule): ProjectId;
2238
+ parseViewRulePredicate(astNode: ViewRulePredicate): ProjectId;
2239
+ parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): ProjectId;
2240
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): any;
2241
+ parseViewRuleGroup(astNode: ViewRuleGroup): ProjectId;
2242
+ parseViewRuleRank(astRule: ViewRuleRank): ProjectId;
2243
+ parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): ProjectId;
2244
+ parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): ProjectId;
2245
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
2246
+ parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
2247
+ parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
2248
+ parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
2249
+ parseDynamicStep(node: DynamicViewStep): ProjectId | ProjectId;
2250
+ recursiveParseDynamicStepChain(node: DynamicStepChain, callstack?: Array<[source: ProjectId, target: ProjectId]>): ProjectId[];
2251
+ parseDynamicStepSingle(node: DynamicStepSingle): ProjectId;
2252
+ parseAbstractDynamicStep(astnode: AbstractDynamicStep): type_fest0.Writable<type_fest0.Except<ProjectId, "source", {
2253
+ requireExactProps: true;
2254
+ }>>;
2255
+ parsePredicate(astNode: ExpressionV2): ProjectId;
2256
+ parseElementPredicate(astNode: FqnExprOrWith): ProjectId;
2257
+ parseElementPredicateOrWhere(astNode: FqnExprOrWhere): ProjectId;
2258
+ parseElementExpression(astNode: FqnExpr$2): ProjectId;
2259
+ parseElementPredicateWhere(astNode: FqnExprWhere): ProjectId;
2260
+ parseElementPredicateWith(astNode: FqnExprWith): ProjectId;
2261
+ parseRelationPredicate(astNode: RelationExprOrWith): ProjectId;
2262
+ parseRelationPredicateOrWhere(astNode: RelationExprOrWhere): ProjectId;
2263
+ parseRelationPredicateWhere(astNode: RelationExprWhere): ProjectId;
2264
+ parseRelationPredicateWith(astNode: RelationExprWith): ProjectId;
2265
+ parseRelationExpression(astNode: RelationExpr$1): ProjectId;
2266
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2267
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2268
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2269
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2270
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2271
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2272
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2273
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2274
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2275
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2276
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2277
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2278
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2279
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2280
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2281
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2282
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2283
+ isValid: IsValidFn;
2284
+ readonly services: LikeC4Services;
2285
+ readonly doc: ParsedLikeC4LangiumDocument;
2286
+ readonly project: Project;
2287
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2288
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2289
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2290
+ resolveFqn(node: FqnReferenceable): ProjectId;
2291
+ getAstNodePath(node: langium.AstNode): string;
2292
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2293
+ [key: string]: string | string[];
2294
+ } | undefined;
2295
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2296
+ convertTags<E extends {
2297
+ tags?: Tags;
2298
+ }>(withTags?: E | undefined): any;
2299
+ parseTags<E extends {
2300
+ tags?: Tags;
2301
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2302
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2303
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2304
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2305
+ parseImageAlias(value: string): string | undefined;
2306
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2307
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2308
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2309
+ parseBaseProps(props: {
2310
+ title?: MarkdownOrString | undefined;
2311
+ summary?: MarkdownOrString | undefined;
2312
+ description?: MarkdownOrString | undefined;
2313
+ technology?: MarkdownOrString | undefined;
2314
+ }, override?: {
2315
+ title?: string | undefined;
2316
+ summary?: string | undefined;
2317
+ description?: string | undefined;
2318
+ technology?: string | undefined;
2319
+ }): {
2320
+ title?: string;
2321
+ summary?: ProjectId;
2322
+ description?: ProjectId;
2323
+ technology?: string;
2324
+ };
2325
+ parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
2326
+ parseDeploymentViewRule(astRule: DeploymentViewRule): ProjectId;
2327
+ parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): ProjectId;
2328
+ parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): ProjectId;
2329
+ parseDeployment(): void;
2330
+ parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
2331
+ parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
2332
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
2333
+ _resolveDeploymentRelationSource(node: DeploymentRelation): ProjectId;
2334
+ parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
2335
+ };
2336
+ } & {
2337
+ new (...args: any[]): {
2338
+ parseViews(): void;
2339
+ parseElementView(astNode: ElementView, additionalStyles: any[]): ParsedAstElementView;
2340
+ parseElementViewRule(astRule: ViewRule): ProjectId;
2341
+ parseViewRulePredicate(astNode: ViewRulePredicate): ProjectId;
2342
+ parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): ProjectId;
2343
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): any;
2344
+ parseViewRuleGroup(astNode: ViewRuleGroup): ProjectId;
2345
+ parseViewRuleRank(astRule: ViewRuleRank): ProjectId;
2346
+ parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): ProjectId;
2347
+ parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): ProjectId;
2348
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
2349
+ parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
2350
+ parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
2351
+ parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
2352
+ parseDynamicStep(node: DynamicViewStep): ProjectId | ProjectId;
2353
+ recursiveParseDynamicStepChain(node: DynamicStepChain, callstack?: Array<[source: ProjectId, target: ProjectId]>): ProjectId[];
2354
+ parseDynamicStepSingle(node: DynamicStepSingle): ProjectId;
2355
+ parseAbstractDynamicStep(astnode: AbstractDynamicStep): type_fest0.Writable<type_fest0.Except<ProjectId, "source", {
2356
+ requireExactProps: true;
2357
+ }>>;
2358
+ parsePredicate(astNode: ExpressionV2): ProjectId;
2359
+ parseElementPredicate(astNode: FqnExprOrWith): ProjectId;
2360
+ parseElementPredicateOrWhere(astNode: FqnExprOrWhere): ProjectId;
2361
+ parseElementExpression(astNode: FqnExpr$2): ProjectId;
2362
+ parseElementPredicateWhere(astNode: FqnExprWhere): ProjectId;
2363
+ parseElementPredicateWith(astNode: FqnExprWith): ProjectId;
2364
+ parseRelationPredicate(astNode: RelationExprOrWith): ProjectId;
2365
+ parseRelationPredicateOrWhere(astNode: RelationExprOrWhere): ProjectId;
2366
+ parseRelationPredicateWhere(astNode: RelationExprWhere): ProjectId;
2367
+ parseRelationPredicateWith(astNode: RelationExprWith): ProjectId;
2368
+ parseRelationExpression(astNode: RelationExpr$1): ProjectId;
2369
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2370
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2371
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2372
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2373
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2374
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2375
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2376
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2377
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2378
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2379
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2380
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2381
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2382
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2383
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2384
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2385
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2386
+ isValid: IsValidFn;
2387
+ readonly services: LikeC4Services;
2388
+ readonly doc: ParsedLikeC4LangiumDocument;
2389
+ readonly project: Project;
2390
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2391
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2392
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2393
+ resolveFqn(node: FqnReferenceable): ProjectId;
2394
+ getAstNodePath(node: langium.AstNode): string;
2395
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2396
+ [key: string]: string | string[];
2397
+ } | undefined;
2398
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2399
+ convertTags<E extends {
2400
+ tags?: Tags;
2401
+ }>(withTags?: E | undefined): any;
2402
+ parseTags<E extends {
2403
+ tags?: Tags;
2404
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2405
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2406
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2407
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2408
+ parseImageAlias(value: string): string | undefined;
2409
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2410
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2411
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2412
+ parseBaseProps(props: {
2413
+ title?: MarkdownOrString | undefined;
2414
+ summary?: MarkdownOrString | undefined;
2415
+ description?: MarkdownOrString | undefined;
2416
+ technology?: MarkdownOrString | undefined;
2417
+ }, override?: {
2418
+ title?: string | undefined;
2419
+ summary?: string | undefined;
2420
+ description?: string | undefined;
2421
+ technology?: string | undefined;
2422
+ }): {
2423
+ title?: string;
2424
+ summary?: ProjectId;
2425
+ description?: ProjectId;
2426
+ technology?: string;
2427
+ };
2428
+ parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
2429
+ parseDeploymentViewRule(astRule: DeploymentViewRule): ProjectId;
2430
+ parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): ProjectId;
2431
+ parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): ProjectId;
2432
+ parseDeployment(): void;
2433
+ parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
2434
+ parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
2435
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
2436
+ _resolveDeploymentRelationSource(node: DeploymentRelation): ProjectId;
2437
+ parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
2438
+ };
2439
+ } & {
2440
+ new (...args: any[]): {
2441
+ parseSpecification(): void;
2442
+ parseElementSpecificationNode(specAst: SpecificationElementKind): {};
2443
+ parseElementSpecificationNode(specAst: SpecificationDeploymentNodeKind): {};
2444
+ isValid: IsValidFn;
2445
+ readonly services: LikeC4Services;
2446
+ readonly doc: ParsedLikeC4LangiumDocument;
2447
+ readonly project: Project;
2448
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2449
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2450
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2451
+ resolveFqn(node: FqnReferenceable): ProjectId;
2452
+ getAstNodePath(node: langium.AstNode): string;
2453
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2454
+ [key: string]: string | string[];
2455
+ } | undefined;
2456
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2457
+ convertTags<E extends {
2458
+ tags?: Tags;
2459
+ }>(withTags?: E | undefined): any;
2460
+ parseTags<E extends {
2461
+ tags?: Tags;
2462
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2463
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2464
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2465
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2466
+ parseImageAlias(value: string): string | undefined;
2467
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2468
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2469
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2470
+ parseBaseProps(props: {
2471
+ title?: MarkdownOrString | undefined;
2472
+ summary?: MarkdownOrString | undefined;
2473
+ description?: MarkdownOrString | undefined;
2474
+ technology?: MarkdownOrString | undefined;
2475
+ }, override?: {
2476
+ title?: string | undefined;
2477
+ summary?: string | undefined;
2478
+ description?: string | undefined;
2479
+ technology?: string | undefined;
2480
+ }): {
2481
+ title?: string;
2482
+ summary?: ProjectId;
2483
+ description?: ProjectId;
2484
+ technology?: string;
2485
+ };
2486
+ };
2487
+ } & {
2488
+ new (...args: any[]): {
2489
+ parsePredicate(astNode: ExpressionV2): ProjectId;
2490
+ parseElementPredicate(astNode: FqnExprOrWith): ProjectId;
2491
+ parseElementPredicateOrWhere(astNode: FqnExprOrWhere): ProjectId;
2492
+ parseElementExpression(astNode: FqnExpr$2): ProjectId;
2493
+ parseElementPredicateWhere(astNode: FqnExprWhere): ProjectId;
2494
+ parseElementPredicateWith(astNode: FqnExprWith): ProjectId;
2495
+ parseRelationPredicate(astNode: RelationExprOrWith): ProjectId;
2496
+ parseRelationPredicateOrWhere(astNode: RelationExprOrWhere): ProjectId;
2497
+ parseRelationPredicateWhere(astNode: RelationExprWhere): ProjectId;
2498
+ parseRelationPredicateWith(astNode: RelationExprWith): ProjectId;
2499
+ parseRelationExpression(astNode: RelationExpr$1): ProjectId;
2500
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2501
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2502
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2503
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2504
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2505
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2506
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2507
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2508
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2509
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2510
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2511
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2512
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2513
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2514
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2515
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2516
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2517
+ isValid: IsValidFn;
2518
+ readonly services: LikeC4Services;
2519
+ readonly doc: ParsedLikeC4LangiumDocument;
2520
+ readonly project: Project;
2521
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2522
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2523
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2524
+ resolveFqn(node: FqnReferenceable): ProjectId;
2525
+ getAstNodePath(node: langium.AstNode): string;
2526
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2527
+ [key: string]: string | string[];
2528
+ } | undefined;
2529
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2530
+ convertTags<E extends {
2531
+ tags?: Tags;
2532
+ }>(withTags?: E | undefined): any;
2533
+ parseTags<E extends {
2534
+ tags?: Tags;
2535
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2536
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2537
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2538
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2539
+ parseImageAlias(value: string): string | undefined;
2540
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2541
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2542
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2543
+ parseBaseProps(props: {
2544
+ title?: MarkdownOrString | undefined;
2545
+ summary?: MarkdownOrString | undefined;
2546
+ description?: MarkdownOrString | undefined;
2547
+ technology?: MarkdownOrString | undefined;
2548
+ }, override?: {
2549
+ title?: string | undefined;
2550
+ summary?: string | undefined;
2551
+ description?: string | undefined;
2552
+ technology?: string | undefined;
2553
+ }): {
2554
+ title?: string;
2555
+ summary?: ProjectId;
2556
+ description?: ProjectId;
2557
+ technology?: string;
2558
+ };
2559
+ };
2560
+ } & {
2561
+ new (...args: any[]): {
2562
+ parseDeploymentView(astNode: DeploymentView): ParsedAstDeploymentView;
2563
+ parseDeploymentViewRule(astRule: DeploymentViewRule): ProjectId;
2564
+ parseDeploymentViewRulePredicate(astRule: DeploymentViewRulePredicate): ProjectId;
2565
+ parseDeploymentViewRuleStyle(astRule: DeploymentViewRuleStyle): ProjectId;
2566
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2567
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2568
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2569
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2570
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2571
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2572
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2573
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2574
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2575
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2576
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2577
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2578
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2579
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2580
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2581
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2582
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2583
+ isValid: IsValidFn;
2584
+ readonly services: LikeC4Services;
2585
+ readonly doc: ParsedLikeC4LangiumDocument;
2586
+ readonly project: Project;
2587
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2588
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2589
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2590
+ resolveFqn(node: FqnReferenceable): ProjectId;
2591
+ getAstNodePath(node: langium.AstNode): string;
2592
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2593
+ [key: string]: string | string[];
2594
+ } | undefined;
2595
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2596
+ convertTags<E extends {
2597
+ tags?: Tags;
2598
+ }>(withTags?: E | undefined): any;
2599
+ parseTags<E extends {
2600
+ tags?: Tags;
2601
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2602
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2603
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2604
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2605
+ parseImageAlias(value: string): string | undefined;
2606
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2607
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2608
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2609
+ parseBaseProps(props: {
2610
+ title?: MarkdownOrString | undefined;
2611
+ summary?: MarkdownOrString | undefined;
2612
+ description?: MarkdownOrString | undefined;
2613
+ technology?: MarkdownOrString | undefined;
2614
+ }, override?: {
2615
+ title?: string | undefined;
2616
+ summary?: string | undefined;
2617
+ description?: string | undefined;
2618
+ technology?: string | undefined;
2619
+ }): {
2620
+ title?: string;
2621
+ summary?: ProjectId;
2622
+ description?: ProjectId;
2623
+ technology?: string;
2624
+ };
2625
+ parseDeployment(): void;
2626
+ parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
2627
+ parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
2628
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
2629
+ _resolveDeploymentRelationSource(node: DeploymentRelation): ProjectId;
2630
+ parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
2631
+ };
2632
+ } & {
2633
+ new (...args: any[]): {
2634
+ parseDeployment(): void;
2635
+ parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
2636
+ parseDeployedInstance(astNode: DeployedInstance): ParsedAstDeployment.Instance;
2637
+ parseExtendDeployment(astNode: ExtendDeployment): ParsedAstExtend | null;
2638
+ _resolveDeploymentRelationSource(node: DeploymentRelation): ProjectId;
2639
+ parseDeploymentRelation(astNode: DeploymentRelation): ParsedAstDeploymentRelation;
2640
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2641
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2642
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2643
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2644
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2645
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2646
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2647
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2648
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2649
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2650
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2651
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2652
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2653
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2654
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2655
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2656
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2657
+ isValid: IsValidFn;
2658
+ readonly services: LikeC4Services;
2659
+ readonly doc: ParsedLikeC4LangiumDocument;
2660
+ readonly project: Project;
2661
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2662
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2663
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2664
+ resolveFqn(node: FqnReferenceable): ProjectId;
2665
+ getAstNodePath(node: langium.AstNode): string;
2666
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2667
+ [key: string]: string | string[];
2668
+ } | undefined;
2669
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2670
+ convertTags<E extends {
2671
+ tags?: Tags;
2672
+ }>(withTags?: E | undefined): any;
2673
+ parseTags<E extends {
2674
+ tags?: Tags;
2675
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2676
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2677
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2678
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2679
+ parseImageAlias(value: string): string | undefined;
2680
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2681
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2682
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2683
+ parseBaseProps(props: {
2684
+ title?: MarkdownOrString | undefined;
2685
+ summary?: MarkdownOrString | undefined;
2686
+ description?: MarkdownOrString | undefined;
2687
+ technology?: MarkdownOrString | undefined;
2688
+ }, override?: {
2689
+ title?: string | undefined;
2690
+ summary?: string | undefined;
2691
+ description?: string | undefined;
2692
+ technology?: string | undefined;
2693
+ }): {
2694
+ title?: string;
2695
+ summary?: ProjectId;
2696
+ description?: ProjectId;
2697
+ technology?: string;
2698
+ };
2699
+ };
2700
+ } & {
2701
+ new (...args: any[]): {
2702
+ parseModel(): void;
2703
+ parseElement(astNode: Element): ParsedAstElement;
2704
+ parseExtendElement(astNode: ExtendElement): ParsedAstExtend | null;
2705
+ parseExtendRelation(astNode: ExtendRelation): ParsedAstExtendRelation | null;
2706
+ _resolveRelationSource(node: Relation): ProjectId | ProjectId;
2707
+ parseRelation(astNode: Relation): ParsedAstRelation;
2708
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2709
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2710
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2711
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2712
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2713
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2714
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2715
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2716
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2717
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2718
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2719
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2720
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2721
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2722
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2723
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2724
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2725
+ isValid: IsValidFn;
2726
+ readonly services: LikeC4Services;
2727
+ readonly doc: ParsedLikeC4LangiumDocument;
2728
+ readonly project: Project;
2729
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2730
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2731
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2732
+ resolveFqn(node: FqnReferenceable): ProjectId;
2733
+ getAstNodePath(node: langium.AstNode): string;
2734
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2735
+ [key: string]: string | string[];
2736
+ } | undefined;
2737
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2738
+ convertTags<E extends {
2739
+ tags?: Tags;
2740
+ }>(withTags?: E | undefined): any;
2741
+ parseTags<E extends {
2742
+ tags?: Tags;
2743
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2744
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2745
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2746
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2747
+ parseImageAlias(value: string): string | undefined;
2748
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2749
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2750
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2751
+ parseBaseProps(props: {
2752
+ title?: MarkdownOrString | undefined;
2753
+ summary?: MarkdownOrString | undefined;
2754
+ description?: MarkdownOrString | undefined;
2755
+ technology?: MarkdownOrString | undefined;
2756
+ }, override?: {
2757
+ title?: string | undefined;
2758
+ summary?: string | undefined;
2759
+ description?: string | undefined;
2760
+ technology?: string | undefined;
2761
+ }): {
2762
+ title?: string;
2763
+ summary?: ProjectId;
2764
+ description?: ProjectId;
2765
+ technology?: string;
2766
+ };
2767
+ };
2768
+ } & {
2769
+ new (...args: any[]): {
2770
+ parseImports(): void;
2771
+ isValid: IsValidFn;
2772
+ readonly services: LikeC4Services;
2773
+ readonly doc: ParsedLikeC4LangiumDocument;
2774
+ readonly project: Project;
2775
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2776
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2777
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2778
+ resolveFqn(node: FqnReferenceable): ProjectId;
2779
+ getAstNodePath(node: langium.AstNode): string;
2780
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2781
+ [key: string]: string | string[];
2782
+ } | undefined;
2783
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2784
+ convertTags<E extends {
2785
+ tags?: Tags;
2786
+ }>(withTags?: E | undefined): any;
2787
+ parseTags<E extends {
2788
+ tags?: Tags;
2789
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2790
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2791
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2792
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2793
+ parseImageAlias(value: string): string | undefined;
2794
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2795
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2796
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2797
+ parseBaseProps(props: {
2798
+ title?: MarkdownOrString | undefined;
2799
+ summary?: MarkdownOrString | undefined;
2800
+ description?: MarkdownOrString | undefined;
2801
+ technology?: MarkdownOrString | undefined;
2802
+ }, override?: {
2803
+ title?: string | undefined;
2804
+ summary?: string | undefined;
2805
+ description?: string | undefined;
2806
+ technology?: string | undefined;
2807
+ }): {
2808
+ title?: string;
2809
+ summary?: ProjectId;
2810
+ description?: ProjectId;
2811
+ technology?: string;
2812
+ };
2813
+ };
2814
+ } & {
2815
+ new (...args: any[]): {
2816
+ parseFqnRef(astNode: FqnRef$2): ProjectId;
2817
+ parseExpressionV2(astNode: ExpressionV2): ProjectId;
2818
+ parseFqnExprOrWith(astNode: FqnExprOrWith): ProjectId;
2819
+ parseFqnExprWith(astNode: FqnExprWith): ProjectId;
2820
+ parseFqnExprOrWhere(astNode: FqnExprOrWhere): ProjectId;
2821
+ parseFqnExprWhere(astNode: FqnExprWhere): ProjectId;
2822
+ parseFqnExpr(astNode: FqnExpr$2): ProjectId;
2823
+ parseFqnRefExpr(astNode: FqnRefExpr): ProjectId;
2824
+ parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2825
+ parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2826
+ parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2827
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2828
+ parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2829
+ parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2830
+ parseRelationExpr(astNode: RelationExpr$1): ProjectId;
2831
+ parseInlineKindCondition(astNode: OutgoingRelationExpr): ProjectId | null;
2832
+ wrapInWhere(expr: ProjectId, condition: ProjectId | null): ProjectId;
2833
+ isValid: IsValidFn;
2834
+ readonly services: LikeC4Services;
2835
+ readonly doc: ParsedLikeC4LangiumDocument;
2836
+ readonly project: Project;
2837
+ logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2838
+ tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2839
+ tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2840
+ resolveFqn(node: FqnReferenceable): ProjectId;
2841
+ getAstNodePath(node: langium.AstNode): string;
2842
+ getMetadata(metadataAstNode: MetadataProperty | undefined): {
2843
+ [key: string]: string | string[];
2844
+ } | undefined;
2845
+ parseMarkdownOrString(markdownOrString: MarkdownOrString | undefined): ProjectId | undefined;
2846
+ convertTags<E extends {
2847
+ tags?: Tags;
2848
+ }>(withTags?: E | undefined): any;
2849
+ parseTags<E extends {
2850
+ tags?: Tags;
2851
+ }>(withTags?: E): ProjectId<ProjectId> | null;
2852
+ convertLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2853
+ parseLinks(source?: LinkProperty["$container"]): ProjectId<ProjectId> | undefined;
2854
+ parseIconProperty(prop: IconProperty | undefined): ProjectId | undefined;
2855
+ parseImageAlias(value: string): string | undefined;
2856
+ parseColorLiteral(astNode: ColorLiteral$1): ProjectId | undefined;
2857
+ parseElementStyle(elementProps: Array<ElementProperty> | ElementStyleProperty | undefined): ParsedElementStyle;
2858
+ parseStyleProps(styleProps: Array<StyleProperty> | undefined): ParsedElementStyle;
2859
+ parseBaseProps(props: {
2860
+ title?: MarkdownOrString | undefined;
2861
+ summary?: MarkdownOrString | undefined;
2862
+ description?: MarkdownOrString | undefined;
2863
+ technology?: MarkdownOrString | undefined;
2864
+ }, override?: {
2865
+ title?: string | undefined;
2866
+ summary?: string | undefined;
2867
+ description?: string | undefined;
2868
+ technology?: string | undefined;
2869
+ }): {
2870
+ title?: string;
2871
+ summary?: ProjectId;
2872
+ description?: ProjectId;
2873
+ technology?: string;
2874
+ };
2875
+ };
2876
+ } & typeof BaseParser;
2877
+ declare class DocumentParser extends DocumentParserFromMixins {}
2878
+ declare class LikeC4ModelParser {
2879
+ private services;
2880
+ protected cachedParsers: any;
2881
+ constructor(services: LikeC4Services);
2882
+ documents(projectId: ProjectId): Stream<ParsedLikeC4LangiumDocument>;
2883
+ parse(doc: LangiumDocument): ParsedLikeC4LangiumDocument;
2884
+ forDocument(doc: LangiumDocument): DocumentParser;
2885
+ private createParser;
2886
+ }
2887
+ //#endregion
2888
+ //#region src/model/parser/ValueConverter.d.ts
2889
+ declare class LikeC4ValueConverter extends DefaultValueConverter {
2890
+ protected runConverter(rule: any, input: string, cstNode: CstNode): ValueType;
2891
+ }
2892
+ //#endregion
2893
+ //#region src/model-change/ModelChanges.d.ts
2894
+ declare class LikeC4ModelChanges {
2895
+ private services;
2896
+ private locator;
2897
+ constructor(services: LikeC4Services);
2898
+ applyChange(changeView: ChangeView.Params): Promise<ChangeView.Res>;
2899
+ protected convertToTextEdit({
2900
+ lookup,
2901
+ change
2902
+ }: {
2903
+ lookup: ViewLocateResult;
2904
+ change: Exclude<ViewChange, ViewChange.SaveViewSnapshot | ViewChange.ResetManualLayout>;
2905
+ }): {
2906
+ modifiedRange: Range;
2907
+ edits: TextEdit[];
2908
+ };
2909
+ }
2910
+ //#endregion
2911
+ //#region src/LikeC4LanguageServices.d.ts
2912
+ interface LikeC4LanguageServices {
2913
+ readonly views: LikeC4Views;
2914
+ readonly builder: LikeC4ModelBuilder;
2915
+ readonly workspaceUri: URI;
2916
+ readonly projectsManager: ProjectsManager;
2917
+ readonly editor: LikeC4ModelChanges;
2918
+ readonly mcpServer: LikeC4MCPServer | null;
2919
+ /**
2920
+ * Returns all projects with relevant documents
2921
+ */
2922
+ projects(): NonEmptyArray<{
2923
+ id: ProjectId;
2924
+ folder: URI;
2925
+ title: string;
2926
+ documents: ReadonlyArray<URI>;
2927
+ config: Readonly<LikeC4ProjectConfig>;
2928
+ }>;
2929
+ /**
2930
+ * Returns project by ID, returns default project if no ID is specified
2931
+ */
2932
+ project(projectId?: ProjectId): {
2933
+ id: ProjectId;
2934
+ folder: URI;
2935
+ title: string;
2936
+ documents: ReadonlyArray<URI>;
2937
+ config: Readonly<LikeC4ProjectConfig>;
2938
+ };
2939
+ /**
2940
+ * Computes and layouts projects overview - a special diagram
2941
+ * that shows all projects and their relationships
2942
+ */
2943
+ projectsOverview(cancelToken?: CancellationToken$2): Promise<LayoutedProjectsView$1>;
2944
+ /**
2945
+ * Returns {@link LikeC4Model} of the specified project, with computed views {@link ComputedView}
2946
+ * Not ready for rendering, but enough to traverse model. Much faster than {@link layoutedModel}
2947
+ *
2948
+ * If no {@link project} is specified, returns for default project
2949
+ */
2950
+ computedModel(project?: ProjectId | undefined, cancelToken?: CancellationToken$2): Promise<LikeC4Model<UnknownComputed>>;
2951
+ /**
2952
+ * Returns {@link LikeC4Model} of the specified project, with layouted views {@link LayoutedView}
2953
+ * Ready for rendering. Applies manual layouts if available.
2954
+ *
2955
+ * If no {@link project} is specified, returns for default project
2956
+ */
2957
+ layoutedModel(project?: ProjectId | undefined, cancelToken?: CancellationToken$2): Promise<LikeC4Model<UnknownLayouted>>;
2958
+ /**
2959
+ * Returns diagrams (i.e. layouted views {@link LayoutedView}) for the specified project
2960
+ * Applies manual layouts if available.
2961
+ *
2962
+ * If no {@link project} is specified, returns diagrams for default project
2963
+ */
2964
+ diagrams(project?: ProjectId | undefined, cancelToken?: CancellationToken$2): Promise<LayoutedView[]>;
2965
+ getErrors(): Array<{
2966
+ message: string;
2967
+ line: number;
2968
+ range: Range;
2969
+ sourceFsPath: string;
2970
+ }>;
2971
+ /**
2972
+ * Returns the location of the specified element, relation, view or deployment element
2973
+ */
2974
+ locate(params: Locate.Params): Locate.Res;
2975
+ dispose(): Promise<void>;
2976
+ }
2977
+ //#endregion
2978
+ //#region src/lsp/CodeLensProvider.d.ts
2979
+ declare class LikeC4CodeLensProvider implements CodeLensProvider {
2980
+ private services;
2981
+ constructor(services: LikeC4Services);
2982
+ provideCodeLens(doc: LangiumDocument, _params: CodeLensParams, cancelToken?: CancellationToken): Promise<CodeLens[] | undefined>;
2983
+ }
2984
+ //#endregion
2985
+ //#region src/lsp/CompletionProvider.d.ts
2986
+ declare class LikeC4CompletionProvider extends DefaultCompletionProvider {
2987
+ protected services: LikeC4Services;
2988
+ constructor(services: LikeC4Services);
2989
+ readonly completionOptions: {
2990
+ triggerCharacters: string[];
2991
+ };
2992
+ protected completionFor(context: CompletionContext, next: NextFeature, acceptor: CompletionAcceptor): MaybePromise<void>;
2993
+ protected completionForKeyword(context: CompletionContext, keyword: GrammarAST.Keyword, acceptor: CompletionAcceptor): MaybePromise<void>;
2994
+ protected completionForImportedProject(context: CompletionContext, acceptor: CompletionAcceptor): void;
2995
+ }
2996
+ //#endregion
2997
+ //#region src/lsp/DocumentHighlightProvider.d.ts
2998
+ declare class LikeC4DocumentHighlightProvider extends DefaultDocumentHighlightProvider {
2999
+ /**
3000
+ * Override this method to determine the highlight kind of the given reference.
3001
+ */
3002
+ protected createDocumentHighlight(reference: ReferenceDescription): DocumentHighlight;
3003
+ }
3004
+ //#endregion
3005
+ //#region src/lsp/DocumentLinkProvider.d.ts
3006
+ declare class LikeC4DocumentLinkProvider implements DocumentLinkProvider {
3007
+ private services;
3008
+ constructor(services: LikeC4Services);
3009
+ getDocumentLinks(doc: LangiumDocument, _params: DocumentLinkParams, _cancelToken?: CancellationToken): Promise<DocumentLink[]>;
3010
+ resolveLink(doc: LangiumDocument, link: string): string;
3011
+ relativeLink(doc: LangiumDocument, link: string): string | null;
3012
+ }
3013
+ //#endregion
3014
+ //#region src/lsp/DocumentSymbolProvider.d.ts
3015
+ declare class LikeC4DocumentSymbolProvider implements DocumentSymbolProvider {
3016
+ private services;
3017
+ protected readonly nodeKindProvider: NodeKindProvider;
3018
+ protected readonly nameProvider: LikeC4NameProvider;
3019
+ protected readonly parser: LikeC4ModelParser;
3020
+ protected readonly locator: LikeC4ModelLocator;
3021
+ constructor(services: LikeC4Services);
3022
+ getSymbols(doc: LangiumDocument, _params: DocumentSymbolParams, cancelToken?: CancellationToken): Promise<DocumentSymbol[]>;
3023
+ protected getLikec4LibSymbol(astLib: LikeC4Lib): DocumentSymbol[];
3024
+ protected getSpecSymbol(astSpec: SpecificationRule): DocumentSymbol[];
3025
+ protected getModelSymbol(astModel: Model): DocumentSymbol[];
3026
+ protected getDeploymentModelSymbol(astModel: ModelDeployments): DocumentSymbol[];
3027
+ protected getElementsSymbol(el: Element | Relation | ExtendElement): DocumentSymbol[];
3028
+ protected getExtendElementSymbol(astElement: ExtendElement): DocumentSymbol[];
3029
+ protected getElementSymbol(astElement: Element): DocumentSymbol[];
3030
+ protected getModelViewsSymbol(astViews: ModelViews): DocumentSymbol[];
3031
+ protected getKindSymbol(astKind: SpecificationElementKind | SpecificationRelationshipKind): DocumentSymbol | null;
3032
+ protected getTagSymbol(astTag: SpecificationTag): DocumentSymbol | null;
3033
+ protected getLibIconSymbol(astTag: LibIcon): DocumentSymbol | null;
3034
+ protected getViewSymbol(astView: LikeC4View): DocumentSymbol[];
3035
+ protected getDeploymentElementSymbol(el: DeploymentElement | DeploymentRelation | ExtendDeployment): DocumentSymbol[];
3036
+ protected getDeploymentNodeSymbol(astElement: DeploymentNode): DocumentSymbol[];
3037
+ protected getDeployedInstanceSymbol(astElement: DeployedInstance): DocumentSymbol[];
3038
+ protected symbolKind(node: AstNode): SymbolKind;
3039
+ }
3040
+ //#endregion
3041
+ //#region src/lsp/HoverProvider.d.ts
3042
+ declare class LikeC4HoverProvider extends AstNodeHoverProvider {
3043
+ protected services: LikeC4Services;
3044
+ private parser;
3045
+ private locator;
3046
+ constructor(services: LikeC4Services);
3047
+ protected getAstNodeHoverContent(node: AstNode): MaybePromise<Hover | undefined>;
3048
+ protected getElementHover(node: Element): MaybePromise<Hover | undefined>;
3049
+ protected getElementModelHover(model: ElementModel, projectId: ProjectId): string | undefined;
3050
+ protected getDeploymentNodeHover(node: DeploymentNode): MaybePromise<Hover | undefined>;
3051
+ protected getDeployedInstanceHover(node: DeployedInstance): MaybePromise<Hover | undefined>;
3052
+ }
3053
+ //#endregion
3054
+ //#region src/lsp/CodeActionProvider.d.ts
3055
+ type CommandOrCodeAction = Command | CodeAction;
3056
+ declare class LikeC4CodeActionProvider implements CodeActionProvider {
3057
+ /**
3058
+ * Handle a code action request.
3059
+ *
3060
+ * @throws `OperationCancelled` if cancellation is detected during execution
3061
+ * @throws `ResponseError` if an error is detected that should be sent as response to the client
3062
+ */
3063
+ getCodeActions(document: LangiumDocument, params: CodeActionParams): CommandOrCodeAction[] | undefined;
3064
+ }
3065
+ //#endregion
3066
+ //#region src/lsp/SemanticTokenProvider.d.ts
3067
+ declare class LikeC4SemanticTokenProvider extends AbstractSemanticTokenProvider {
3068
+ protected services: LikeC4Services;
3069
+ private rules;
3070
+ constructor(services: LikeC4Services);
3071
+ protected initRules(): void;
3072
+ semanticHighlight(document: LangiumDocument, params: SemanticTokensParams, cancelToken?: CancellationToken$1): Promise<SemanticTokens>;
3073
+ semanticHighlightRange(document: LangiumDocument, params: SemanticTokensRangeParams, cancelToken?: CancellationToken$1): Promise<SemanticTokens>;
3074
+ semanticHighlightDelta(document: LangiumDocument, params: SemanticTokensDeltaParams, cancelToken?: CancellationToken$1): Promise<SemanticTokens | SemanticTokensDelta>;
3075
+ protected ensureState(document: LangiumDocument, cancelToken: CancellationToken$1): Promise<void>;
3076
+ protected highlightElement(node: AstNode, acceptor: SemanticTokenAcceptor): void | undefined | 'prune';
3077
+ private highlightNameAndKind;
3078
+ private highlightView;
3079
+ private mark;
3080
+ }
3081
+ //#endregion
3082
+ //#region src/Rpc.d.ts
3083
+ declare class Rpc extends ADisposable {
3084
+ private services;
3085
+ constructor(services: LikeC4Services);
3086
+ init: () => void;
3087
+ openView(params: DidRequestOpenViewNotification.Params): Promise<void>;
3088
+ }
3089
+ //#endregion
3090
+ //#region src/shared/NodeKindProvider.d.ts
3091
+ declare class NodeKindProvider$1 implements NodeKindProvider {
3092
+ private services;
3093
+ constructor(services: LangiumSharedServices);
3094
+ /**
3095
+ * Returns a `SymbolKind` as used by `WorkspaceSymbolProvider` or `DocumentSymbolProvider`.
3096
+ */
3097
+ getSymbolKind(node: AstNode | AstNodeDescription): SymbolKind;
3098
+ /**
3099
+ * Returns a `CompletionItemKind` as used by the `CompletionProvider`.
3100
+ */
3101
+ getCompletionItemKind(node: AstNode | AstNodeDescription): CompletionItemKind;
3102
+ }
3103
+ //#endregion
3104
+ //#region src/shared/WorkspaceSymbolProvider.d.ts
3105
+ declare class WorkspaceSymbolProvider extends DefaultWorkspaceSymbolProvider {}
3106
+ //#endregion
3107
+ export { ProjectsManager as $, LikeC4ScopeComputation as A, NoFileSystem as B, LastSeenArtifacts as C, LikeC4WorkspaceManager as D, LikeC4ScopeProvider as E, LikeC4MCPServerModuleContext as F, FileSystemProvider$1 as G, NoLikeC4ManualLayouts as H, LikeC4Formatter as I, LikeC4ManualLayouts as J, FileSystemWatcher as K, WithLikeC4ManualLayouts as L, LikeC4DocumentValidator as M, LikeC4MCPServer as N, LangiumDocuments as O, LikeC4MCPServerFactory as P, ProjectData as Q, WithChokidarWatcher as R, LikeC4ModelBuilder as S, FqnIndex as T, FileNode as U, NoFileSystemWatcher as V, FileSystemModuleContext as W, ManualLayoutsSnapshot as X, LikeC4ManualLayoutsModuleContext as Y, Project as Z, LikeC4Views as _, LikeC4CodeActionProvider as a, LikeC4ModelLocator as b, LikeC4DocumentLinkProvider as c, LikeC4CodeLensProvider as d, LikeC4DocumentationProvider as et, LikeC4LanguageServices as f, LikeC4ModelParser as g, DocumentParser as h, LikeC4SemanticTokenProvider as i, LikeC4NameProvider as j, IndexManager as k, LikeC4DocumentHighlightProvider as l, LikeC4ValueConverter as m, NodeKindProvider$1 as n, LikeC4HoverProvider as o, LikeC4ModelChanges as p, FileSystemWatcherModuleContext as q, Rpc as r, LikeC4DocumentSymbolProvider as s, WorkspaceSymbolProvider as t, LikeC4CompletionProvider as u, WithMCPServer as v, DeploymentsIndex as w, ViewLocateResult as x, NoMCPServer as y, WithFileSystem as z };