@dotcms/types 0.0.1-beta.25

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.
@@ -0,0 +1,1149 @@
1
+ /**
2
+ * Represents a DotCMS page asset that contains all the components and configuration needed to render a page
3
+ *
4
+ * @interface DotCMSPageAsset
5
+ * @property {boolean} [canCreateTemplate] - Whether the current user has permission to create templates
6
+ * @property {Object.<string, DotCMSPageAssetContainer>} containers - Map of container identifiers to their container objects
7
+ * @property {DotCMSLayout} layout - The layout configuration for this page
8
+ * @property {DotCMSPage} page - The page metadata and configuration
9
+ * @property {DotCMSSite} site - The site this page belongs to
10
+ * @property {DotCMSTemplate} template - The template used to render this page
11
+ * @property {DotCMSViewAs} [viewAs] - Optional view configuration for preview/editing modes
12
+ * @property {DotCMSVanityUrl} [vanityUrl] - Optional vanity URL configuration for this page
13
+ * @property {DotCMSURLContentMap} [urlContentMap] - Optional URL to content mapping configuration
14
+ * @property {Record<string, unknown>} [params] - Optional parameters used when requesting the page
15
+ */
16
+ export interface DotCMSPageAsset {
17
+ canCreateTemplate?: boolean;
18
+ containers: {
19
+ [key: string]: DotCMSPageAssetContainer;
20
+ };
21
+ layout: DotCMSLayout;
22
+ page: DotCMSPage;
23
+ site: DotCMSSite;
24
+ template: DotCMSTemplate;
25
+ viewAs?: DotCMSViewAs;
26
+ vanityUrl?: DotCMSVanityUrl;
27
+ urlContentMap?: DotCMSURLContentMap;
28
+ params?: Record<string, unknown>;
29
+ }
30
+ /**
31
+ * Represents a URL to content mapping configuration that extends the basic contentlet
32
+ *
33
+ * @interface DotCMSURLContentMap
34
+ * @extends {DotCMSBasicContentlet}
35
+ * @property {string} URL_MAP_FOR_CONTENT - The content identifier that this URL maps to
36
+ * @property {string} urlMap - The URL pattern/mapping configuration
37
+ */
38
+ export interface DotCMSURLContentMap extends DotCMSBasicContentlet {
39
+ URL_MAP_FOR_CONTENT: string;
40
+ urlMap: string;
41
+ }
42
+ /**
43
+ * Represents a row in a page layout asset
44
+ *
45
+ * @interface DotPageAssetLayoutRow
46
+ * @property {number} identifier - Unique numeric identifier for the row
47
+ * @property {string} [value] - Optional value associated with the row
48
+ * @property {string} [id] - Optional string identifier for the row
49
+ * @property {DotPageAssetLayoutColumn[]} columns - Array of columns contained within this row
50
+ * @property {string} [styleClass] - Optional CSS class name(s) to apply to the row
51
+ */
52
+ export interface DotPageAssetLayoutRow {
53
+ identifier: number;
54
+ value?: string;
55
+ id?: string;
56
+ columns: DotPageAssetLayoutColumn[];
57
+ styleClass?: string;
58
+ }
59
+ /**
60
+ * Represents a vanity URL configuration for URL redirection and forwarding
61
+ *
62
+ * @interface DotCMSVanityUrl
63
+ * @property {string} pattern - The URL pattern to match for this vanity URL rule
64
+ * @property {string} vanityUrlId - Unique identifier for this vanity URL
65
+ * @property {string} url - The actual URL that will be matched
66
+ * @property {string} siteId - The ID of the site this vanity URL belongs to
67
+ * @property {number} languageId - The language ID this vanity URL applies to
68
+ * @property {string} forwardTo - The destination URL to forward/redirect to
69
+ * @property {number} response - The HTTP response code to use
70
+ * @property {number} order - The priority order of this vanity URL rule
71
+ * @property {boolean} temporaryRedirect - Whether this is a temporary (302) redirect
72
+ * @property {boolean} permanentRedirect - Whether this is a permanent (301) redirect
73
+ * @property {boolean} forward - Whether to forward the request internally
74
+ */
75
+ export interface DotCMSVanityUrl {
76
+ pattern: string;
77
+ vanityUrlId: string;
78
+ url: string;
79
+ siteId: string;
80
+ languageId: number;
81
+ forwardTo: string;
82
+ response: number;
83
+ order: number;
84
+ temporaryRedirect: boolean;
85
+ permanentRedirect: boolean;
86
+ forward: boolean;
87
+ }
88
+ /**
89
+ * Represents a column in a page layout asset
90
+ *
91
+ * @interface DotPageAssetLayoutColumn
92
+ * @property {boolean} preview - Whether the column is in preview mode
93
+ * @property {DotCMSColumnContainer[]} containers - Array of containers within this column
94
+ * @property {number} widthPercent - Width of the column as a percentage
95
+ * @property {number} width - Width of the column in pixels/units
96
+ * @property {number} leftOffset - Left offset position of the column
97
+ * @property {number} left - Left position of the column
98
+ * @property {string} [styleClass] - Optional CSS class name(s) to apply to the column
99
+ */
100
+ export interface DotPageAssetLayoutColumn {
101
+ preview: boolean;
102
+ containers: DotCMSColumnContainer[];
103
+ widthPercent: number;
104
+ width: number;
105
+ leftOffset: number;
106
+ left: number;
107
+ styleClass?: string;
108
+ }
109
+ /**
110
+ * Represents a container within a column in a page layout
111
+ *
112
+ * @interface DotCMSColumnContainer
113
+ * @property {string} identifier - Unique identifier for the container
114
+ * @property {string} uuid - UUID of the current container instance
115
+ * @property {string[]} historyUUIDs - Array of historical UUIDs for this container's previous versions
116
+ */
117
+ export interface DotCMSColumnContainer {
118
+ identifier: string;
119
+ uuid: string;
120
+ historyUUIDs: string[];
121
+ }
122
+ /**
123
+ * Represents a container asset within a page, including its structure and content
124
+ *
125
+ * @interface DotCMSPageAssetContainer
126
+ * @property {DotCMSContainer} container - The container configuration and metadata
127
+ * @property {DotCMSContainerStructure[]} containerStructures - Array of content type structures allowed in this container
128
+ * @property {Object.<string, DotCMSBasicContentlet[]>} contentlets - Map of content entries in the container, keyed by UUID
129
+ */
130
+ export interface DotCMSPageAssetContainer {
131
+ container: DotCMSContainer;
132
+ containerStructures: DotCMSContainerStructure[];
133
+ contentlets: {
134
+ [key: string]: DotCMSBasicContentlet[];
135
+ };
136
+ }
137
+ /**
138
+ * Represents a container in DotCMS that can hold content and has various configuration options
139
+ *
140
+ * @interface DotCMSContainer
141
+ * @property {string} identifier - Unique identifier for the container
142
+ * @property {string} uuid - UUID of the container instance
143
+ * @property {number} iDate - Initial creation date timestamp
144
+ * @property {string} type - Type of the container
145
+ * @property {string} [owner] - Owner of the container
146
+ * @property {string} inode - Unique inode identifier
147
+ * @property {string} source - Source of the container
148
+ * @property {string} title - Title of the container
149
+ * @property {string} friendlyName - User-friendly name of the container
150
+ * @property {number} modDate - Last modification date timestamp
151
+ * @property {string} modUser - User who last modified the container
152
+ * @property {number} sortOrder - Sort order position
153
+ * @property {boolean} showOnMenu - Whether to show in navigation menus
154
+ * @property {string} [code] - Optional container template code
155
+ * @property {number} maxContentlets - Maximum number of content items allowed
156
+ * @property {boolean} useDiv - Whether to wrap content in div elements
157
+ * @property {string} [sortContentletsBy] - Field to sort contentlets by
158
+ * @property {string} preLoop - Code to execute before content loop
159
+ * @property {string} postLoop - Code to execute after content loop
160
+ * @property {boolean} staticify - Whether to make container static
161
+ * @property {string} [luceneQuery] - Optional Lucene query for filtering content
162
+ * @property {string} notes - Additional notes about the container
163
+ * @property {number} [languageId] - Language identifier
164
+ * @property {string} [path] - Container path
165
+ * @property {boolean} live - Whether container is live
166
+ * @property {boolean} locked - Whether container is locked
167
+ * @property {boolean} working - Whether container is in working state
168
+ * @property {boolean} deleted - Whether container is deleted
169
+ * @property {string} name - Name of the container
170
+ * @property {boolean} archived - Whether container is archived
171
+ * @property {string} permissionId - Permission identifier
172
+ * @property {string} versionId - Version identifier
173
+ * @property {string} versionType - Type of version
174
+ * @property {string} permissionType - Type of permission
175
+ * @property {string} categoryId - Category identifier
176
+ * @property {number} idate - Creation date timestamp
177
+ * @property {boolean} new - Whether container is new
178
+ * @property {string} acceptTypes - Content types accepted by container
179
+ * @property {DotCMSBasicContentlet[]} contentlets - Array of content items
180
+ * @property {DotCMSSiteParentPermissionable} parentPermissionable - Parent permission configuration
181
+ */
182
+ /**
183
+ * Represents a container in DotCMS that can hold content and has various configuration options
184
+ *
185
+ * @interface DotCMSContainer
186
+ * @property {string} identifier - Unique identifier for the container
187
+ * @property {string} uuid - UUID of the container instance
188
+ * @property {number} iDate - Initial creation date timestamp
189
+ * @property {string} type - Type of the container
190
+ * @property {string} [owner] - Owner of the container
191
+ * @property {string} inode - Unique inode identifier
192
+ * @property {string} source - Source of the container
193
+ * @property {string} title - Title of the container
194
+ * @property {string} friendlyName - User-friendly name of the container
195
+ * @property {number} modDate - Last modification date timestamp
196
+ * @property {string} modUser - User who last modified the container
197
+ * @property {number} sortOrder - Sort order position
198
+ * @property {boolean} showOnMenu - Whether to show in navigation menus
199
+ * @property {string} [code] - Optional container template code
200
+ * @property {number} maxContentlets - Maximum number of content items allowed
201
+ * @property {boolean} useDiv - Whether to wrap content in div elements
202
+ * @property {string} [sortContentletsBy] - Field to sort contentlets by
203
+ * @property {string} preLoop - Code to execute before content loop
204
+ * @property {string} postLoop - Code to execute after content loop
205
+ * @property {boolean} staticify - Whether to make container static
206
+ * @property {string} [luceneQuery] - Optional Lucene query for filtering content
207
+ * @property {string} notes - Additional notes about the container
208
+ * @property {number} [languageId] - Language identifier
209
+ * @property {string} [path] - Container path
210
+ * @property {boolean} live - Whether container is live
211
+ * @property {boolean} locked - Whether container is locked
212
+ * @property {boolean} working - Whether container is in working state
213
+ * @property {boolean} deleted - Whether container is deleted
214
+ * @property {string} name - Name of the container
215
+ * @property {boolean} archived - Whether container is archived
216
+ * @property {string} permissionId - Permission identifier
217
+ * @property {string} versionId - Version identifier
218
+ * @property {string} versionType - Type of version
219
+ * @property {string} permissionType - Type of permission
220
+ * @property {string} categoryId - Category identifier
221
+ * @property {number} idate - Creation date timestamp
222
+ * @property {boolean} new - Whether container is new
223
+ * @property {string} acceptTypes - Content types accepted by container
224
+ * @property {DotCMSBasicContentlet[]} contentlets - Array of content items
225
+ * @property {DotCMSSiteParentPermissionable} parentPermissionable - Parent permission configuration
226
+ */
227
+ export interface DotCMSContainer {
228
+ identifier: string;
229
+ uuid: string;
230
+ iDate: number;
231
+ type: string;
232
+ owner?: string;
233
+ inode: string;
234
+ source: string;
235
+ title: string;
236
+ friendlyName: string;
237
+ modDate: number;
238
+ modUser: string;
239
+ sortOrder: number;
240
+ showOnMenu: boolean;
241
+ code?: string;
242
+ maxContentlets: number;
243
+ useDiv: boolean;
244
+ sortContentletsBy?: string;
245
+ preLoop: string;
246
+ postLoop: string;
247
+ staticify: boolean;
248
+ luceneQuery?: string;
249
+ notes: string;
250
+ languageId?: number;
251
+ path?: string;
252
+ live: boolean;
253
+ locked: boolean;
254
+ working: boolean;
255
+ deleted: boolean;
256
+ name: string;
257
+ archived: boolean;
258
+ permissionId: string;
259
+ versionId: string;
260
+ versionType: string;
261
+ permissionType: string;
262
+ categoryId: string;
263
+ idate: number;
264
+ new: boolean;
265
+ acceptTypes: string;
266
+ contentlets: DotCMSBasicContentlet[];
267
+ parentPermissionable: DotCMSSiteParentPermissionable;
268
+ }
269
+ /**
270
+ * Represents a basic contentlet in dotCMS with common properties shared across content types
271
+ *
272
+ * @interface DotCMSBasicContentlet
273
+ * @property {boolean} archived - Whether the contentlet is archived
274
+ * @property {string} baseType - The base content type
275
+ * @property {boolean} [deleted] - Whether the contentlet is deleted
276
+ * @property {string} [binary] - Binary content identifier
277
+ * @property {string} [binaryContentAsset] - Binary content asset identifier
278
+ * @property {string} [binaryVersion] - Version of binary content
279
+ * @property {string} contentType - The specific content type
280
+ * @property {string} [file] - Associated file path
281
+ * @property {string} folder - Folder path containing the contentlet
282
+ * @property {boolean} [hasLiveVersion] - Whether a live version exists
283
+ * @property {boolean} hasTitleImage - Whether the contentlet has a title image
284
+ * @property {string} host - Host identifier
285
+ * @property {string} hostName - Host name
286
+ * @property {string} identifier - Unique identifier
287
+ * @property {string} inode - Internal node identifier
288
+ * @property {any} [image] - Associated image
289
+ * @property {number} languageId - Language identifier
290
+ * @property {string} [language] - Language name/code
291
+ * @property {boolean} live - Whether contentlet is live
292
+ * @property {boolean} locked - Whether contentlet is locked
293
+ * @property {string} [mimeType] - MIME type for binary content
294
+ * @property {string} modDate - Last modification date
295
+ * @property {string} modUser - User who last modified
296
+ * @property {string} modUserName - Display name of user who last modified
297
+ * @property {string} owner - Owner of the contentlet
298
+ * @property {number} sortOrder - Sort order position
299
+ * @property {string} stInode - Structure inode
300
+ * @property {string} title - Title of the contentlet
301
+ * @property {string} titleImage - Title image path/identifier
302
+ * @property {string} [text] - Text content
303
+ * @property {string} url - URL for the contentlet
304
+ * @property {boolean} working - Whether contentlet is in working version
305
+ * @property {string} [body] - Body content
306
+ * @property {string} [contentTypeIcon] - Icon for the content type
307
+ * @property {string} [variant] - Content variant identifier
308
+ * @property {string} [widgetTitle] - Title for widget type content
309
+ * @property {string} [onNumberOfPages] - Number of pages setting
310
+ * @property {string} [__icon__] - Icon identifier
311
+ * @property {any} [key: string] - Additional dynamic properties
312
+ */
313
+ export interface DotCMSBasicContentlet {
314
+ archived: boolean;
315
+ baseType: string;
316
+ deleted?: boolean;
317
+ binary?: string;
318
+ binaryContentAsset?: string;
319
+ binaryVersion?: string;
320
+ contentType: string;
321
+ file?: string;
322
+ folder: string;
323
+ hasLiveVersion?: boolean;
324
+ hasTitleImage: boolean;
325
+ host: string;
326
+ hostName: string;
327
+ identifier: string;
328
+ inode: string;
329
+ image?: any;
330
+ languageId: number;
331
+ language?: string;
332
+ live: boolean;
333
+ locked: boolean;
334
+ mimeType?: string;
335
+ modDate: string;
336
+ modUser: string;
337
+ modUserName: string;
338
+ owner: string;
339
+ sortOrder: number;
340
+ stInode: string;
341
+ title: string;
342
+ titleImage: string;
343
+ text?: string;
344
+ url: string;
345
+ working: boolean;
346
+ body?: string;
347
+ contentTypeIcon?: string;
348
+ variant?: string;
349
+ widgetTitle?: string;
350
+ onNumberOfPages?: string;
351
+ __icon__?: string;
352
+ [key: string]: any;
353
+ }
354
+ /**
355
+ * Represents a navigation item in the DotCMS navigation structure
356
+ *
357
+ * @interface DotcmsNavigationItem
358
+ * @property {string} [code] - Optional unique code identifier for the navigation item
359
+ * @property {string} folder - The folder path where this navigation item is located
360
+ * @property {DotcmsNavigationItem[]} [children] - Optional array of child navigation items
361
+ * @property {string} host - The host/site this navigation item belongs to
362
+ * @property {number} languageId - The language ID for this navigation item
363
+ * @property {string} href - The URL/link that this navigation item points to
364
+ * @property {string} title - The display title of the navigation item
365
+ * @property {string} type - The type of navigation item
366
+ * @property {number} hash - Hash value for the navigation item
367
+ * @property {string} target - The target attribute for the link (e.g. "_blank", "_self")
368
+ * @property {number} order - The sort order position of this item in the navigation
369
+ */
370
+ export interface DotcmsNavigationItem {
371
+ code?: string;
372
+ folder: string;
373
+ children?: DotcmsNavigationItem[];
374
+ host: string;
375
+ languageId: number;
376
+ href: string;
377
+ title: string;
378
+ type: string;
379
+ hash: number;
380
+ target: string;
381
+ order: number;
382
+ }
383
+ /**
384
+ * Represents a template in DotCMS that defines the layout and structure of pages
385
+ *
386
+ * @interface DotCMSTemplate
387
+ * @property {number} iDate - Initial creation date timestamp
388
+ * @property {string} type - Type of the template
389
+ * @property {string} owner - Owner of the template
390
+ * @property {string} inode - Unique inode identifier
391
+ * @property {string} identifier - Unique identifier for the template
392
+ * @property {string} source - Source of the template
393
+ * @property {string} title - Title of the template
394
+ * @property {string} friendlyName - User-friendly name of the template
395
+ * @property {number} modDate - Last modification date timestamp
396
+ * @property {string} modUser - User who last modified the template
397
+ * @property {number} sortOrder - Sort order position
398
+ * @property {boolean} showOnMenu - Whether to show in navigation menus
399
+ * @property {string} image - Image associated with the template
400
+ * @property {boolean} drawed - Whether template was drawn in template designer
401
+ * @property {string} drawedBody - Template body from designer
402
+ * @property {string} theme - Theme applied to the template
403
+ * @property {boolean} anonymous - Whether template is accessible anonymously
404
+ * @property {boolean} template - Whether this is a template
405
+ * @property {string} name - Name of the template
406
+ * @property {boolean} live - Whether template is live
407
+ * @property {boolean} archived - Whether template is archived
408
+ * @property {boolean} locked - Whether template is locked
409
+ * @property {boolean} working - Whether template is in working state
410
+ * @property {string} permissionId - Permission identifier
411
+ * @property {string} versionId - Version identifier
412
+ * @property {string} versionType - Type of version
413
+ * @property {boolean} deleted - Whether template is deleted
414
+ * @property {string} permissionType - Type of permission
415
+ * @property {string} categoryId - Category identifier
416
+ * @property {number} idate - Creation date timestamp
417
+ * @property {boolean} new - Whether template is new
418
+ * @property {boolean} canEdit - Whether current user can edit template
419
+ */
420
+ interface DotCMSTemplate {
421
+ iDate: number;
422
+ type: string;
423
+ owner: string;
424
+ inode: string;
425
+ identifier: string;
426
+ source: string;
427
+ title: string;
428
+ friendlyName: string;
429
+ modDate: number;
430
+ modUser: string;
431
+ sortOrder: number;
432
+ showOnMenu: boolean;
433
+ image: string;
434
+ drawed: boolean;
435
+ drawedBody: string;
436
+ theme: string;
437
+ anonymous: boolean;
438
+ template: boolean;
439
+ name: string;
440
+ live: boolean;
441
+ archived: boolean;
442
+ locked: boolean;
443
+ working: boolean;
444
+ permissionId: string;
445
+ versionId: string;
446
+ versionType: string;
447
+ deleted: boolean;
448
+ permissionType: string;
449
+ categoryId: string;
450
+ idate: number;
451
+ new: boolean;
452
+ canEdit: boolean;
453
+ }
454
+ /**
455
+ * Represents a page in DotCMS with its metadata, permissions and configuration
456
+ *
457
+ * @interface DotCMSPage
458
+ * @property {string} template - Template identifier used by this page
459
+ * @property {number} modDate - Last modification date timestamp
460
+ * @property {string} metadata - Page metadata
461
+ * @property {string} cachettl - Cache time to live configuration
462
+ * @property {string} pageURI - URI path of the page
463
+ * @property {string} title - Page title
464
+ * @property {string} type - Type of page
465
+ * @property {string} showOnMenu - Menu display configuration
466
+ * @property {boolean} httpsRequired - Whether HTTPS is required
467
+ * @property {string} inode - Unique inode identifier
468
+ * @property {any[]} disabledWYSIWYG - Disabled WYSIWYG editors
469
+ * @property {string} seokeywords - SEO keywords
470
+ * @property {string} host - Host identifier
471
+ * @property {number} lastReview - Last review date timestamp
472
+ * @property {boolean} working - Whether page is in working state
473
+ * @property {boolean} locked - Whether page is locked
474
+ * @property {string} stInode - Structure inode identifier
475
+ * @property {string} friendlyName - User-friendly name
476
+ * @property {boolean} live - Whether page is live
477
+ * @property {string} owner - Page owner
478
+ * @property {string} identifier - Unique identifier
479
+ * @property {any[]} nullProperties - Properties with null values
480
+ * @property {string} friendlyname - Alternative friendly name
481
+ * @property {string} pagemetadata - Additional page metadata
482
+ * @property {number} languageId - Language identifier
483
+ * @property {string} url - Page URL
484
+ * @property {string} seodescription - SEO description
485
+ * @property {string} modUserName - Name of user who last modified
486
+ * @property {string} folder - Folder path
487
+ * @property {boolean} deleted - Whether page is deleted
488
+ * @property {number} sortOrder - Sort order position
489
+ * @property {string} modUser - User who last modified
490
+ * @property {string} pageUrl - Full page URL
491
+ * @property {string} workingInode - Working version inode
492
+ * @property {string} shortyWorking - Short working version ID
493
+ * @property {boolean} canEdit - Whether current user can edit
494
+ * @property {boolean} canRead - Whether current user can read
495
+ * @property {boolean} canLock - Whether current user can lock
496
+ * @property {number} lockedOn - Lock timestamp
497
+ * @property {string} lockedBy - User who locked the page
498
+ * @property {string} lockedByName - Name of user who locked
499
+ * @property {string} liveInode - Live version inode
500
+ * @property {string} shortyLive - Short live version ID
501
+ */
502
+ interface DotCMSPage {
503
+ template: string;
504
+ modDate: number;
505
+ metadata: string;
506
+ cachettl: string;
507
+ pageURI: string;
508
+ title: string;
509
+ type: string;
510
+ showOnMenu: string;
511
+ httpsRequired: boolean;
512
+ inode: string;
513
+ disabledWYSIWYG: any[];
514
+ seokeywords: string;
515
+ host: string;
516
+ lastReview: number;
517
+ working: boolean;
518
+ locked: boolean;
519
+ stInode: string;
520
+ friendlyName: string;
521
+ live: boolean;
522
+ owner: string;
523
+ identifier: string;
524
+ nullProperties: any[];
525
+ friendlyname: string;
526
+ pagemetadata: string;
527
+ languageId: number;
528
+ url: string;
529
+ seodescription: string;
530
+ modUserName: string;
531
+ folder: string;
532
+ deleted: boolean;
533
+ sortOrder: number;
534
+ modUser: string;
535
+ pageUrl: string;
536
+ workingInode: string;
537
+ shortyWorking: string;
538
+ canEdit: boolean;
539
+ canRead: boolean;
540
+ canLock: boolean;
541
+ lockedOn: number;
542
+ lockedBy: string;
543
+ lockedByName: string;
544
+ liveInode: string;
545
+ shortyLive: string;
546
+ }
547
+ /**
548
+ * Represents view configuration settings for preview/editing modes
549
+ *
550
+ * @interface DotCMSViewAs
551
+ * @property {Object} language - Language configuration
552
+ * @property {number} language.id - Language identifier
553
+ * @property {string} language.languageCode - ISO language code
554
+ * @property {string} language.countryCode - ISO country code
555
+ * @property {string} language.language - Language name
556
+ * @property {string} language.country - Country name
557
+ * @property {string} mode - View mode (e.g. PREVIEW_MODE, EDIT_MODE, LIVE)
558
+ */
559
+ /**
560
+ * Represents view configuration settings for preview/editing modes
561
+ *
562
+ * @interface DotCMSViewAs
563
+ * @property {Object} language - Language configuration for the view
564
+ * @property {number} language.id - Unique identifier for the language
565
+ * @property {string} language.languageCode - ISO 639-1 language code (e.g. 'en', 'es')
566
+ * @property {string} language.countryCode - ISO 3166-1 country code (e.g. 'US', 'ES')
567
+ * @property {string} language.language - Full name of the language (e.g. 'English', 'Spanish')
568
+ * @property {string} language.country - Full name of the country (e.g. 'United States', 'Spain')
569
+ * @property {string} mode - View mode for the page ('PREVIEW_MODE' | 'EDIT_MODE' | 'LIVE')
570
+ */
571
+ /**
572
+ * Represents view configuration settings for preview/editing modes
573
+ *
574
+ * @interface DotCMSViewAs
575
+ * @property {Object} language - Language configuration for the view
576
+ * @property {number} language.id - Unique identifier for the language
577
+ * @property {string} language.languageCode - ISO 639-1 language code (e.g. 'en', 'es')
578
+ * @property {string} language.countryCode - ISO 3166-1 country code (e.g. 'US', 'ES')
579
+ * @property {string} language.language - Full name of the language (e.g. 'English', 'Spanish')
580
+ * @property {string} language.country - Full name of the country (e.g. 'United States', 'Spain')
581
+ * @property {string} mode - View mode for the page ('PREVIEW_MODE' | 'EDIT_MODE' | 'LIVE')
582
+ */
583
+ interface DotCMSViewAs {
584
+ language: {
585
+ id: number;
586
+ languageCode: string;
587
+ countryCode: string;
588
+ language: string;
589
+ country: string;
590
+ };
591
+ mode: string;
592
+ }
593
+ /**
594
+ * Represents the layout configuration for a DotCMS page
595
+ *
596
+ * @interface DotCMSLayout
597
+ * @property {string} pageWidth - The overall width of the page
598
+ * @property {string} width - The width of the main content area
599
+ * @property {string} layout - The layout template/configuration identifier
600
+ * @property {string} title - The title of the layout
601
+ * @property {boolean} header - Whether the layout includes a header section
602
+ * @property {boolean} footer - Whether the layout includes a footer section
603
+ * @property {DotPageAssetLayoutBody} body - The main content body configuration
604
+ * @property {DotPageAssetLayoutSidebar} sidebar - The sidebar configuration
605
+ */
606
+ interface DotCMSLayout {
607
+ pageWidth: string;
608
+ width: string;
609
+ layout: string;
610
+ title: string;
611
+ header: boolean;
612
+ footer: boolean;
613
+ body: DotPageAssetLayoutBody;
614
+ sidebar: DotPageAssetLayoutSidebar;
615
+ }
616
+ /**
617
+ * Represents the structure configuration for a DotCMS container
618
+ *
619
+ * @interface DotCMSContainerStructure
620
+ * @property {string} id - Unique identifier for the container structure
621
+ * @property {string} structureId - ID of the content structure/type
622
+ * @property {string} containerInode - Inode of the container
623
+ * @property {string} containerId - ID of the container
624
+ * @property {string} code - Template code for rendering the structure
625
+ * @property {string} contentTypeVar - Variable name of the content type
626
+ */
627
+ interface DotCMSContainerStructure {
628
+ id: string;
629
+ structureId: string;
630
+ containerInode: string;
631
+ containerId: string;
632
+ code: string;
633
+ contentTypeVar: string;
634
+ }
635
+ /**
636
+ * Represents the sidebar configuration for a DotCMS page layout
637
+ *
638
+ * @interface DotPageAssetLayoutSidebar
639
+ * @property {boolean} preview - Whether the sidebar is in preview mode
640
+ * @property {DotCMSContainer[]} containers - Array of containers placed in the sidebar
641
+ * @property {string} location - Position/location of the sidebar
642
+ * @property {number} widthPercent - Width of the sidebar as a percentage
643
+ * @property {string} width - Width of the sidebar (CSS value)
644
+ */
645
+ interface DotPageAssetLayoutSidebar {
646
+ preview: boolean;
647
+ containers: DotCMSContainer[];
648
+ location: string;
649
+ widthPercent: number;
650
+ width: string;
651
+ }
652
+ /**
653
+ * Represents the body section of a DotCMS page layout
654
+ *
655
+ * @interface DotPageAssetLayoutBody
656
+ * @property {DotPageAssetLayoutRow[]} rows - Array of layout rows that make up the body content
657
+ */
658
+ interface DotPageAssetLayoutBody {
659
+ rows: DotPageAssetLayoutRow[];
660
+ }
661
+ /**
662
+ * Represents a DotCMS site/host with its configuration and metadata
663
+ *
664
+ * @interface DotCMSSite
665
+ * @property {boolean} lowIndexPriority - Whether this site has low priority for indexing
666
+ * @property {string} name - Name of the site
667
+ * @property {boolean} default - Whether this is the default site
668
+ * @property {string} aliases - Comma-separated list of domain aliases
669
+ * @property {boolean} parent - Whether this site is a parent site
670
+ * @property {string} tagStorage - Location for storing tags
671
+ * @property {boolean} systemHost - Whether this is a system host
672
+ * @property {string} inode - Unique inode identifier
673
+ * @property {string} versionType - Type of version
674
+ * @property {string} structureInode - Structure inode reference
675
+ * @property {string} hostname - Primary hostname
676
+ * @property {any} [hostThumbnail] - Optional thumbnail image
677
+ * @property {string} owner - Owner of the site
678
+ * @property {string} permissionId - Permission identifier
679
+ * @property {string} permissionType - Type of permission
680
+ * @property {string} type - Type of site
681
+ * @property {string} identifier - Unique identifier
682
+ * @property {number} modDate - Last modification date timestamp
683
+ * @property {string} host - Host identifier
684
+ * @property {boolean} live - Whether site is live
685
+ * @property {string} indexPolicy - Indexing policy configuration
686
+ * @property {string} categoryId - Category identifier
687
+ * @property {any} [actionId] - Optional action identifier
688
+ * @property {boolean} new - Whether site is new
689
+ * @property {boolean} archived - Whether site is archived
690
+ * @property {boolean} locked - Whether site is locked
691
+ * @property {any[]} disabledWysiwyg - Array of disabled WYSIWYG editors
692
+ * @property {string} modUser - User who last modified the site
693
+ * @property {boolean} working - Whether site is in working state
694
+ * @property {Object} titleImage - Title image configuration
695
+ * @property {boolean} titleImage.present - Whether title image exists
696
+ * @property {string} folder - Folder path
697
+ * @property {boolean} htmlpage - Whether site contains HTML pages
698
+ * @property {boolean} fileAsset - Whether site contains file assets
699
+ * @property {boolean} vanityUrl - Whether site uses vanity URLs
700
+ * @property {boolean} keyValue - Whether site uses key-value pairs
701
+ * @property {DotCMSSiteStructure} [structure] - Optional site structure configuration
702
+ * @property {string} title - Title of the site
703
+ * @property {number} languageId - Language identifier
704
+ * @property {string} indexPolicyDependencies - Index policy for dependencies
705
+ * @property {string} contentTypeId - Content type identifier
706
+ * @property {string} versionId - Version identifier
707
+ * @property {number} lastReview - Last review timestamp
708
+ * @property {any} [nextReview] - Optional next review date
709
+ * @property {any} [reviewInterval] - Optional review interval
710
+ * @property {number} sortOrder - Sort order position
711
+ * @property {DotCMSSiteContentType} contentType - Content type configuration
712
+ */
713
+ interface DotCMSSite {
714
+ lowIndexPriority: boolean;
715
+ name: string;
716
+ default: boolean;
717
+ aliases: string;
718
+ parent: boolean;
719
+ tagStorage: string;
720
+ systemHost: boolean;
721
+ inode: string;
722
+ versionType: string;
723
+ structureInode: string;
724
+ hostname: string;
725
+ hostThumbnail?: any;
726
+ owner: string;
727
+ permissionId: string;
728
+ permissionType: string;
729
+ type: string;
730
+ identifier: string;
731
+ modDate: number;
732
+ host: string;
733
+ live: boolean;
734
+ indexPolicy: string;
735
+ categoryId: string;
736
+ actionId?: any;
737
+ new: boolean;
738
+ archived: boolean;
739
+ locked: boolean;
740
+ disabledWysiwyg: any[];
741
+ modUser: string;
742
+ working: boolean;
743
+ titleImage: {
744
+ present: boolean;
745
+ };
746
+ folder: string;
747
+ htmlpage: boolean;
748
+ fileAsset: boolean;
749
+ vanityUrl: boolean;
750
+ keyValue: boolean;
751
+ structure?: DotCMSSiteStructure;
752
+ title: string;
753
+ languageId: number;
754
+ indexPolicyDependencies: string;
755
+ contentTypeId: string;
756
+ versionId: string;
757
+ lastReview: number;
758
+ nextReview?: any;
759
+ reviewInterval?: any;
760
+ sortOrder: number;
761
+ contentType: DotCMSSiteContentType;
762
+ }
763
+ /**
764
+ * Represents a content type configuration for a DotCMS site
765
+ *
766
+ * @interface DotCMSSiteContentType
767
+ * @property {any} [owner] - Optional owner of the content type
768
+ * @property {DotCMSSiteParentPermissionable} parentPermissionable - Parent permission configuration
769
+ * @property {string} permissionId - Permission identifier
770
+ * @property {string} permissionType - Type of permission
771
+ */
772
+ interface DotCMSSiteContentType {
773
+ owner?: any;
774
+ parentPermissionable: DotCMSSiteParentPermissionable;
775
+ permissionId: string;
776
+ permissionType: string;
777
+ }
778
+ /**
779
+ * Represents parent permissionable configuration for a DotCMS site
780
+ *
781
+ * @interface DotCMSSiteParentPermissionable
782
+ * @property {string} Inode - The inode identifier (legacy casing)
783
+ * @property {string} Identifier - The identifier (legacy casing)
784
+ * @property {boolean} permissionByIdentifier - Whether permissions are managed by identifier
785
+ * @property {string} type - The type of the permissionable
786
+ * @property {any} [owner] - Optional owner of the permissionable
787
+ * @property {string} identifier - The identifier (modern casing)
788
+ * @property {string} permissionId - Permission identifier
789
+ * @property {any} [parentPermissionable] - Optional parent permissionable reference
790
+ * @property {string} permissionType - Type of permission
791
+ * @property {string} inode - The inode identifier (modern casing)
792
+ * @property {any} [childrenPermissionable] - Optional children permissionable references
793
+ * @property {string} [variantId] - Optional variant identifier
794
+ */
795
+ export interface DotCMSSiteParentPermissionable {
796
+ Inode: string;
797
+ Identifier: string;
798
+ permissionByIdentifier: boolean;
799
+ type: string;
800
+ owner?: any;
801
+ identifier: string;
802
+ permissionId: string;
803
+ parentPermissionable?: any;
804
+ permissionType: string;
805
+ inode: string;
806
+ childrenPermissionable?: any;
807
+ variantId?: string;
808
+ }
809
+ /**
810
+ * Represents a content structure/type definition in DotCMS
811
+ *
812
+ * @interface DotCMSSiteStructure
813
+ * @property {number} iDate - Initial creation date timestamp
814
+ * @property {string} type - Type of the structure
815
+ * @property {any} [owner] - Optional owner of the structure
816
+ * @property {string} inode - Unique inode identifier
817
+ * @property {string} identifier - Unique identifier
818
+ * @property {string} name - Name of the structure
819
+ * @property {string} description - Description of the structure
820
+ * @property {boolean} defaultStructure - Whether this is a default structure
821
+ * @property {any} [reviewInterval] - Optional review interval configuration
822
+ * @property {any} [reviewerRole] - Optional reviewer role configuration
823
+ * @property {any} [pagedetail] - Optional page detail configuration
824
+ * @property {number} structureType - Type identifier for the structure
825
+ * @property {boolean} fixed - Whether structure is fixed/immutable
826
+ * @property {boolean} system - Whether this is a system structure
827
+ * @property {string} velocityVarName - Velocity variable name
828
+ * @property {any} [urlMapPattern] - Optional URL mapping pattern
829
+ * @property {string} host - Host identifier
830
+ * @property {string} folder - Folder path
831
+ * @property {string} publishDate - Publication date
832
+ * @property {any} [publishDateVar] - Optional publish date variable
833
+ * @property {any} [expireDateVar] - Optional expiration date variable
834
+ * @property {number} modDate - Last modification date timestamp
835
+ * @property {DotCMSSiteField[]} fields - Array of field definitions
836
+ * @property {boolean} widget - Whether structure is a widget
837
+ * @property {any} [detailPage] - Optional detail page configuration
838
+ * @property {DotCMSSiteField[]} fieldsBySortOrder - Fields sorted by order
839
+ * @property {boolean} form - Whether structure is a form
840
+ * @property {boolean} htmlpageAsset - Whether structure is an HTML page asset
841
+ * @property {boolean} content - Whether structure is content
842
+ * @property {boolean} fileAsset - Whether structure is a file asset
843
+ * @property {boolean} persona - Whether structure is a persona
844
+ * @property {string} permissionId - Permission identifier
845
+ * @property {string} permissionType - Type of permission
846
+ * @property {boolean} live - Whether structure is live
847
+ * @property {string} categoryId - Category identifier
848
+ * @property {number} idate - Creation date timestamp
849
+ * @property {boolean} new - Whether structure is new
850
+ * @property {boolean} archived - Whether structure is archived
851
+ * @property {boolean} locked - Whether structure is locked
852
+ * @property {string} modUser - User who last modified
853
+ * @property {boolean} working - Whether structure is in working state
854
+ * @property {string} title - Title of the structure
855
+ * @property {string} versionId - Version identifier
856
+ * @property {string} versionType - Type of version
857
+ */
858
+ interface DotCMSSiteStructure {
859
+ iDate: number;
860
+ type: string;
861
+ owner?: any;
862
+ inode: string;
863
+ identifier: string;
864
+ name: string;
865
+ description: string;
866
+ defaultStructure: boolean;
867
+ reviewInterval?: any;
868
+ reviewerRole?: any;
869
+ pagedetail?: any;
870
+ structureType: number;
871
+ fixed: boolean;
872
+ system: boolean;
873
+ velocityVarName: string;
874
+ urlMapPattern?: any;
875
+ host: string;
876
+ folder: string;
877
+ publishDate: string;
878
+ publishDateVar?: any;
879
+ expireDateVar?: any;
880
+ modDate: number;
881
+ fields: DotCMSSiteField[];
882
+ widget: boolean;
883
+ detailPage?: any;
884
+ fieldsBySortOrder: DotCMSSiteField[];
885
+ form: boolean;
886
+ htmlpageAsset: boolean;
887
+ content: boolean;
888
+ fileAsset: boolean;
889
+ persona: boolean;
890
+ permissionId: string;
891
+ permissionType: string;
892
+ live: boolean;
893
+ categoryId: string;
894
+ idate: number;
895
+ new: boolean;
896
+ archived: boolean;
897
+ locked: boolean;
898
+ modUser: string;
899
+ working: boolean;
900
+ title: string;
901
+ versionId: string;
902
+ versionType: string;
903
+ }
904
+ /**
905
+ * Represents a field in a DotCMS site structure/content type
906
+ *
907
+ * @interface DotCMSSiteField
908
+ * @property {number} iDate - Initial creation date timestamp
909
+ * @property {string} type - Type of the field
910
+ * @property {any} [owner] - Owner of the field
911
+ * @property {string} inode - Unique inode identifier
912
+ * @property {string} identifier - Unique identifier
913
+ * @property {string} structureInode - Inode of the parent structure/content type
914
+ * @property {string} fieldName - Name of the field
915
+ * @property {string} fieldType - Type of field (text, textarea, etc)
916
+ * @property {any} [fieldRelationType] - Type of relationship if field is relational
917
+ * @property {string} fieldContentlet - Contentlet field mapping
918
+ * @property {boolean} required - Whether field is required
919
+ * @property {string} velocityVarName - Velocity variable name
920
+ * @property {number} sortOrder - Sort order position
921
+ * @property {any} [values] - Possible field values
922
+ * @property {any} [regexCheck] - Regular expression validation
923
+ * @property {any} [hint] - Help text/hint
924
+ * @property {any} [defaultValue] - Default value
925
+ * @property {boolean} indexed - Whether field is indexed
926
+ * @property {boolean} listed - Whether field appears in listings
927
+ * @property {boolean} fixed - Whether field is fixed/immutable
928
+ * @property {boolean} readOnly - Whether field is read-only
929
+ * @property {boolean} searchable - Whether field is searchable
930
+ * @property {boolean} unique - Whether field must be unique
931
+ * @property {number} modDate - Last modification date timestamp
932
+ * @property {string} dataType - Data type of the field
933
+ * @property {boolean} live - Whether field is live
934
+ * @property {string} categoryId - Category identifier
935
+ * @property {number} idate - Creation date timestamp
936
+ * @property {boolean} new - Whether field is new
937
+ * @property {boolean} archived - Whether field is archived
938
+ * @property {boolean} locked - Whether field is locked
939
+ * @property {string} modUser - User who last modified
940
+ * @property {boolean} working - Whether field is in working state
941
+ * @property {string} permissionId - Permission identifier
942
+ * @property {any} [parentPermissionable] - Parent permission configuration
943
+ * @property {string} permissionType - Type of permission
944
+ * @property {string} title - Title of the field
945
+ * @property {string} versionId - Version identifier
946
+ * @property {string} versionType - Type of version
947
+ */
948
+ interface DotCMSSiteField {
949
+ iDate: number;
950
+ type: string;
951
+ owner?: any;
952
+ inode: string;
953
+ identifier: string;
954
+ structureInode: string;
955
+ fieldName: string;
956
+ fieldType: string;
957
+ fieldRelationType?: any;
958
+ fieldContentlet: string;
959
+ required: boolean;
960
+ velocityVarName: string;
961
+ sortOrder: number;
962
+ values?: any;
963
+ regexCheck?: any;
964
+ hint?: any;
965
+ defaultValue?: any;
966
+ indexed: boolean;
967
+ listed: boolean;
968
+ fixed: boolean;
969
+ readOnly: boolean;
970
+ searchable: boolean;
971
+ unique: boolean;
972
+ modDate: number;
973
+ dataType: string;
974
+ live: boolean;
975
+ categoryId: string;
976
+ idate: number;
977
+ new: boolean;
978
+ archived: boolean;
979
+ locked: boolean;
980
+ modUser: string;
981
+ working: boolean;
982
+ permissionId: string;
983
+ parentPermissionable?: any;
984
+ permissionType: string;
985
+ title: string;
986
+ versionId: string;
987
+ versionType: string;
988
+ }
989
+ /**
990
+ * Represents a basic page object returned from GraphQL queries
991
+ *
992
+ * @interface DotCMSBasicGraphQLPage
993
+ * @property {string} publishDate - The date the page was published
994
+ * @property {string} type - The type of the page
995
+ * @property {boolean} httpsRequired - Whether HTTPS is required to access the page
996
+ * @property {string} inode - Unique inode identifier
997
+ * @property {string} path - The path/URL of the page
998
+ * @property {string} identifier - Unique identifier for the page
999
+ * @property {boolean} hasTitleImage - Whether the page has a title image
1000
+ * @property {number} sortOrder - Sort order position
1001
+ * @property {string} extension - File extension
1002
+ * @property {boolean} canRead - Whether current user can read the page
1003
+ * @property {string} pageURI - URI of the page
1004
+ * @property {boolean} canEdit - Whether current user can edit the page
1005
+ * @property {boolean} archived - Whether page is archived
1006
+ * @property {string} friendlyName - User-friendly name
1007
+ * @property {string} workingInode - Working version inode
1008
+ * @property {string} url - URL of the page
1009
+ * @property {boolean} hasLiveVersion - Whether page has a live version
1010
+ * @property {boolean} deleted - Whether page is deleted
1011
+ * @property {string} pageUrl - URL of the page
1012
+ * @property {string} shortyWorking - Short identifier for working version
1013
+ * @property {string} mimeType - MIME type of the page
1014
+ * @property {boolean} locked - Whether page is locked
1015
+ * @property {string} stInode - Structure inode
1016
+ * @property {string} contentType - Content type
1017
+ * @property {string} creationDate - Date page was created
1018
+ * @property {string} liveInode - Live version inode
1019
+ * @property {string} name - Name of the page
1020
+ * @property {string} shortyLive - Short identifier for live version
1021
+ * @property {string} modDate - Last modification date
1022
+ * @property {string} title - Title of the page
1023
+ * @property {string} baseType - Base content type
1024
+ * @property {boolean} working - Whether page is in working state
1025
+ * @property {boolean} canLock - Whether current user can lock the page
1026
+ * @property {boolean} live - Whether page is live
1027
+ * @property {boolean} isContentlet - Whether page is a contentlet
1028
+ * @property {string} statusIcons - Status icons
1029
+ * @property {Object} conLanguage - Language information
1030
+ * @property {number} conLanguage.id - Language ID
1031
+ * @property {string} conLanguage.language - Language name
1032
+ * @property {string} conLanguage.languageCode - Language code
1033
+ * @property {Object} template - Template information
1034
+ * @property {boolean} template.drawed - Whether template is drawn
1035
+ * @property {DotCMSPageGraphQLContainer[]} containers - Array of containers on the page
1036
+ * @property {DotCMSLayout} layout - Layout configuration
1037
+ * @property {DotCMSViewAs} viewAs - View configuration
1038
+ * @property {Record<string, unknown>} urlContentMap - URL to content mapping
1039
+ * @property {DotCMSSite} site - Site information
1040
+ * @property {Record<string, unknown>} _map - Additional mapping data
1041
+ */
1042
+ export interface DotCMSBasicGraphQLPage {
1043
+ publishDate: string;
1044
+ type: string;
1045
+ httpsRequired: boolean;
1046
+ inode: string;
1047
+ path: string;
1048
+ identifier: string;
1049
+ hasTitleImage: boolean;
1050
+ sortOrder: number;
1051
+ extension: string;
1052
+ canRead: boolean;
1053
+ pageURI: string;
1054
+ canEdit: boolean;
1055
+ archived: boolean;
1056
+ friendlyName: string;
1057
+ workingInode: string;
1058
+ url: string;
1059
+ hasLiveVersion: boolean;
1060
+ deleted: boolean;
1061
+ pageUrl: string;
1062
+ shortyWorking: string;
1063
+ mimeType: string;
1064
+ locked: boolean;
1065
+ stInode: string;
1066
+ contentType: string;
1067
+ creationDate: string;
1068
+ liveInode: string;
1069
+ name: string;
1070
+ shortyLive: string;
1071
+ modDate: string;
1072
+ title: string;
1073
+ baseType: string;
1074
+ working: boolean;
1075
+ canLock: boolean;
1076
+ live: boolean;
1077
+ isContentlet: boolean;
1078
+ statusIcons: string;
1079
+ conLanguage: {
1080
+ id: number;
1081
+ language: string;
1082
+ languageCode: string;
1083
+ };
1084
+ template: {
1085
+ drawed: boolean;
1086
+ };
1087
+ containers: DotCMSPageGraphQLContainer[];
1088
+ layout: DotCMSLayout;
1089
+ viewAs: DotCMSViewAs;
1090
+ urlContentMap: Record<string, unknown>;
1091
+ site: DotCMSSite;
1092
+ _map: Record<string, unknown>;
1093
+ }
1094
+ /**
1095
+ * Represents a container in a GraphQL page response
1096
+ *
1097
+ * @interface DotCMSPageGraphQLContainer
1098
+ * @property {string} path - The path/location of the container in the page
1099
+ * @property {string} identifier - Unique identifier for the container
1100
+ * @property {number} [maxContentlets] - Optional maximum number of content items allowed in container
1101
+ * @property {DotCMSContainerStructure[]} containerStructures - Array of content type structures allowed in container
1102
+ * @property {DotCMSPageContainerContentlets[]} containerContentlets - Array of content items in container
1103
+ */
1104
+ export interface DotCMSPageGraphQLContainer {
1105
+ path: string;
1106
+ identifier: string;
1107
+ maxContentlets?: number;
1108
+ containerStructures: DotCMSContainerStructure[];
1109
+ containerContentlets: DotCMSPageContainerContentlets[];
1110
+ }
1111
+ export interface DotCMSPageContainerContentlets {
1112
+ uuid: string;
1113
+ contentlets: DotCMSBasicContentlet[];
1114
+ }
1115
+ /**
1116
+ * Represents a GraphQL error
1117
+ * @interface DotCMSGraphQLError
1118
+ */
1119
+ export interface DotCMSGraphQLError {
1120
+ message: string;
1121
+ locations: {
1122
+ line: number;
1123
+ column: number;
1124
+ }[];
1125
+ extensions: {
1126
+ classification: string;
1127
+ };
1128
+ }
1129
+ /**
1130
+ * Represents the complete response from a GraphQL page query
1131
+ *
1132
+ * @template TContent - The type of the content data
1133
+ * @template TNav - The type of the navigation data
1134
+ */
1135
+ export interface DotCMSGraphQLPageResponse<TContent = Record<string, any>> {
1136
+ page: DotCMSBasicGraphQLPage;
1137
+ content?: TContent;
1138
+ errors?: DotCMSGraphQLError;
1139
+ graphql: {
1140
+ query: string;
1141
+ variables: Record<string, unknown>;
1142
+ };
1143
+ }
1144
+ /**
1145
+ * Payload for initializing the UVE
1146
+ * @interface DotCMSEditablePage
1147
+ */
1148
+ export type DotCMSEditablePage = DotCMSGraphQLPageResponse | DotCMSPageAsset;
1149
+ export {};