@elytracms/studio 0.0.61 → 0.0.63

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 (94) hide show
  1. package/dist/components/account/account-settings.js +6 -1
  2. package/dist/components/account/account-settings.js.map +1 -1
  3. package/dist/components/account/credential-panel.js +6 -1
  4. package/dist/components/account/credential-panel.js.map +1 -1
  5. package/dist/components/account/self-account-schema.js +4 -1
  6. package/dist/components/account/self-account-schema.js.map +1 -1
  7. package/dist/components/auth-context.d.ts +14 -0
  8. package/dist/components/auth-context.js +32 -2
  9. package/dist/components/auth-context.js.map +1 -1
  10. package/dist/components/builder/blocks-model.d.ts +7 -0
  11. package/dist/components/builder/blocks-model.js +5 -0
  12. package/dist/components/builder/blocks-model.js.map +1 -1
  13. package/dist/components/builder/blocks-panel.js +2 -2
  14. package/dist/components/builder/blocks-panel.js.map +1 -1
  15. package/dist/components/builder/fixture-thumbnail.d.ts +15 -0
  16. package/dist/components/builder/fixture-thumbnail.js +14 -0
  17. package/dist/components/builder/fixture-thumbnail.js.map +1 -1
  18. package/dist/components/builder/property-inspector.d.ts +21 -0
  19. package/dist/components/builder/property-inspector.js +24 -8
  20. package/dist/components/builder/property-inspector.js.map +1 -1
  21. package/dist/components/cms/cms-index.js +6 -3
  22. package/dist/components/cms/cms-index.js.map +1 -1
  23. package/dist/components/cms/detail-editor.d.ts +12 -1
  24. package/dist/components/cms/detail-editor.js +23 -23
  25. package/dist/components/cms/detail-editor.js.map +1 -1
  26. package/dist/components/cms/prop-fields.d.ts +1 -1
  27. package/dist/components/cms/prop-fields.js +14 -0
  28. package/dist/components/cms/prop-fields.js.map +1 -1
  29. package/dist/components/deployment-setup-gate.js +40 -8
  30. package/dist/components/deployment-setup-gate.js.map +1 -1
  31. package/dist/components/operation-error.d.ts +7 -5
  32. package/dist/components/operation-error.js +19 -36
  33. package/dist/components/operation-error.js.map +1 -1
  34. package/dist/components/project-list.js +17 -1
  35. package/dist/components/project-list.js.map +1 -1
  36. package/dist/components/project-switcher.d.ts +10 -0
  37. package/dist/components/project-switcher.js +13 -3
  38. package/dist/components/project-switcher.js.map +1 -1
  39. package/dist/components/session-expired-overlay.d.ts +27 -0
  40. package/dist/components/session-expired-overlay.js +51 -0
  41. package/dist/components/session-expired-overlay.js.map +1 -0
  42. package/dist/components/sign-in-view.d.ts +13 -1
  43. package/dist/components/sign-in-view.js +27 -13
  44. package/dist/components/sign-in-view.js.map +1 -1
  45. package/dist/components/studio-project-screen.js +2 -2
  46. package/dist/components/studio-project-screen.js.map +1 -1
  47. package/dist/components/studio-shell.js +40 -3
  48. package/dist/components/studio-shell.js.map +1 -1
  49. package/dist/components/users/users-schema.d.ts +11 -1
  50. package/dist/components/users/users-schema.js +17 -1
  51. package/dist/components/users/users-schema.js.map +1 -1
  52. package/dist/customization.d.ts +4 -1
  53. package/dist/customization.js +3 -0
  54. package/dist/customization.js.map +1 -1
  55. package/dist/lib/auth-errors.d.ts +58 -28
  56. package/dist/lib/auth-errors.js +93 -15
  57. package/dist/lib/auth-errors.js.map +1 -1
  58. package/dist/lib/i18n/index.d.ts +1 -0
  59. package/dist/lib/i18n/index.js.map +1 -1
  60. package/dist/lib/i18n/messages.de.d.ts +24 -0
  61. package/dist/lib/i18n/messages.de.js +1019 -0
  62. package/dist/lib/i18n/messages.de.js.map +1 -0
  63. package/dist/lib/i18n/messages.en.d.ts +880 -0
  64. package/dist/lib/i18n/messages.en.js +71 -3
  65. package/dist/lib/i18n/messages.en.js.map +1 -1
  66. package/dist/lib/operations/studio-operations.js +7 -0
  67. package/dist/lib/operations/studio-operations.js.map +1 -1
  68. package/dist/lib/persistence/deployment-readiness.d.ts +8 -1
  69. package/dist/lib/persistence/deployment-readiness.js +16 -1
  70. package/dist/lib/persistence/deployment-readiness.js.map +1 -1
  71. package/dist/lib/session-expiry.d.ts +67 -0
  72. package/dist/lib/session-expiry.js +72 -0
  73. package/dist/lib/session-expiry.js.map +1 -0
  74. package/dist/lib/tab-title.d.ts +53 -0
  75. package/dist/lib/tab-title.js +77 -0
  76. package/dist/lib/tab-title.js.map +1 -0
  77. package/dist/lib/workspace/index.d.ts +1 -1
  78. package/dist/lib/workspace/index.js +1 -1
  79. package/dist/lib/workspace/index.js.map +1 -1
  80. package/dist/lib/workspace/switcher-source.d.ts +27 -0
  81. package/dist/lib/workspace/switcher-source.js +30 -0
  82. package/dist/lib/workspace/switcher-source.js.map +1 -1
  83. package/dist/router/index.d.ts +6 -0
  84. package/dist/router/index.js +6 -0
  85. package/dist/router/index.js.map +1 -1
  86. package/dist/router/launcher-visit.d.ts +13 -0
  87. package/dist/router/launcher-visit.js +34 -0
  88. package/dist/router/launcher-visit.js.map +1 -0
  89. package/dist/router/root.js +12 -2
  90. package/dist/router/root.js.map +1 -1
  91. package/dist/ui/dialog.d.ts +15 -0
  92. package/dist/ui/dialog.js +17 -0
  93. package/dist/ui/dialog.js.map +1 -1
  94. package/package.json +6 -2
@@ -19,4 +19,884 @@ import type { SourceCatalog } from './types.js';
19
19
  * developer boot hints (backend/workspace gates) are a documented follow-up — they
20
20
  * need a message-with-elements splitter beyond the plain-string `translate()`.
21
21
  */
22
+ declare const MESSAGES: {
23
+ 'common.save': import("./types.js").SourceMessage;
24
+ 'common.saving': import("./types.js").SourceMessage;
25
+ 'common.saveChanges': import("./types.js").SourceMessage;
26
+ 'common.cancel': import("./types.js").SourceMessage;
27
+ 'common.delete': import("./types.js").SourceMessage;
28
+ 'common.remove': import("./types.js").SourceMessage;
29
+ 'common.add': import("./types.js").SourceMessage;
30
+ 'common.edit': import("./types.js").SourceMessage;
31
+ 'common.close': import("./types.js").SourceMessage;
32
+ 'common.copy': import("./types.js").SourceMessage;
33
+ 'common.duplicate': import("./types.js").SourceMessage;
34
+ 'common.select': import("./types.js").SourceMessage;
35
+ 'common.clear': import("./types.js").SourceMessage;
36
+ 'common.apply': import("./types.js").SourceMessage;
37
+ 'common.upload': import("./types.js").SourceMessage;
38
+ 'common.retry': import("./types.js").SourceMessage;
39
+ 'common.discard': import("./types.js").SourceMessage;
40
+ 'common.dismiss': import("./types.js").SourceMessage;
41
+ 'common.loading': import("./types.js").SourceMessage;
42
+ 'common.searchPlaceholder': import("./types.js").SourceMessage;
43
+ 'common.none': import("./types.js").SourceMessage;
44
+ 'common.required': import("./types.js").SourceMessage;
45
+ 'common.optional': import("./types.js").SourceMessage;
46
+ 'common.yes': import("./types.js").SourceMessage;
47
+ 'common.no': import("./types.js").SourceMessage;
48
+ 'common.true': import("./types.js").SourceMessage;
49
+ 'common.false': import("./types.js").SourceMessage;
50
+ 'common.backendUnreachable': import("./types.js").SourceMessage;
51
+ 'nav.cms.label': import("./types.js").SourceMessage;
52
+ 'nav.cms.description': import("./types.js").SourceMessage;
53
+ 'nav.components.label': import("./types.js").SourceMessage;
54
+ 'nav.components.description': import("./types.js").SourceMessage;
55
+ 'nav.redirects.label': import("./types.js").SourceMessage;
56
+ 'nav.redirects.description': import("./types.js").SourceMessage;
57
+ 'nav.assets.label': import("./types.js").SourceMessage;
58
+ 'nav.assets.description': import("./types.js").SourceMessage;
59
+ 'nav.users.label': import("./types.js").SourceMessage;
60
+ 'nav.users.description': import("./types.js").SourceMessage;
61
+ 'nav.extensions.label': import("./types.js").SourceMessage;
62
+ 'nav.extensions.description': import("./types.js").SourceMessage;
63
+ 'nav.settings.label': import("./types.js").SourceMessage;
64
+ 'nav.settings.description': import("./types.js").SourceMessage;
65
+ 'userMenu.accountMenu': import("./types.js").SourceMessage;
66
+ 'userMenu.lightMode': import("./types.js").SourceMessage;
67
+ 'userMenu.darkMode': import("./types.js").SourceMessage;
68
+ 'userMenu.accountSettings': import("./types.js").SourceMessage;
69
+ 'userMenu.soon': import("./types.js").SourceMessage;
70
+ 'userMenu.signOut': import("./types.js").SourceMessage;
71
+ 'shell.allProjects': import("./types.js").SourceMessage;
72
+ 'shell.breadcrumb.label': import("./types.js").SourceMessage;
73
+ 'shell.nav.label': import("./types.js").SourceMessage;
74
+ 'shell.sidebar.expand': import("./types.js").SourceMessage;
75
+ 'shell.sidebar.collapse': import("./types.js").SourceMessage;
76
+ 'shell.sidebar.collapseLabel': import("./types.js").SourceMessage;
77
+ 'shell.nav.planned': import("./types.js").SourceMessage;
78
+ 'shell.nav.collapseView': import("./types.js").SourceMessage;
79
+ 'shell.nav.expandView': import("./types.js").SourceMessage;
80
+ 'shell.nav.issuesCount': import("./types.js").SourceMessage;
81
+ 'shell.sectionState.empty.title': import("./types.js").SourceMessage;
82
+ 'shell.sectionState.empty.description': import("./types.js").SourceMessage;
83
+ 'shell.sectionState.loading.description': import("./types.js").SourceMessage;
84
+ 'shell.sectionState.error.title': import("./types.js").SourceMessage;
85
+ 'shell.sectionState.error.description': import("./types.js").SourceMessage;
86
+ 'shell.sectionState.unavailable.title': import("./types.js").SourceMessage;
87
+ 'shell.sectionState.unavailable.description': import("./types.js").SourceMessage;
88
+ 'shell.sectionState.planned.title': import("./types.js").SourceMessage;
89
+ 'shell.sectionState.planned.description': import("./types.js").SourceMessage;
90
+ 'shell.sectionState.badge.empty': import("./types.js").SourceMessage;
91
+ 'shell.sectionState.badge.loading': import("./types.js").SourceMessage;
92
+ 'shell.sectionState.badge.error': import("./types.js").SourceMessage;
93
+ 'shell.sectionState.badge.unavailable': import("./types.js").SourceMessage;
94
+ 'shell.sectionState.badge.planned': import("./types.js").SourceMessage;
95
+ 'shell.projectNotFound.title': import("./types.js").SourceMessage;
96
+ 'shell.projectNotFound.body': import("./types.js").SourceMessage;
97
+ 'shell.backToProjects': import("./types.js").SourceMessage;
98
+ 'shell.routeNotFound.title': import("./types.js").SourceMessage;
99
+ 'shell.routeNotFound.body': import("./types.js").SourceMessage;
100
+ 'shell.projectSwitcher.recent': import("./types.js").SourceMessage;
101
+ 'shell.projects': import("./types.js").SourceMessage;
102
+ 'shell.projectSwitcher.browseAll': import("./types.js").SourceMessage;
103
+ 'shell.project.notProvisioned': import("./types.js").SourceMessage;
104
+ 'shell.projectList.recent': import("./types.js").SourceMessage;
105
+ 'shell.projectList.empty.title': import("./types.js").SourceMessage;
106
+ 'shell.projectCard.open': import("./types.js").SourceMessage;
107
+ 'shell.session.loading': import("./types.js").SourceMessage;
108
+ 'shell.session.error.title': import("./types.js").SourceMessage;
109
+ 'shell.session.error.body': import("./types.js").SourceMessage;
110
+ 'shell.workspaceGate.title': import("./types.js").SourceMessage;
111
+ 'shell.workspaceGate.issuesLabel': import("./types.js").SourceMessage;
112
+ 'shell.backend.connecting': import("./types.js").SourceMessage;
113
+ 'shell.backend.notConfigured.title': import("./types.js").SourceMessage;
114
+ 'shell.backend.unavailable.title': import("./types.js").SourceMessage;
115
+ 'shell.backend.unavailable.body': import("./types.js").SourceMessage;
116
+ 'shell.backend.retryConnection': import("./types.js").SourceMessage;
117
+ 'shell.deploymentSetup.title': import("./types.js").SourceMessage;
118
+ 'shell.deploymentSetup.checking': import("./types.js").SourceMessage;
119
+ 'shell.deploymentSetup.description': import("./types.js").SourceMessage;
120
+ 'shell.deploymentSetup.issuesLabel': import("./types.js").SourceMessage;
121
+ 'shell.deploymentSetup.fixLabel': import("./types.js").SourceMessage;
122
+ 'shell.deploymentSetup.retry': import("./types.js").SourceMessage;
123
+ 'shell.deploymentSetup.envSection': import("./types.js").SourceMessage;
124
+ 'shell.deploymentSetup.envSectionHint': import("./types.js").SourceMessage;
125
+ 'shell.unsavedChanges.title': import("./types.js").SourceMessage;
126
+ 'shell.unsavedChanges.body': import("./types.js").SourceMessage;
127
+ 'shell.unsavedChanges.saving': import("./types.js").SourceMessage;
128
+ 'shell.devLogin.badge': import("./types.js").SourceMessage;
129
+ 'shell.devLogin.hint': import("./types.js").SourceMessage;
130
+ 'shell.playground.badge': import("./types.js").SourceMessage;
131
+ 'shell.playground.hint': import("./types.js").SourceMessage;
132
+ 'shell.deliveryHealth.dismiss': import("./types.js").SourceMessage;
133
+ 'auth.signIn': import("./types.js").SourceMessage;
134
+ 'auth.signIn.heading': import("./types.js").SourceMessage;
135
+ 'auth.signIn.headingCreate': import("./types.js").SourceMessage;
136
+ 'auth.signIn.subtext.continue': import("./types.js").SourceMessage;
137
+ 'auth.signIn.subtext.register': import("./types.js").SourceMessage;
138
+ 'auth.signIn.subtext.generic': import("./types.js").SourceMessage;
139
+ 'auth.signIn.emailLabel': import("./types.js").SourceMessage;
140
+ 'auth.signIn.emailPlaceholder': import("./types.js").SourceMessage;
141
+ 'auth.signIn.passwordLabel': import("./types.js").SourceMessage;
142
+ 'auth.signIn.submit': import("./types.js").SourceMessage;
143
+ 'auth.signIn.submitCreate': import("./types.js").SourceMessage;
144
+ 'auth.signIn.submitting': import("./types.js").SourceMessage;
145
+ 'auth.signIn.submittingCreate': import("./types.js").SourceMessage;
146
+ 'auth.signIn.toggle.firstTime': import("./types.js").SourceMessage;
147
+ 'auth.signIn.toggle.alreadyHave': import("./types.js").SourceMessage;
148
+ 'auth.signIn.toggle.signIn': import("./types.js").SourceMessage;
149
+ 'auth.signIn.toggle.createAccount': import("./types.js").SourceMessage;
150
+ 'auth.signIn.devAccounts.title': import("./types.js").SourceMessage;
151
+ 'auth.signIn.error.invalidCredentials': import("./types.js").SourceMessage;
152
+ 'auth.signIn.error.invalidCredentialsSignUp': import("./types.js").SourceMessage;
153
+ 'auth.signIn.error.accountExists': import("./types.js").SourceMessage;
154
+ 'auth.signIn.error.deploymentMisconfigured': import("./types.js").SourceMessage;
155
+ 'auth.signIn.error.notInvited': import("./types.js").SourceMessage;
156
+ 'auth.signIn.error.tooManyAttempts': import("./types.js").SourceMessage;
157
+ 'auth.signIn.error.serverError': import("./types.js").SourceMessage;
158
+ 'auth.signIn.error.serverErrorSignUp': import("./types.js").SourceMessage;
159
+ 'auth.signIn.error.unavailable': import("./types.js").SourceMessage;
160
+ 'auth.signIn.error.playgroundSignUp': import("./types.js").SourceMessage;
161
+ 'auth.boot.checkingSession': import("./types.js").SourceMessage;
162
+ 'error.dismiss': import("./types.js").SourceMessage;
163
+ 'error.sessionExpiredTitle': import("./types.js").SourceMessage;
164
+ 'error.sessionExpired': import("./types.js").SourceMessage;
165
+ 'cms.index.heading': import("./types.js").SourceMessage;
166
+ 'cms.index.description': import("./types.js").SourceMessage;
167
+ 'cms.index.fieldCount.one': import("./types.js").SourceMessage;
168
+ 'cms.index.fieldCount.other': import("./types.js").SourceMessage;
169
+ 'cms.index.singleDocument': import("./types.js").SourceMessage;
170
+ 'cms.list.new': import("./types.js").SourceMessage;
171
+ 'cms.list.newPage': import("./types.js").SourceMessage;
172
+ 'cms.list.newNamed': import("./types.js").SourceMessage;
173
+ 'cms.list.moreActions': import("./types.js").SourceMessage;
174
+ 'cms.list.rowActionsColumnLabel': import("./types.js").SourceMessage;
175
+ 'cms.list.rowActionsLabel': import("./types.js").SourceMessage;
176
+ 'cms.list.rowAction.open': import("./types.js").SourceMessage;
177
+ 'cms.list.import': import("./types.js").SourceMessage;
178
+ 'cms.list.export': import("./types.js").SourceMessage;
179
+ 'cms.list.forReview': import("./types.js").SourceMessage;
180
+ 'cms.list.count': import("./types.js").SourceMessage;
181
+ 'cms.list.countFiltered': import("./types.js").SourceMessage;
182
+ 'cms.list.emptyNone': import("./types.js").SourceMessage;
183
+ 'cms.list.emptyFiltered': import("./types.js").SourceMessage;
184
+ 'cms.list.selectAll': import("./types.js").SourceMessage;
185
+ 'cms.list.selectRow': import("./types.js").SourceMessage;
186
+ 'cms.list.column.title': import("./types.js").SourceMessage;
187
+ 'cms.list.column.state': import("./types.js").SourceMessage;
188
+ 'cms.list.column.url': import("./types.js").SourceMessage;
189
+ 'cms.docState.published': import("./types.js").SourceMessage;
190
+ 'cms.docState.draft': import("./types.js").SourceMessage;
191
+ 'cms.list.view.all': import("./types.js").SourceMessage;
192
+ 'cms.list.unknownCollection': import("./types.js").SourceMessage;
193
+ 'cms.list.import.noId': import("./types.js").SourceMessage;
194
+ 'cms.list.display.ariaLabel': import("./types.js").SourceMessage;
195
+ 'cms.list.display.title': import("./types.js").SourceMessage;
196
+ 'cms.list.display.layout': import("./types.js").SourceMessage;
197
+ 'cms.list.display.flatList': import("./types.js").SourceMessage;
198
+ 'cms.list.display.pageHierarchy': import("./types.js").SourceMessage;
199
+ 'cms.list.display.columns': import("./types.js").SourceMessage;
200
+ 'cms.list.display.toggleColumn': import("./types.js").SourceMessage;
201
+ 'cms.list.display.titleTag': import("./types.js").SourceMessage;
202
+ 'cms.list.display.moveColumnUp': import("./types.js").SourceMessage;
203
+ 'cms.list.display.moveColumnDown': import("./types.js").SourceMessage;
204
+ 'cms.list.bulk.count': import("./types.js").SourceMessage;
205
+ 'cms.list.bulk.publish': import("./types.js").SourceMessage;
206
+ 'cms.list.bulk.unpublish': import("./types.js").SourceMessage;
207
+ 'cms.list.bulk.noSettableFields': import("./types.js").SourceMessage;
208
+ 'cms.list.bulk.setField': import("./types.js").SourceMessage;
209
+ 'cms.list.bulk.clearSelection': import("./types.js").SourceMessage;
210
+ 'cms.list.bulk.set.set': import("./types.js").SourceMessage;
211
+ 'cms.list.bulk.set.to': import("./types.js").SourceMessage;
212
+ 'cms.list.bulk.set.valueAria': import("./types.js").SourceMessage;
213
+ 'cms.list.bulk.set.apply': import("./types.js").SourceMessage;
214
+ 'cms.list.bulk.report.verb.setField': import("./types.js").SourceMessage;
215
+ 'cms.list.bulk.report.verb.publish': import("./types.js").SourceMessage;
216
+ 'cms.list.bulk.report.verb.unpublish': import("./types.js").SourceMessage;
217
+ 'cms.list.bulk.report.verb.delete': import("./types.js").SourceMessage;
218
+ 'cms.list.bulk.report.summary': import("./types.js").SourceMessage;
219
+ 'cms.list.bulk.report.failedSuffix': import("./types.js").SourceMessage;
220
+ 'cms.list.bulk.report.failedBadge': import("./types.js").SourceMessage;
221
+ 'cms.list.bulk.report.done': import("./types.js").SourceMessage;
222
+ 'cms.list.bulk.error.invalidSetField': import("./types.js").SourceMessage;
223
+ 'cms.filter.button': import("./types.js").SourceMessage;
224
+ 'cms.filter.summaryMultiple': import("./types.js").SourceMessage;
225
+ 'cms.filter.clearAria': import("./types.js").SourceMessage;
226
+ 'cms.filter.refineSession': import("./types.js").SourceMessage;
227
+ 'cms.filter.clearAll': import("./types.js").SourceMessage;
228
+ 'cms.filter.add': import("./types.js").SourceMessage;
229
+ 'cms.filter.andHint': import("./types.js").SourceMessage;
230
+ 'cms.filter.fieldAria': import("./types.js").SourceMessage;
231
+ 'cms.filter.operatorAria': import("./types.js").SourceMessage;
232
+ 'cms.filter.remove': import("./types.js").SourceMessage;
233
+ 'cms.filter.valueAria': import("./types.js").SourceMessage;
234
+ 'cms.filter.valueListPlaceholder': import("./types.js").SourceMessage;
235
+ 'cms.filter.pickRelation': import("./types.js").SourceMessage;
236
+ 'cms.filter.state.published': import("./types.js").SourceMessage;
237
+ 'cms.filter.state.draft': import("./types.js").SourceMessage;
238
+ 'cms.filter.op.contains': import("./types.js").SourceMessage;
239
+ 'cms.filter.op.equals': import("./types.js").SourceMessage;
240
+ 'cms.filter.op.is': import("./types.js").SourceMessage;
241
+ 'cms.filter.op.startsWith': import("./types.js").SourceMessage;
242
+ 'cms.filter.op.endsWith': import("./types.js").SourceMessage;
243
+ 'cms.filter.op.isAnyOf': import("./types.js").SourceMessage;
244
+ 'cms.filter.op.lessThan': import("./types.js").SourceMessage;
245
+ 'cms.filter.op.atMost': import("./types.js").SourceMessage;
246
+ 'cms.filter.op.greaterThan': import("./types.js").SourceMessage;
247
+ 'cms.filter.op.atLeast': import("./types.js").SourceMessage;
248
+ 'cms.filter.op.on': import("./types.js").SourceMessage;
249
+ 'cms.filter.op.before': import("./types.js").SourceMessage;
250
+ 'cms.filter.op.onOrBefore': import("./types.js").SourceMessage;
251
+ 'cms.filter.op.after': import("./types.js").SourceMessage;
252
+ 'cms.filter.op.onOrAfter': import("./types.js").SourceMessage;
253
+ 'cms.filter.op.isEmpty': import("./types.js").SourceMessage;
254
+ 'cms.filter.op.isNotEmpty': import("./types.js").SourceMessage;
255
+ 'cms.cell.fallbackTitle': import("./types.js").SourceMessage;
256
+ 'cms.cell.richText': import("./types.js").SourceMessage;
257
+ 'cms.cell.itemCount.one': import("./types.js").SourceMessage;
258
+ 'cms.cell.itemCount.other': import("./types.js").SourceMessage;
259
+ 'cms.cell.object': import("./types.js").SourceMessage;
260
+ 'cms.cell.blockCount.one': import("./types.js").SourceMessage;
261
+ 'cms.cell.blockCount.other': import("./types.js").SourceMessage;
262
+ 'cms.cell.createsVariantTitle': import("./types.js").SourceMessage;
263
+ 'cms.cell.newVariant': import("./types.js").SourceMessage;
264
+ 'cms.editor.notFoundTitle': import("./types.js").SourceMessage;
265
+ 'cms.editor.backToList': import("./types.js").SourceMessage;
266
+ 'cms.editor.publishFailed': import("./types.js").SourceMessage;
267
+ 'cms.editor.publishFailedReason': import("./types.js").SourceMessage;
268
+ 'cms.editor.saveFailed': import("./types.js").SourceMessage;
269
+ 'cms.editor.unsavedChanges': import("./types.js").SourceMessage;
270
+ 'cms.editor.saved': import("./types.js").SourceMessage;
271
+ 'cms.editor.saving': import("./types.js").SourceMessage;
272
+ 'cms.editor.openLiveUrl': import("./types.js").SourceMessage;
273
+ 'cms.editor.loadingLiveUrl': import("./types.js").SourceMessage;
274
+ 'cms.editor.publishToViewLive': import("./types.js").SourceMessage;
275
+ 'cms.editor.setFrontendUrlHint': import("./types.js").SourceMessage;
276
+ 'cms.editor.switchToDraftToPublish': import("./types.js").SourceMessage;
277
+ 'cms.editor.fixIssuesToPublish.one': import("./types.js").SourceMessage;
278
+ 'cms.editor.fixIssuesToPublish.other': import("./types.js").SourceMessage;
279
+ 'cms.editor.publishing': import("./types.js").SourceMessage;
280
+ 'cms.editor.publishedState': import("./types.js").SourceMessage;
281
+ 'cms.editor.publish': import("./types.js").SourceMessage;
282
+ 'cms.editor.moreActions': import("./types.js").SourceMessage;
283
+ 'cms.editor.unpublish': import("./types.js").SourceMessage;
284
+ 'cms.editor.publishActions': import("./types.js").SourceMessage;
285
+ 'cms.editor.publishAndClose': import("./types.js").SourceMessage;
286
+ 'cms.editor.saveAndClose': import("./types.js").SourceMessage;
287
+ 'cms.editor.discardDraft': import("./types.js").SourceMessage;
288
+ 'cms.editor.discardDraftUpToDateHint': import("./types.js").SourceMessage;
289
+ 'cms.editor.switchToDraftToDiscard': import("./types.js").SourceMessage;
290
+ 'cms.editor.discardDraftTitle': import("./types.js").SourceMessage;
291
+ 'cms.editor.discardDraftDescription': import("./types.js").SourceMessage;
292
+ 'cms.editor.discardDraftConfirm': import("./types.js").SourceMessage;
293
+ 'cms.editor.discardingDraft': import("./types.js").SourceMessage;
294
+ 'cms.editor.draftState': import("./types.js").SourceMessage;
295
+ 'cms.editor.publishToViewPublished': import("./types.js").SourceMessage;
296
+ 'cms.editor.publishedReadOnlyBanner': import("./types.js").SourceMessage;
297
+ 'cms.editor.switchToDraft': import("./types.js").SourceMessage;
298
+ 'cms.editor.loadingPublishedVersion': import("./types.js").SourceMessage;
299
+ 'cms.editor.noPublishedVersion': import("./types.js").SourceMessage;
300
+ 'cms.editor.unsavedChangesGuard': import("./types.js").SourceMessage;
301
+ 'cms.editor.publishUnpublishedRefsTitle': import("./types.js").SourceMessage;
302
+ 'cms.editor.publishUnpublishedRefsDescription': import("./types.js").SourceMessage;
303
+ 'cms.editor.publishAlsoHasIssues.one': import("./types.js").SourceMessage;
304
+ 'cms.editor.publishAlsoHasIssues.other': import("./types.js").SourceMessage;
305
+ 'cms.editor.publishAnyway': import("./types.js").SourceMessage;
306
+ 'cms.editor.readOnlyBadge': import("./types.js").SourceMessage;
307
+ 'cms.editor.localeFollowsBase': import("./types.js").SourceMessage;
308
+ 'cms.editor.localeFollowsHint': import("./types.js").SourceMessage;
309
+ 'cms.editor.localeFillFromBase': import("./types.js").SourceMessage;
310
+ 'cms.editor.localeTranslated': import("./types.js").SourceMessage;
311
+ 'cms.editor.localeTranslatedHint': import("./types.js").SourceMessage;
312
+ 'cms.editor.localeResetToBase': import("./types.js").SourceMessage;
313
+ 'cms.editor.localeResetTitle': import("./types.js").SourceMessage;
314
+ 'cms.editor.localeResetDescription': import("./types.js").SourceMessage;
315
+ 'cms.editor.localeResetConfirm': import("./types.js").SourceMessage;
316
+ 'cms.editor.issuesPane': import("./types.js").SourceMessage;
317
+ 'cms.editor.detailsPane': import("./types.js").SourceMessage;
318
+ 'cms.editor.servedAt': import("./types.js").SourceMessage;
319
+ 'cms.editor.slugUrlHint': import("./types.js").SourceMessage;
320
+ 'cms.editor.embedUnpublishedIssue': import("./types.js").SourceMessage;
321
+ 'cms.editor.embedMissingIssue': import("./types.js").SourceMessage;
322
+ 'cms.editor.defaultGroup': import("./types.js").SourceMessage;
323
+ 'cms.issues.none': import("./types.js").SourceMessage;
324
+ 'cms.issues.satisfied': import("./types.js").SourceMessage;
325
+ 'cms.issues.goToField': import("./types.js").SourceMessage;
326
+ 'cms.details.slot': import("./types.js").SourceMessage;
327
+ 'cms.details.noSlot': import("./types.js").SourceMessage;
328
+ 'cms.details.slotInUse': import("./types.js").SourceMessage;
329
+ 'cms.details.slotHint': import("./types.js").SourceMessage;
330
+ 'cms.details.empty': import("./types.js").SourceMessage;
331
+ 'cms.details.urlCurrent': import("./types.js").SourceMessage;
332
+ 'cms.import.title': import("./types.js").SourceMessage;
333
+ 'cms.import.invalidJson': import("./types.js").SourceMessage;
334
+ 'cms.import.imported': import("./types.js").SourceMessage;
335
+ 'cms.import.rejected': import("./types.js").SourceMessage;
336
+ 'cms.import.confirm': import("./types.js").SourceMessage;
337
+ 'cms.version.paneLabel': import("./types.js").SourceMessage;
338
+ 'cms.version.compare': import("./types.js").SourceMessage;
339
+ 'cms.version.closeCompare': import("./types.js").SourceMessage;
340
+ 'cms.version.loadingHistory': import("./types.js").SourceMessage;
341
+ 'cms.version.loadingCompare': import("./types.js").SourceMessage;
342
+ 'cms.version.versionUnavailable': import("./types.js").SourceMessage;
343
+ 'cms.version.currentDraft': import("./types.js").SourceMessage;
344
+ 'cms.version.unsavedEdits': import("./types.js").SourceMessage;
345
+ 'cms.version.baseCaption': import("./types.js").SourceMessage;
346
+ 'cms.version.compareWithCaption': import("./types.js").SourceMessage;
347
+ 'cms.version.compareNewer': import("./types.js").SourceMessage;
348
+ 'cms.version.compareOlder': import("./types.js").SourceMessage;
349
+ 'cms.version.restoreWholeTitle': import("./types.js").SourceMessage;
350
+ 'cms.version.restoreVersion': import("./types.js").SourceMessage;
351
+ 'cms.version.noDifferences': import("./types.js").SourceMessage;
352
+ 'cms.version.changeSummary.one': import("./types.js").SourceMessage;
353
+ 'cms.version.changeSummary.other': import("./types.js").SourceMessage;
354
+ 'cms.version.comparingPastVersionsHint': import("./types.js").SourceMessage;
355
+ 'cms.version.versionsIdentical': import("./types.js").SourceMessage;
356
+ 'cms.version.beforeVersion': import("./types.js").SourceMessage;
357
+ 'cms.version.afterTarget': import("./types.js").SourceMessage;
358
+ 'cms.version.restoreField': import("./types.js").SourceMessage;
359
+ 'cms.version.restoreFieldLocale': import("./types.js").SourceMessage;
360
+ 'cms.version.textUnchanged': import("./types.js").SourceMessage;
361
+ 'cms.version.restoreBlock': import("./types.js").SourceMessage;
362
+ 'cms.version.nestedContentChanged': import("./types.js").SourceMessage;
363
+ 'cms.version.blockAdded': import("./types.js").SourceMessage;
364
+ 'cms.version.blockRemoved': import("./types.js").SourceMessage;
365
+ 'cms.version.emptyValue': import("./types.js").SourceMessage;
366
+ 'cms.version.richText': import("./types.js").SourceMessage;
367
+ 'cms.version.itemCount.one': import("./types.js").SourceMessage;
368
+ 'cms.version.itemCount.other': import("./types.js").SourceMessage;
369
+ 'cms.version.objectValue': import("./types.js").SourceMessage;
370
+ 'cms.version.kindNew': import("./types.js").SourceMessage;
371
+ 'cms.version.kindRemoved': import("./types.js").SourceMessage;
372
+ 'cms.version.unpublishedChanges': import("./types.js").SourceMessage;
373
+ 'cms.version.notPublishedYet': import("./types.js").SourceMessage;
374
+ 'cms.version.fixValidationToPublish': import("./types.js").SourceMessage;
375
+ 'cms.version.liveUpToDate': import("./types.js").SourceMessage;
376
+ 'cms.version.comparingHint': import("./types.js").SourceMessage;
377
+ 'cms.version.noVersionsYet': import("./types.js").SourceMessage;
378
+ 'cms.version.baseBadge': import("./types.js").SourceMessage;
379
+ 'cms.version.comparedBadge': import("./types.js").SourceMessage;
380
+ 'cms.version.compareWithDraft': import("./types.js").SourceMessage;
381
+ 'cms.version.compareVersionLabel': import("./types.js").SourceMessage;
382
+ 'cms.version.switchToDraftToRestore': import("./types.js").SourceMessage;
383
+ 'cms.version.restore': import("./types.js").SourceMessage;
384
+ 'cms.version.aiAuthored': import("./types.js").SourceMessage;
385
+ 'cms.version.aiAuthoredTitle': import("./types.js").SourceMessage;
386
+ 'cms.version.fieldColumnHeader': import("./types.js").SourceMessage;
387
+ 'cms.version.viewSideBySide': import("./types.js").SourceMessage;
388
+ 'cms.version.viewUnified': import("./types.js").SourceMessage;
389
+ 'cms.version.viewModeAriaLabel': import("./types.js").SourceMessage;
390
+ 'cms.version.unifiedCaption': import("./types.js").SourceMessage;
391
+ 'cms.version.showMore': import("./types.js").SourceMessage;
392
+ 'cms.version.showLess': import("./types.js").SourceMessage;
393
+ 'cms.reference.documentCount': import("./types.js").SourceMessage;
394
+ 'cms.reference.confirmTitle': import("./types.js").SourceMessage;
395
+ 'cms.reference.checking': import("./types.js").SourceMessage;
396
+ 'cms.reference.checkUnavailable': import("./types.js").SourceMessage;
397
+ 'cms.reference.blocked.one': import("./types.js").SourceMessage;
398
+ 'cms.reference.blocked.other': import("./types.js").SourceMessage;
399
+ 'cms.reference.notReferenced': import("./types.js").SourceMessage;
400
+ 'cms.reference.permanentDelete.one': import("./types.js").SourceMessage;
401
+ 'cms.reference.permanentDelete.other': import("./types.js").SourceMessage;
402
+ 'cms.reference.canProceed': import("./types.js").SourceMessage;
403
+ 'cms.reference.proceedUnavailable': import("./types.js").SourceMessage;
404
+ 'cms.reference.proceedAnyway': import("./types.js").SourceMessage;
405
+ 'cms.reference.verb.unpublish': import("./types.js").SourceMessage;
406
+ 'cms.reference.verb.delete': import("./types.js").SourceMessage;
407
+ 'cms.reference.placeCount.one': import("./types.js").SourceMessage;
408
+ 'cms.reference.placeCount.other': import("./types.js").SourceMessage;
409
+ 'cms.reference.bulkSummary': import("./types.js").SourceMessage;
410
+ 'cms.reference.atLocation': import("./types.js").SourceMessage;
411
+ 'cms.reference.strictBadge': import("./types.js").SourceMessage;
412
+ 'cms.reference.draftBadge': import("./types.js").SourceMessage;
413
+ 'cms.reference.publishedBadge': import("./types.js").SourceMessage;
414
+ 'cms.field.rendererCrashed': import("./types.js").SourceMessage;
415
+ 'cms.field.noRenderer': import("./types.js").SourceMessage;
416
+ 'cms.field.itemActions': import("./types.js").SourceMessage;
417
+ 'cms.field.moveUp': import("./types.js").SourceMessage;
418
+ 'cms.field.moveDown': import("./types.js").SourceMessage;
419
+ 'cms.field.collapseAll': import("./types.js").SourceMessage;
420
+ 'cms.field.expandAll': import("./types.js").SourceMessage;
421
+ 'cms.field.noItems': import("./types.js").SourceMessage;
422
+ 'cms.field.dragToReorder': import("./types.js").SourceMessage;
423
+ 'cms.field.addItem': import("./types.js").SourceMessage;
424
+ 'cms.field.value': import("./types.js").SourceMessage;
425
+ 'cms.field.valuePlaceholder': import("./types.js").SourceMessage;
426
+ 'cms.field.colour': import("./types.js").SourceMessage;
427
+ 'cms.field.slug.regenerate': import("./types.js").SourceMessage;
428
+ 'cms.field.slug.taken': import("./types.js").SourceMessage;
429
+ 'cms.field.slug.takenGeneric': import("./types.js").SourceMessage;
430
+ 'cms.relation.change': import("./types.js").SourceMessage;
431
+ 'cms.relation.openTitle': import("./types.js").SourceMessage;
432
+ 'cms.relation.pick': import("./types.js").SourceMessage;
433
+ 'cms.relation.pickTitle.one': import("./types.js").SourceMessage;
434
+ 'cms.relation.pickTitle.many': import("./types.js").SourceMessage;
435
+ 'cms.relation.fromCollection': import("./types.js").SourceMessage;
436
+ 'cms.relation.selectMultipleHint': import("./types.js").SourceMessage;
437
+ 'cms.relation.noDocuments': import("./types.js").SourceMessage;
438
+ 'cms.relation.selectedCount': import("./types.js").SourceMessage;
439
+ 'cms.asset.rejected.one': import("./types.js").SourceMessage;
440
+ 'cms.asset.rejected.other': import("./types.js").SourceMessage;
441
+ 'cms.asset.dropToUpload': import("./types.js").SourceMessage;
442
+ 'cms.asset.selectOrDrop': import("./types.js").SourceMessage;
443
+ 'cms.asset.selectAsset': import("./types.js").SourceMessage;
444
+ 'cms.asset.altLabel': import("./types.js").SourceMessage;
445
+ 'cms.asset.notSet': import("./types.js").SourceMessage;
446
+ 'cms.asset.imageOptions.title': import("./types.js").SourceMessage;
447
+ 'cms.asset.imageOptions.description': import("./types.js").SourceMessage;
448
+ 'cms.asset.focalPoint': import("./types.js").SourceMessage;
449
+ 'cms.asset.resetToCentre': import("./types.js").SourceMessage;
450
+ 'cms.asset.focalPointHint': import("./types.js").SourceMessage;
451
+ 'cms.asset.noMetaFields': import("./types.js").SourceMessage;
452
+ 'cms.asset.pickTitle': import("./types.js").SourceMessage;
453
+ 'cms.asset.pickDescription': import("./types.js").SourceMessage;
454
+ 'cms.asset.noProject': import("./types.js").SourceMessage;
455
+ 'cms.asset.restoreDialogSize': import("./types.js").SourceMessage;
456
+ 'cms.asset.maximizeDialog': import("./types.js").SourceMessage;
457
+ 'cms.asset.searchPlaceholder': import("./types.js").SourceMessage;
458
+ 'cms.asset.loading': import("./types.js").SourceMessage;
459
+ 'cms.asset.loadError': import("./types.js").SourceMessage;
460
+ 'cms.asset.noMatches': import("./types.js").SourceMessage;
461
+ 'cms.asset.empty': import("./types.js").SourceMessage;
462
+ 'cms.asset.noAltText': import("./types.js").SourceMessage;
463
+ 'assets.error.loadFailed': import("./types.js").SourceMessage;
464
+ 'assets.loading': import("./types.js").SourceMessage;
465
+ 'assets.uploads.heading': import("./types.js").SourceMessage;
466
+ 'assets.upload.phase.queued': import("./types.js").SourceMessage;
467
+ 'assets.upload.phase.preparing': import("./types.js").SourceMessage;
468
+ 'assets.upload.phase.uploading': import("./types.js").SourceMessage;
469
+ 'assets.upload.phase.confirming': import("./types.js").SourceMessage;
470
+ 'assets.upload.phase.done': import("./types.js").SourceMessage;
471
+ 'assets.upload.phase.failed': import("./types.js").SourceMessage;
472
+ 'assets.upload.attempt': import("./types.js").SourceMessage;
473
+ 'assets.upload.dismissLabel': import("./types.js").SourceMessage;
474
+ 'assets.viewToggle.groupLabel': import("./types.js").SourceMessage;
475
+ 'assets.viewToggle.list': import("./types.js").SourceMessage;
476
+ 'assets.viewToggle.grid': import("./types.js").SourceMessage;
477
+ 'assets.detail.metadataHeading': import("./types.js").SourceMessage;
478
+ 'assets.references.buttonLabel': import("./types.js").SourceMessage;
479
+ 'assets.references.title': import("./types.js").SourceMessage;
480
+ 'assets.references.description': import("./types.js").SourceMessage;
481
+ 'assets.delete.raceError.one': import("./types.js").SourceMessage;
482
+ 'assets.delete.raceError.other': import("./types.js").SourceMessage;
483
+ 'assets.delete.title': import("./types.js").SourceMessage;
484
+ 'assets.delete.description': import("./types.js").SourceMessage;
485
+ 'assets.delete.checking': import("./types.js").SourceMessage;
486
+ 'assets.delete.inUse.one': import("./types.js").SourceMessage;
487
+ 'assets.delete.inUse.other': import("./types.js").SourceMessage;
488
+ 'assets.delete.brokenWarning': import("./types.js").SourceMessage;
489
+ 'assets.delete.noReferences': import("./types.js").SourceMessage;
490
+ 'assets.delete.confirmAnyway': import("./types.js").SourceMessage;
491
+ 'assets.focalPoint.noPreview': import("./types.js").SourceMessage;
492
+ 'assets.focalPoint.setLabel': import("./types.js").SourceMessage;
493
+ 'users.checkingAccess': import("./types.js").SourceMessage;
494
+ 'users.restrictedTitle': import("./types.js").SourceMessage;
495
+ 'users.restrictedBody': import("./types.js").SourceMessage;
496
+ 'users.loadFailed': import("./types.js").SourceMessage;
497
+ 'users.loading': import("./types.js").SourceMessage;
498
+ 'users.rail.label': import("./types.js").SourceMessage;
499
+ 'users.rail.labelSingular': import("./types.js").SourceMessage;
500
+ 'users.field.name.label': import("./types.js").SourceMessage;
501
+ 'users.field.email.label': import("./types.js").SourceMessage;
502
+ 'users.field.role.label': import("./types.js").SourceMessage;
503
+ 'invites.invite': import("./types.js").SourceMessage;
504
+ 'invites.pending': import("./types.js").SourceMessage;
505
+ 'invites.dialogTitle': import("./types.js").SourceMessage;
506
+ 'invites.dialogBody': import("./types.js").SourceMessage;
507
+ 'invites.emailLabel': import("./types.js").SourceMessage;
508
+ 'invites.roleLabel': import("./types.js").SourceMessage;
509
+ 'invites.send': import("./types.js").SourceMessage;
510
+ 'invites.sending': import("./types.js").SourceMessage;
511
+ 'invites.sent': import("./types.js").SourceMessage;
512
+ 'invites.revoked': import("./types.js").SourceMessage;
513
+ 'invites.revokeAria': import("./types.js").SourceMessage;
514
+ 'account.loading': import("./types.js").SourceMessage;
515
+ 'account.loadFailed': import("./types.js").SourceMessage;
516
+ 'account.notMemberTitle': import("./types.js").SourceMessage;
517
+ 'account.notMemberBody': import("./types.js").SourceMessage;
518
+ 'account.rail.label': import("./types.js").SourceMessage;
519
+ 'account.rail.labelSingular': import("./types.js").SourceMessage;
520
+ 'account.field.name.label': import("./types.js").SourceMessage;
521
+ 'account.field.avatar.label': import("./types.js").SourceMessage;
522
+ 'account.field.avatar.hint': import("./types.js").SourceMessage;
523
+ 'account.field.email.label': import("./types.js").SourceMessage;
524
+ 'account.field.role.label': import("./types.js").SourceMessage;
525
+ 'account.security.title': import("./types.js").SourceMessage;
526
+ 'account.security.method': import("./types.js").SourceMessage;
527
+ 'account.password.current': import("./types.js").SourceMessage;
528
+ 'account.password.new': import("./types.js").SourceMessage;
529
+ 'account.password.confirm': import("./types.js").SourceMessage;
530
+ 'account.password.change': import("./types.js").SourceMessage;
531
+ 'account.password.changing': import("./types.js").SourceMessage;
532
+ 'account.password.changed': import("./types.js").SourceMessage;
533
+ 'account.password.mismatch': import("./types.js").SourceMessage;
534
+ 'account.password.error.notSignedIn': import("./types.js").SourceMessage;
535
+ 'account.password.error.currentIncorrect': import("./types.js").SourceMessage;
536
+ 'account.password.error.weakPassword': import("./types.js").SourceMessage;
537
+ 'account.password.error.tooManyAttempts': import("./types.js").SourceMessage;
538
+ 'account.password.error.deploymentMisconfigured': import("./types.js").SourceMessage;
539
+ 'account.password.error.serverError': import("./types.js").SourceMessage;
540
+ 'account.password.error.playgroundUnsupported': import("./types.js").SourceMessage;
541
+ 'redirects.loadFailed': import("./types.js").SourceMessage;
542
+ 'redirects.loading': import("./types.js").SourceMessage;
543
+ 'redirects.rail.label': import("./types.js").SourceMessage;
544
+ 'redirects.rail.labelSingular': import("./types.js").SourceMessage;
545
+ 'redirects.field.from.label': import("./types.js").SourceMessage;
546
+ 'redirects.field.to.label': import("./types.js").SourceMessage;
547
+ 'redirects.field.permanent.label': import("./types.js").SourceMessage;
548
+ 'redirects.field.enabled.label': import("./types.js").SourceMessage;
549
+ 'references.title': import("./types.js").SourceMessage;
550
+ 'references.hintOutbound': import("./types.js").SourceMessage;
551
+ 'references.emptyOutbound': import("./types.js").SourceMessage;
552
+ 'references.usedBy': import("./types.js").SourceMessage;
553
+ 'references.hintInbound': import("./types.js").SourceMessage;
554
+ 'references.emptyInbound': import("./types.js").SourceMessage;
555
+ 'references.loading': import("./types.js").SourceMessage;
556
+ 'references.loadFailed': import("./types.js").SourceMessage;
557
+ 'references.indexUnreachable': import("./types.js").SourceMessage;
558
+ 'references.sectionLoadError': import("./types.js").SourceMessage;
559
+ 'references.locationPrefix': import("./types.js").SourceMessage;
560
+ 'references.badgeDraft': import("./types.js").SourceMessage;
561
+ 'references.badgePublished': import("./types.js").SourceMessage;
562
+ 'components.detail.notFound.title': import("./types.js").SourceMessage;
563
+ 'components.detail.notFound.body': import("./types.js").SourceMessage;
564
+ 'components.detail.notFound.back': import("./types.js").SourceMessage;
565
+ 'components.detail.allComponents': import("./types.js").SourceMessage;
566
+ 'components.detail.designTokens': import("./types.js").SourceMessage;
567
+ 'components.status.valid': import("./types.js").SourceMessage;
568
+ 'components.status.incompatible': import("./types.js").SourceMessage;
569
+ 'components.status.invalid': import("./types.js").SourceMessage;
570
+ 'components.status.aria': import("./types.js").SourceMessage;
571
+ 'components.status.description.valid': import("./types.js").SourceMessage;
572
+ 'components.status.description.incompatible': import("./types.js").SourceMessage;
573
+ 'components.status.description.invalid': import("./types.js").SourceMessage;
574
+ 'components.index.title': import("./types.js").SourceMessage;
575
+ 'components.index.subtitle': import("./types.js").SourceMessage;
576
+ 'components.index.stat.total': import("./types.js").SourceMessage;
577
+ 'components.index.stat.totalHint': import("./types.js").SourceMessage;
578
+ 'components.index.stat.valid': import("./types.js").SourceMessage;
579
+ 'components.index.stat.needAttention': import("./types.js").SourceMessage;
580
+ 'components.index.stat.needAttentionHint': import("./types.js").SourceMessage;
581
+ 'components.index.pickHint': import("./types.js").SourceMessage;
582
+ 'components.index.byCategory': import("./types.js").SourceMessage;
583
+ 'components.index.guide.title': import("./types.js").SourceMessage;
584
+ 'components.index.guide.badge': import("./types.js").SourceMessage;
585
+ 'components.index.guide.intro': import("./types.js").SourceMessage;
586
+ 'components.index.guide.doc.authoring': import("./types.js").SourceMessage;
587
+ 'components.index.guide.doc.fixtures': import("./types.js").SourceMessage;
588
+ 'components.index.guide.doc.extensibility': import("./types.js").SourceMessage;
589
+ 'components.index.guide.namespaceNote': import("./types.js").SourceMessage;
590
+ 'components.taxonomy.uncategorized': import("./types.js").SourceMessage;
591
+ 'components.detail.tab.preview': import("./types.js").SourceMessage;
592
+ 'components.detail.tab.manifest': import("./types.js").SourceMessage;
593
+ 'components.preview.reset': import("./types.js").SourceMessage;
594
+ 'components.preview.resetProps': import("./types.js").SourceMessage;
595
+ 'components.preview.edited': import("./types.js").SourceMessage;
596
+ 'components.preview.incompatibleNote': import("./types.js").SourceMessage;
597
+ 'components.preview.serverOnlyTitle': import("./types.js").SourceMessage;
598
+ 'components.preview.serverOnlyBody': import("./types.js").SourceMessage;
599
+ 'components.preview.slotsNote': import("./types.js").SourceMessage;
600
+ 'components.preview.unavailableTitle': import("./types.js").SourceMessage;
601
+ 'components.preview.propNeedsDocument': import("./types.js").SourceMessage;
602
+ 'components.transfer.action': import("./types.js").SourceMessage;
603
+ 'components.transfer.title': import("./types.js").SourceMessage;
604
+ 'components.transfer.description': import("./types.js").SourceMessage;
605
+ 'components.transfer.intoField': import("./types.js").SourceMessage;
606
+ 'components.transfer.newDocument': import("./types.js").SourceMessage;
607
+ 'components.transfer.orExisting': import("./types.js").SourceMessage;
608
+ 'components.transfer.noTargets': import("./types.js").SourceMessage;
609
+ 'components.fieldInspector.props': import("./types.js").SourceMessage;
610
+ 'components.fieldInspector.noProps': import("./types.js").SourceMessage;
611
+ 'components.fieldInspector.slots': import("./types.js").SourceMessage;
612
+ 'components.fieldInspector.noSlots': import("./types.js").SourceMessage;
613
+ 'components.fieldInspector.inline': import("./types.js").SourceMessage;
614
+ 'components.fieldInspector.default': import("./types.js").SourceMessage;
615
+ 'components.fieldInspector.allows': import("./types.js").SourceMessage;
616
+ 'components.fixtureRunner.statesAria': import("./types.js").SourceMessage;
617
+ 'components.preview.breakpointAria': import("./types.js").SourceMessage;
618
+ 'components.browser.searchPlaceholder': import("./types.js").SourceMessage;
619
+ 'components.browser.searchAria': import("./types.js").SourceMessage;
620
+ 'components.browser.namespaceAria': import("./types.js").SourceMessage;
621
+ 'components.browser.all': import("./types.js").SourceMessage;
622
+ 'components.browser.primitives': import("./types.js").SourceMessage;
623
+ 'components.browser.project': import("./types.js").SourceMessage;
624
+ 'components.browser.noMatchQuery': import("./types.js").SourceMessage;
625
+ 'components.browser.noMatchFilters': import("./types.js").SourceMessage;
626
+ 'extensions.tab.marketplace': import("./types.js").SourceMessage;
627
+ 'extensions.tab.installed': import("./types.js").SourceMessage;
628
+ 'extensions.tab.registered': import("./types.js").SourceMessage;
629
+ 'extensions.header.title': import("./types.js").SourceMessage;
630
+ 'extensions.header.subtitle': import("./types.js").SourceMessage;
631
+ 'extensions.search.placeholder': import("./types.js").SourceMessage;
632
+ 'extensions.search.aria': import("./types.js").SourceMessage;
633
+ 'extensions.token.placeholder': import("./types.js").SourceMessage;
634
+ 'extensions.token.unlocked': import("./types.js").SourceMessage;
635
+ 'extensions.empty.noMatch.title': import("./types.js").SourceMessage;
636
+ 'extensions.empty.noMatch.body': import("./types.js").SourceMessage;
637
+ 'extensions.listing.private': import("./types.js").SourceMessage;
638
+ 'extensions.listing.noDescription': import("./types.js").SourceMessage;
639
+ 'extensions.listing.unknownAuthor': import("./types.js").SourceMessage;
640
+ 'extensions.action.installed': import("./types.js").SourceMessage;
641
+ 'extensions.action.install': import("./types.js").SourceMessage;
642
+ 'extensions.error.accessDenied': import("./types.js").SourceMessage;
643
+ 'extensions.error.installFailed': import("./types.js").SourceMessage;
644
+ 'extensions.empty.installed.title': import("./types.js").SourceMessage;
645
+ 'extensions.empty.installed.body': import("./types.js").SourceMessage;
646
+ 'extensions.contrib.components': import("./types.js").SourceMessage;
647
+ 'extensions.contrib.fieldTypes': import("./types.js").SourceMessage;
648
+ 'extensions.contrib.dataSources': import("./types.js").SourceMessage;
649
+ 'extensions.contrib.assetStorage': import("./types.js").SourceMessage;
650
+ 'extensions.contrib.exportTargets': import("./types.js").SourceMessage;
651
+ 'extensions.contrib.templates': import("./types.js").SourceMessage;
652
+ 'extensions.contrib.hooks': import("./types.js").SourceMessage;
653
+ 'extensions.registered.intro': import("./types.js").SourceMessage;
654
+ 'extensions.registered.components.title': import("./types.js").SourceMessage;
655
+ 'extensions.registered.components.empty': import("./types.js").SourceMessage;
656
+ 'extensions.registered.fieldTypes.title': import("./types.js").SourceMessage;
657
+ 'extensions.registered.dataSources.title': import("./types.js").SourceMessage;
658
+ 'extensions.registered.assetStorage.title': import("./types.js").SourceMessage;
659
+ 'extensions.registered.assetStorage.empty': import("./types.js").SourceMessage;
660
+ 'extensions.registered.exportTargets.title': import("./types.js").SourceMessage;
661
+ 'extensions.registered.hookPoints.title': import("./types.js").SourceMessage;
662
+ 'extensions.kind.plugin': import("./types.js").SourceMessage;
663
+ 'extensions.kind.componentPackage': import("./types.js").SourceMessage;
664
+ 'extensions.kind.fieldType': import("./types.js").SourceMessage;
665
+ 'extensions.kind.dataSource': import("./types.js").SourceMessage;
666
+ 'extensions.kind.assetStorage': import("./types.js").SourceMessage;
667
+ 'extensions.kind.exportTarget': import("./types.js").SourceMessage;
668
+ 'extensions.kind.template': import("./types.js").SourceMessage;
669
+ 'settings.identity.title': import("./types.js").SourceMessage;
670
+ 'settings.identity.name': import("./types.js").SourceMessage;
671
+ 'settings.identity.urlKey': import("./types.js").SourceMessage;
672
+ 'settings.locales.title': import("./types.js").SourceMessage;
673
+ 'settings.locales.configuredCount': import("./types.js").SourceMessage;
674
+ 'settings.locales.configured': import("./types.js").SourceMessage;
675
+ 'settings.locales.defaultSuffix': import("./types.js").SourceMessage;
676
+ 'settings.environments.title': import("./types.js").SourceMessage;
677
+ 'settings.environments.label': import("./types.js").SourceMessage;
678
+ 'settings.exportTarget': import("./types.js").SourceMessage;
679
+ 'appViews.singleton.opening': import("./types.js").SourceMessage;
680
+ 'builder.canvas.loading': import("./types.js").SourceMessage;
681
+ 'builder.blocksPanel.title': import("./types.js").SourceMessage;
682
+ 'builder.blocksPanel.addsInto': import("./types.js").SourceMessage;
683
+ 'builder.blocksPanel.searchPlaceholder': import("./types.js").SourceMessage;
684
+ 'builder.blocksPanel.searchAria': import("./types.js").SourceMessage;
685
+ 'builder.blocksPanel.layoutHelpers': import("./types.js").SourceMessage;
686
+ 'builder.blocksPanel.noAllowed': import("./types.js").SourceMessage;
687
+ 'builder.blocksPanel.noMatch': import("./types.js").SourceMessage;
688
+ 'builder.blocksPanel.insertTileAria': import("./types.js").SourceMessage;
689
+ 'builder.blocksPanel.copyExactAria': import("./types.js").SourceMessage;
690
+ 'builder.blocksPanel.copyExactConfiguration': import("./types.js").SourceMessage;
691
+ 'builder.blocksPanel.previewFailed': import("./types.js").SourceMessage;
692
+ 'builder.pageTree.title': import("./types.js").SourceMessage;
693
+ 'builder.pageTree.hiddenByCondition': import("./types.js").SourceMessage;
694
+ 'builder.pageTree.conditional': import("./types.js").SourceMessage;
695
+ 'builder.pageTree.addChild': import("./types.js").SourceMessage;
696
+ 'builder.pageTree.moreActions': import("./types.js").SourceMessage;
697
+ 'builder.pageTree.moveUp': import("./types.js").SourceMessage;
698
+ 'builder.pageTree.moveDown': import("./types.js").SourceMessage;
699
+ 'builder.clipboard.paste': import("./types.js").SourceMessage;
700
+ 'builder.clipboard.cut': import("./types.js").SourceMessage;
701
+ 'builder.clipboard.writeError': import("./types.js").SourceMessage;
702
+ 'builder.clipboard.rootCannotBeCut': import("./types.js").SourceMessage;
703
+ 'builder.clipboard.copied': import("./types.js").SourceMessage;
704
+ 'builder.clipboard.cutNotice': import("./types.js").SourceMessage;
705
+ 'builder.clipboard.pastedInto': import("./types.js").SourceMessage;
706
+ 'builder.clipboard.issueComponent': import("./types.js").SourceMessage;
707
+ 'builder.clipboard.issueBinding': import("./types.js").SourceMessage;
708
+ 'builder.reuse.makeReusable': import("./types.js").SourceMessage;
709
+ 'builder.reuse.detachToCopy': import("./types.js").SourceMessage;
710
+ 'builder.reuse.defaultElementName': import("./types.js").SourceMessage;
711
+ 'builder.reuse.madeReusablePublished': import("./types.js").SourceMessage;
712
+ 'builder.reuse.madeReusablePublishFailed': import("./types.js").SourceMessage;
713
+ 'builder.reuse.madeReusableDraft': import("./types.js").SourceMessage;
714
+ 'builder.reuse.noTargetToDetach': import("./types.js").SourceMessage;
715
+ 'builder.reuse.noContentToDetach': import("./types.js").SourceMessage;
716
+ 'builder.reuse.detachedToCopy': import("./types.js").SourceMessage;
717
+ 'builder.reuse.makeReusableDescription': import("./types.js").SourceMessage;
718
+ 'builder.reuse.nameLabel': import("./types.js").SourceMessage;
719
+ 'builder.reuse.namePlaceholder': import("./types.js").SourceMessage;
720
+ 'builder.reuse.saveDraft': import("./types.js").SourceMessage;
721
+ 'builder.reuse.publish': import("./types.js").SourceMessage;
722
+ 'builder.inspector.emptySelection': import("./types.js").SourceMessage;
723
+ 'builder.inspector.title': import("./types.js").SourceMessage;
724
+ 'builder.inspector.unknownComponent': import("./types.js").SourceMessage;
725
+ 'builder.inspector.noManifest': import("./types.js").SourceMessage;
726
+ 'builder.inspector.props': import("./types.js").SourceMessage;
727
+ 'builder.inspector.noEditableProps': import("./types.js").SourceMessage;
728
+ 'builder.inspector.slots': import("./types.js").SourceMessage;
729
+ 'builder.inspector.slotsHint': import("./types.js").SourceMessage;
730
+ 'builder.inspector.propertiesPane': import("./types.js").SourceMessage;
731
+ 'builder.inspector.invalidValue': import("./types.js").SourceMessage;
732
+ 'builder.inspector.invalidJson': import("./types.js").SourceMessage;
733
+ 'builder.layout.title': import("./types.js").SourceMessage;
734
+ 'builder.layout.direction': import("./types.js").SourceMessage;
735
+ 'builder.layout.vertical': import("./types.js").SourceMessage;
736
+ 'builder.layout.horizontal': import("./types.js").SourceMessage;
737
+ 'builder.layout.columns': import("./types.js").SourceMessage;
738
+ 'builder.layout.columnCount.one': import("./types.js").SourceMessage;
739
+ 'builder.layout.columnCount.other': import("./types.js").SourceMessage;
740
+ 'builder.layout.gap': import("./types.js").SourceMessage;
741
+ 'builder.layout.alignment': import("./types.js").SourceMessage;
742
+ 'builder.layout.onPhones': import("./types.js").SourceMessage;
743
+ 'builder.layout.stack': import("./types.js").SourceMessage;
744
+ 'builder.layout.keepColumns': import("./types.js").SourceMessage;
745
+ 'builder.layout.gapStep.hairline': import("./types.js").SourceMessage;
746
+ 'builder.layout.gapStep.extraSmall': import("./types.js").SourceMessage;
747
+ 'builder.layout.gapStep.small': import("./types.js").SourceMessage;
748
+ 'builder.layout.gapStep.medium': import("./types.js").SourceMessage;
749
+ 'builder.layout.gapStep.large': import("./types.js").SourceMessage;
750
+ 'builder.layout.gapStep.extraLarge': import("./types.js").SourceMessage;
751
+ 'builder.layout.gapStep.huge': import("./types.js").SourceMessage;
752
+ 'builder.layout.align.start': import("./types.js").SourceMessage;
753
+ 'builder.layout.align.center': import("./types.js").SourceMessage;
754
+ 'builder.layout.align.end': import("./types.js").SourceMessage;
755
+ 'builder.layout.align.stretch': import("./types.js").SourceMessage;
756
+ 'builder.canvas.pagePreview': import("./types.js").SourceMessage;
757
+ 'builder.canvas.reusableUnpublishedTitle': import("./types.js").SourceMessage;
758
+ 'builder.canvas.reusableMissingTitle': import("./types.js").SourceMessage;
759
+ 'builder.canvas.reusableUnpublishedHint': import("./types.js").SourceMessage;
760
+ 'builder.canvas.reusableMissingHint': import("./types.js").SourceMessage;
761
+ 'builder.canvas.viewportPreviewAria': import("./types.js").SourceMessage;
762
+ 'builder.canvas.viewportWidthTitle': import("./types.js").SourceMessage;
763
+ 'builder.canvas.breakpointsIssueLabel': import("./types.js").SourceMessage;
764
+ 'builder.canvas.undo': import("./types.js").SourceMessage;
765
+ 'builder.canvas.redo': import("./types.js").SourceMessage;
766
+ 'builder.canvas.insert': import("./types.js").SourceMessage;
767
+ 'builder.spacing.gapAfterChild': import("./types.js").SourceMessage;
768
+ 'builder.richText.toolbarLabel': import("./types.js").SourceMessage;
769
+ 'builder.richText.linkPlaceholder': import("./types.js").SourceMessage;
770
+ 'builder.richText.linkUrl': import("./types.js").SourceMessage;
771
+ 'builder.richText.set': import("./types.js").SourceMessage;
772
+ 'builder.richText.applyLink': import("./types.js").SourceMessage;
773
+ 'builder.richText.bold': import("./types.js").SourceMessage;
774
+ 'builder.richText.italic': import("./types.js").SourceMessage;
775
+ 'builder.richText.link': import("./types.js").SourceMessage;
776
+ 'builder.richText.removeLink': import("./types.js").SourceMessage;
777
+ 'builder.richText.unlink': import("./types.js").SourceMessage;
778
+ 'richText.placeholder': import("./types.js").SourceMessage;
779
+ 'richText.loading': import("./types.js").SourceMessage;
780
+ 'richText.bold': import("./types.js").SourceMessage;
781
+ 'richText.italic': import("./types.js").SourceMessage;
782
+ 'richText.underline': import("./types.js").SourceMessage;
783
+ 'richText.strike': import("./types.js").SourceMessage;
784
+ 'richText.code': import("./types.js").SourceMessage;
785
+ 'richText.paragraph': import("./types.js").SourceMessage;
786
+ 'richText.heading': import("./types.js").SourceMessage;
787
+ 'richText.bulletList': import("./types.js").SourceMessage;
788
+ 'richText.orderedList': import("./types.js").SourceMessage;
789
+ 'richText.blockquote': import("./types.js").SourceMessage;
790
+ 'richText.codeBlock': import("./types.js").SourceMessage;
791
+ 'richText.horizontalRule': import("./types.js").SourceMessage;
792
+ 'richText.undo': import("./types.js").SourceMessage;
793
+ 'richText.redo': import("./types.js").SourceMessage;
794
+ 'richText.link.add': import("./types.js").SourceMessage;
795
+ 'richText.link.remove': import("./types.js").SourceMessage;
796
+ 'richText.link.external': import("./types.js").SourceMessage;
797
+ 'richText.link.externalPlaceholder': import("./types.js").SourceMessage;
798
+ 'richText.link.document': import("./types.js").SourceMessage;
799
+ 'richText.link.documentSearch': import("./types.js").SourceMessage;
800
+ 'richText.link.documentEmpty': import("./types.js").SourceMessage;
801
+ 'richText.link.apply': import("./types.js").SourceMessage;
802
+ 'richText.image.add': import("./types.js").SourceMessage;
803
+ 'richText.embed.add': import("./types.js").SourceMessage;
804
+ 'richText.embed.badge': import("./types.js").SourceMessage;
805
+ 'richText.embed.unknown': import("./types.js").SourceMessage;
806
+ 'richText.embed.empty': import("./types.js").SourceMessage;
807
+ 'richText.embed.editProps': import("./types.js").SourceMessage;
808
+ 'richText.embed.editTitle': import("./types.js").SourceMessage;
809
+ 'richText.embed.noProps': import("./types.js").SourceMessage;
810
+ 'richText.embed.blocksNote': import("./types.js").SourceMessage;
811
+ 'richText.embed.inspectorBack': import("./types.js").SourceMessage;
812
+ 'richText.slash.text': import("./types.js").SourceMessage;
813
+ 'richText.slash.empty': import("./types.js").SourceMessage;
814
+ 'richText.slash.componentsGroup': import("./types.js").SourceMessage;
815
+ 'richText.expand.expand': import("./types.js").SourceMessage;
816
+ 'richText.expand.collapse': import("./types.js").SourceMessage;
817
+ 'richText.expand.title': import("./types.js").SourceMessage;
818
+ 'richText.expand.editingInSheet': import("./types.js").SourceMessage;
819
+ 'ai.panel.title': import("./types.js").SourceMessage;
820
+ 'ai.panel.toggle': import("./types.js").SourceMessage;
821
+ 'ai.panel.close': import("./types.js").SourceMessage;
822
+ 'ai.panel.loading': import("./types.js").SourceMessage;
823
+ 'ai.panel.working': import("./types.js").SourceMessage;
824
+ 'ai.panel.placeholder': import("./types.js").SourceMessage;
825
+ 'ai.panel.send': import("./types.js").SourceMessage;
826
+ 'ai.panel.emptyTitle': import("./types.js").SourceMessage;
827
+ 'ai.panel.emptyHint': import("./types.js").SourceMessage;
828
+ 'ai.panel.unavailable': import("./types.js").SourceMessage;
829
+ 'ai.panel.newConversation': import("./types.js").SourceMessage;
830
+ 'ai.step.search': import("./types.js").SourceMessage;
831
+ 'ai.step.searchRunning': import("./types.js").SourceMessage;
832
+ 'ai.step.listAssets': import("./types.js").SourceMessage;
833
+ 'ai.step.listAssetsRunning': import("./types.js").SourceMessage;
834
+ 'ai.step.getDocument': import("./types.js").SourceMessage;
835
+ 'ai.step.getDocumentRunning': import("./types.js").SourceMessage;
836
+ 'ai.step.drafting': import("./types.js").SourceMessage;
837
+ 'ai.step.translating': import("./types.js").SourceMessage;
838
+ 'ai.step.translatingDoc': import("./types.js").SourceMessage;
839
+ 'ai.step.translateNothing': import("./types.js").SourceMessage;
840
+ 'ai.step.updatingDoc': import("./types.js").SourceMessage;
841
+ 'ai.step.updateNoChange': import("./types.js").SourceMessage;
842
+ 'ai.proposal.title': import("./types.js").SourceMessage;
843
+ 'ai.proposal.reviewHint': import("./types.js").SourceMessage;
844
+ 'ai.proposal.apply': import("./types.js").SourceMessage;
845
+ 'ai.proposal.discard': import("./types.js").SourceMessage;
846
+ 'ai.proposal.applied': import("./types.js").SourceMessage;
847
+ 'ai.proposal.discarded': import("./types.js").SourceMessage;
848
+ 'ai.proposal.discardedNote': import("./types.js").SourceMessage;
849
+ 'ai.proposal.open': import("./types.js").SourceMessage;
850
+ 'ai.proposal.unavailable': import("./types.js").SourceMessage;
851
+ 'ai.proposal.diffBefore': import("./types.js").SourceMessage;
852
+ 'ai.proposal.diffAfter': import("./types.js").SourceMessage;
853
+ 'ai.proposal.diffUnified': import("./types.js").SourceMessage;
854
+ 'ai.proposal.expandReview': import("./types.js").SourceMessage;
855
+ 'ai.proposal.collapseReview': import("./types.js").SourceMessage;
856
+ 'ai.error.route': import("./types.js").SourceMessage;
857
+ 'ai.error.generic': import("./types.js").SourceMessage;
858
+ 'ai.error.applyFailed': import("./types.js").SourceMessage;
859
+ 'ai.error.stepCap': import("./types.js").SourceMessage;
860
+ 'ai.translate.action': import("./types.js").SourceMessage;
861
+ 'ai.translate.tooltip': import("./types.js").SourceMessage;
862
+ 'ai.translate.dialogTitle': import("./types.js").SourceMessage;
863
+ 'ai.translate.dialogDescription': import("./types.js").SourceMessage;
864
+ 'ai.translate.targetsLabel': import("./types.js").SourceMessage;
865
+ 'ai.translate.scopeLabel': import("./types.js").SourceMessage;
866
+ 'ai.translate.fillMissing': import("./types.js").SourceMessage;
867
+ 'ai.translate.retranslateAll': import("./types.js").SourceMessage;
868
+ 'ai.translate.retranslateSoon': import("./types.js").SourceMessage;
869
+ 'ai.translate.confirm': import("./types.js").SourceMessage;
870
+ 'ai.translate.preparing': import("./types.js").SourceMessage;
871
+ 'ai.translate.progress': import("./types.js").SourceMessage;
872
+ 'ai.translate.applying': import("./types.js").SourceMessage;
873
+ 'ai.translate.nothing': import("./types.js").SourceMessage;
874
+ 'ai.translate.applied': import("./types.js").SourceMessage;
875
+ 'ai.translate.cancelled': import("./types.js").SourceMessage;
876
+ 'ai.translate.failed': import("./types.js").SourceMessage;
877
+ 'ai.translate.close': import("./types.js").SourceMessage;
878
+ 'ai.translate.proposalTitle': import("./types.js").SourceMessage;
879
+ 'ai.translate.diffBefore': import("./types.js").SourceMessage;
880
+ 'ai.translate.diffAfter': import("./types.js").SourceMessage;
881
+ 'ai.update.proposalTitle': import("./types.js").SourceMessage;
882
+ 'ai.update.diffBefore': import("./types.js").SourceMessage;
883
+ 'ai.update.diffAfter': import("./types.js").SourceMessage;
884
+ };
885
+ /**
886
+ * The engine's built-in English source catalog (see the module docblock). Typed as
887
+ * {@link SourceCatalog} (the open index signature) so runtime lookups by arbitrary
888
+ * string key stay valid; the literal key set lives in {@link MessageKey}.
889
+ */
22
890
  export declare const EN_MESSAGES: SourceCatalog;
891
+ /** Every key in the EN source catalog (EC-398) — the literal union derived from the object above. */
892
+ export type MessageKey = keyof typeof MESSAGES;
893
+ /**
894
+ * A translation catalog **typed against the EN key set** (EC-398): partial (any key
895
+ * omitted falls back to the English source at runtime), and an unknown or stale key
896
+ * fails typecheck. Engine-shipped locale catalogs (`@elytracms/studio/locales/de`)
897
+ * and consumer overrides (`{ ...deMessages, 'some.key': '…' }`) are authored against
898
+ * this; the accepting seam (`StudioI18nConfig.locales`) stays the plain
899
+ * `MessageCatalog` — the type is for authoring, not a runtime gate.
900
+ */
901
+ export type TranslationCatalog = Partial<Record<MessageKey, string>>;
902
+ export {};