@bernierllc/content-management-suite 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1290 @@
1
+ import { z } from 'zod';
2
+ export { StageActionButtons, WorkflowAdminConfig, WorkflowStepper, WorkflowTimeline } from '@bernierllc/content-workflow-ui';
3
+ export { TextContentType } from '@bernierllc/content-type-text';
4
+ export { ImageContentType } from '@bernierllc/content-type-image';
5
+ export { AudioContentTypeManager } from '@bernierllc/content-type-audio';
6
+ export { VideoContentType } from '@bernierllc/content-type-video';
7
+ export { ContentTypeRegistry } from '@bernierllc/content-type-registry';
8
+ export { EditorialWorkflowEngine, WorkflowBuilder, WorkflowFactory, WorkflowTemplates } from '@bernierllc/content-editorial-workflow';
9
+ export { AutosaveManager } from '@bernierllc/content-autosave-manager';
10
+ export { ContentSoftDelete } from '@bernierllc/content-soft-delete';
11
+
12
+ declare const ContentManagementConfigSchema: z.ZodObject<{
13
+ server: z.ZodDefault<z.ZodObject<{
14
+ port: z.ZodDefault<z.ZodNumber>;
15
+ host: z.ZodDefault<z.ZodString>;
16
+ cors: z.ZodDefault<z.ZodObject<{
17
+ origin: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
18
+ credentials: z.ZodDefault<z.ZodBoolean>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ origin: string | string[];
21
+ credentials: boolean;
22
+ }, {
23
+ origin?: string | string[] | undefined;
24
+ credentials?: boolean | undefined;
25
+ }>>;
26
+ security: z.ZodDefault<z.ZodObject<{
27
+ helmet: z.ZodDefault<z.ZodBoolean>;
28
+ rateLimit: z.ZodDefault<z.ZodObject<{
29
+ enabled: z.ZodDefault<z.ZodBoolean>;
30
+ windowMs: z.ZodDefault<z.ZodNumber>;
31
+ max: z.ZodDefault<z.ZodNumber>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ enabled: boolean;
34
+ windowMs: number;
35
+ max: number;
36
+ }, {
37
+ enabled?: boolean | undefined;
38
+ windowMs?: number | undefined;
39
+ max?: number | undefined;
40
+ }>>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ helmet: boolean;
43
+ rateLimit: {
44
+ enabled: boolean;
45
+ windowMs: number;
46
+ max: number;
47
+ };
48
+ }, {
49
+ helmet?: boolean | undefined;
50
+ rateLimit?: {
51
+ enabled?: boolean | undefined;
52
+ windowMs?: number | undefined;
53
+ max?: number | undefined;
54
+ } | undefined;
55
+ }>>;
56
+ }, "strip", z.ZodTypeAny, {
57
+ port: number;
58
+ host: string;
59
+ cors: {
60
+ origin: string | string[];
61
+ credentials: boolean;
62
+ };
63
+ security: {
64
+ helmet: boolean;
65
+ rateLimit: {
66
+ enabled: boolean;
67
+ windowMs: number;
68
+ max: number;
69
+ };
70
+ };
71
+ }, {
72
+ port?: number | undefined;
73
+ host?: string | undefined;
74
+ cors?: {
75
+ origin?: string | string[] | undefined;
76
+ credentials?: boolean | undefined;
77
+ } | undefined;
78
+ security?: {
79
+ helmet?: boolean | undefined;
80
+ rateLimit?: {
81
+ enabled?: boolean | undefined;
82
+ windowMs?: number | undefined;
83
+ max?: number | undefined;
84
+ } | undefined;
85
+ } | undefined;
86
+ }>>;
87
+ database: z.ZodDefault<z.ZodObject<{
88
+ type: z.ZodDefault<z.ZodEnum<["sqlite", "postgresql", "mysql", "mongodb"]>>;
89
+ url: z.ZodOptional<z.ZodString>;
90
+ host: z.ZodDefault<z.ZodString>;
91
+ port: z.ZodOptional<z.ZodNumber>;
92
+ name: z.ZodDefault<z.ZodString>;
93
+ username: z.ZodOptional<z.ZodString>;
94
+ password: z.ZodOptional<z.ZodString>;
95
+ ssl: z.ZodDefault<z.ZodBoolean>;
96
+ pool: z.ZodDefault<z.ZodObject<{
97
+ min: z.ZodDefault<z.ZodNumber>;
98
+ max: z.ZodDefault<z.ZodNumber>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ max: number;
101
+ min: number;
102
+ }, {
103
+ max?: number | undefined;
104
+ min?: number | undefined;
105
+ }>>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ host: string;
108
+ type: "sqlite" | "postgresql" | "mysql" | "mongodb";
109
+ name: string;
110
+ ssl: boolean;
111
+ pool: {
112
+ max: number;
113
+ min: number;
114
+ };
115
+ port?: number | undefined;
116
+ url?: string | undefined;
117
+ username?: string | undefined;
118
+ password?: string | undefined;
119
+ }, {
120
+ port?: number | undefined;
121
+ host?: string | undefined;
122
+ type?: "sqlite" | "postgresql" | "mysql" | "mongodb" | undefined;
123
+ url?: string | undefined;
124
+ name?: string | undefined;
125
+ username?: string | undefined;
126
+ password?: string | undefined;
127
+ ssl?: boolean | undefined;
128
+ pool?: {
129
+ max?: number | undefined;
130
+ min?: number | undefined;
131
+ } | undefined;
132
+ }>>;
133
+ content: z.ZodDefault<z.ZodObject<{
134
+ defaultWorkflow: z.ZodDefault<z.ZodObject<{
135
+ id: z.ZodDefault<z.ZodString>;
136
+ name: z.ZodDefault<z.ZodString>;
137
+ description: z.ZodDefault<z.ZodString>;
138
+ stages: z.ZodDefault<z.ZodArray<z.ZodObject<{
139
+ id: z.ZodString;
140
+ name: z.ZodString;
141
+ order: z.ZodNumber;
142
+ isPublishStage: z.ZodDefault<z.ZodBoolean>;
143
+ allowsScheduling: z.ZodDefault<z.ZodBoolean>;
144
+ description: z.ZodOptional<z.ZodString>;
145
+ permissions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ name: string;
148
+ id: string;
149
+ order: number;
150
+ isPublishStage: boolean;
151
+ allowsScheduling: boolean;
152
+ permissions: string[];
153
+ description?: string | undefined;
154
+ }, {
155
+ name: string;
156
+ id: string;
157
+ order: number;
158
+ description?: string | undefined;
159
+ isPublishStage?: boolean | undefined;
160
+ allowsScheduling?: boolean | undefined;
161
+ permissions?: string[] | undefined;
162
+ }>, "many">>;
163
+ transitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
164
+ id: z.ZodString;
165
+ from: z.ZodString;
166
+ to: z.ZodString;
167
+ description: z.ZodOptional<z.ZodString>;
168
+ permissions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
169
+ }, "strip", z.ZodTypeAny, {
170
+ id: string;
171
+ permissions: string[];
172
+ from: string;
173
+ to: string;
174
+ description?: string | undefined;
175
+ }, {
176
+ id: string;
177
+ from: string;
178
+ to: string;
179
+ description?: string | undefined;
180
+ permissions?: string[] | undefined;
181
+ }>, "many">>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ name: string;
184
+ id: string;
185
+ description: string;
186
+ stages: {
187
+ name: string;
188
+ id: string;
189
+ order: number;
190
+ isPublishStage: boolean;
191
+ allowsScheduling: boolean;
192
+ permissions: string[];
193
+ description?: string | undefined;
194
+ }[];
195
+ transitions: {
196
+ id: string;
197
+ permissions: string[];
198
+ from: string;
199
+ to: string;
200
+ description?: string | undefined;
201
+ }[];
202
+ }, {
203
+ name?: string | undefined;
204
+ id?: string | undefined;
205
+ description?: string | undefined;
206
+ stages?: {
207
+ name: string;
208
+ id: string;
209
+ order: number;
210
+ description?: string | undefined;
211
+ isPublishStage?: boolean | undefined;
212
+ allowsScheduling?: boolean | undefined;
213
+ permissions?: string[] | undefined;
214
+ }[] | undefined;
215
+ transitions?: {
216
+ id: string;
217
+ from: string;
218
+ to: string;
219
+ description?: string | undefined;
220
+ permissions?: string[] | undefined;
221
+ }[] | undefined;
222
+ }>>;
223
+ contentTypes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
224
+ autoSave: z.ZodDefault<z.ZodObject<{
225
+ enabled: z.ZodDefault<z.ZodBoolean>;
226
+ debounceMs: z.ZodDefault<z.ZodNumber>;
227
+ maxRetries: z.ZodDefault<z.ZodNumber>;
228
+ backoffMs: z.ZodDefault<z.ZodNumber>;
229
+ }, "strip", z.ZodTypeAny, {
230
+ enabled: boolean;
231
+ debounceMs: number;
232
+ maxRetries: number;
233
+ backoffMs: number;
234
+ }, {
235
+ enabled?: boolean | undefined;
236
+ debounceMs?: number | undefined;
237
+ maxRetries?: number | undefined;
238
+ backoffMs?: number | undefined;
239
+ }>>;
240
+ softDelete: z.ZodDefault<z.ZodObject<{
241
+ enabled: z.ZodDefault<z.ZodBoolean>;
242
+ showDeletedToUsers: z.ZodDefault<z.ZodBoolean>;
243
+ retentionDays: z.ZodDefault<z.ZodNumber>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ enabled: boolean;
246
+ showDeletedToUsers: boolean;
247
+ retentionDays: number;
248
+ }, {
249
+ enabled?: boolean | undefined;
250
+ showDeletedToUsers?: boolean | undefined;
251
+ retentionDays?: number | undefined;
252
+ }>>;
253
+ upload: z.ZodDefault<z.ZodObject<{
254
+ maxFileSize: z.ZodDefault<z.ZodNumber>;
255
+ allowedTypes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
256
+ storage: z.ZodDefault<z.ZodObject<{
257
+ type: z.ZodDefault<z.ZodEnum<["local", "s3", "gcs", "azure"]>>;
258
+ path: z.ZodDefault<z.ZodString>;
259
+ bucket: z.ZodOptional<z.ZodString>;
260
+ region: z.ZodOptional<z.ZodString>;
261
+ accessKey: z.ZodOptional<z.ZodString>;
262
+ secretKey: z.ZodOptional<z.ZodString>;
263
+ }, "strip", z.ZodTypeAny, {
264
+ path: string;
265
+ type: "local" | "s3" | "gcs" | "azure";
266
+ bucket?: string | undefined;
267
+ region?: string | undefined;
268
+ accessKey?: string | undefined;
269
+ secretKey?: string | undefined;
270
+ }, {
271
+ path?: string | undefined;
272
+ type?: "local" | "s3" | "gcs" | "azure" | undefined;
273
+ bucket?: string | undefined;
274
+ region?: string | undefined;
275
+ accessKey?: string | undefined;
276
+ secretKey?: string | undefined;
277
+ }>>;
278
+ }, "strip", z.ZodTypeAny, {
279
+ maxFileSize: number;
280
+ allowedTypes: string[];
281
+ storage: {
282
+ path: string;
283
+ type: "local" | "s3" | "gcs" | "azure";
284
+ bucket?: string | undefined;
285
+ region?: string | undefined;
286
+ accessKey?: string | undefined;
287
+ secretKey?: string | undefined;
288
+ };
289
+ }, {
290
+ maxFileSize?: number | undefined;
291
+ allowedTypes?: string[] | undefined;
292
+ storage?: {
293
+ path?: string | undefined;
294
+ type?: "local" | "s3" | "gcs" | "azure" | undefined;
295
+ bucket?: string | undefined;
296
+ region?: string | undefined;
297
+ accessKey?: string | undefined;
298
+ secretKey?: string | undefined;
299
+ } | undefined;
300
+ }>>;
301
+ }, "strip", z.ZodTypeAny, {
302
+ defaultWorkflow: {
303
+ name: string;
304
+ id: string;
305
+ description: string;
306
+ stages: {
307
+ name: string;
308
+ id: string;
309
+ order: number;
310
+ isPublishStage: boolean;
311
+ allowsScheduling: boolean;
312
+ permissions: string[];
313
+ description?: string | undefined;
314
+ }[];
315
+ transitions: {
316
+ id: string;
317
+ permissions: string[];
318
+ from: string;
319
+ to: string;
320
+ description?: string | undefined;
321
+ }[];
322
+ };
323
+ contentTypes: string[];
324
+ autoSave: {
325
+ enabled: boolean;
326
+ debounceMs: number;
327
+ maxRetries: number;
328
+ backoffMs: number;
329
+ };
330
+ softDelete: {
331
+ enabled: boolean;
332
+ showDeletedToUsers: boolean;
333
+ retentionDays: number;
334
+ };
335
+ upload: {
336
+ maxFileSize: number;
337
+ allowedTypes: string[];
338
+ storage: {
339
+ path: string;
340
+ type: "local" | "s3" | "gcs" | "azure";
341
+ bucket?: string | undefined;
342
+ region?: string | undefined;
343
+ accessKey?: string | undefined;
344
+ secretKey?: string | undefined;
345
+ };
346
+ };
347
+ }, {
348
+ defaultWorkflow?: {
349
+ name?: string | undefined;
350
+ id?: string | undefined;
351
+ description?: string | undefined;
352
+ stages?: {
353
+ name: string;
354
+ id: string;
355
+ order: number;
356
+ description?: string | undefined;
357
+ isPublishStage?: boolean | undefined;
358
+ allowsScheduling?: boolean | undefined;
359
+ permissions?: string[] | undefined;
360
+ }[] | undefined;
361
+ transitions?: {
362
+ id: string;
363
+ from: string;
364
+ to: string;
365
+ description?: string | undefined;
366
+ permissions?: string[] | undefined;
367
+ }[] | undefined;
368
+ } | undefined;
369
+ contentTypes?: string[] | undefined;
370
+ autoSave?: {
371
+ enabled?: boolean | undefined;
372
+ debounceMs?: number | undefined;
373
+ maxRetries?: number | undefined;
374
+ backoffMs?: number | undefined;
375
+ } | undefined;
376
+ softDelete?: {
377
+ enabled?: boolean | undefined;
378
+ showDeletedToUsers?: boolean | undefined;
379
+ retentionDays?: number | undefined;
380
+ } | undefined;
381
+ upload?: {
382
+ maxFileSize?: number | undefined;
383
+ allowedTypes?: string[] | undefined;
384
+ storage?: {
385
+ path?: string | undefined;
386
+ type?: "local" | "s3" | "gcs" | "azure" | undefined;
387
+ bucket?: string | undefined;
388
+ region?: string | undefined;
389
+ accessKey?: string | undefined;
390
+ secretKey?: string | undefined;
391
+ } | undefined;
392
+ } | undefined;
393
+ }>>;
394
+ ui: z.ZodDefault<z.ZodObject<{
395
+ theme: z.ZodDefault<z.ZodObject<{
396
+ mode: z.ZodDefault<z.ZodEnum<["light", "dark", "auto"]>>;
397
+ primaryColor: z.ZodDefault<z.ZodString>;
398
+ secondaryColor: z.ZodDefault<z.ZodString>;
399
+ accentColor: z.ZodDefault<z.ZodString>;
400
+ }, "strip", z.ZodTypeAny, {
401
+ mode: "light" | "dark" | "auto";
402
+ primaryColor: string;
403
+ secondaryColor: string;
404
+ accentColor: string;
405
+ }, {
406
+ mode?: "light" | "dark" | "auto" | undefined;
407
+ primaryColor?: string | undefined;
408
+ secondaryColor?: string | undefined;
409
+ accentColor?: string | undefined;
410
+ }>>;
411
+ editor: z.ZodDefault<z.ZodObject<{
412
+ showToolbar: z.ZodDefault<z.ZodBoolean>;
413
+ showStatusBar: z.ZodDefault<z.ZodBoolean>;
414
+ showWordCount: z.ZodDefault<z.ZodBoolean>;
415
+ showCharacterCount: z.ZodDefault<z.ZodBoolean>;
416
+ autoSave: z.ZodDefault<z.ZodBoolean>;
417
+ placeholder: z.ZodDefault<z.ZodString>;
418
+ }, "strip", z.ZodTypeAny, {
419
+ autoSave: boolean;
420
+ showToolbar: boolean;
421
+ showStatusBar: boolean;
422
+ showWordCount: boolean;
423
+ showCharacterCount: boolean;
424
+ placeholder: string;
425
+ }, {
426
+ autoSave?: boolean | undefined;
427
+ showToolbar?: boolean | undefined;
428
+ showStatusBar?: boolean | undefined;
429
+ showWordCount?: boolean | undefined;
430
+ showCharacterCount?: boolean | undefined;
431
+ placeholder?: string | undefined;
432
+ }>>;
433
+ list: z.ZodDefault<z.ZodObject<{
434
+ defaultView: z.ZodDefault<z.ZodEnum<["table", "list", "grid", "kanban"]>>;
435
+ pageSize: z.ZodDefault<z.ZodNumber>;
436
+ showSearch: z.ZodDefault<z.ZodBoolean>;
437
+ showFilters: z.ZodDefault<z.ZodBoolean>;
438
+ showSorting: z.ZodDefault<z.ZodBoolean>;
439
+ showPagination: z.ZodDefault<z.ZodBoolean>;
440
+ }, "strip", z.ZodTypeAny, {
441
+ defaultView: "table" | "list" | "grid" | "kanban";
442
+ pageSize: number;
443
+ showSearch: boolean;
444
+ showFilters: boolean;
445
+ showSorting: boolean;
446
+ showPagination: boolean;
447
+ }, {
448
+ defaultView?: "table" | "list" | "grid" | "kanban" | undefined;
449
+ pageSize?: number | undefined;
450
+ showSearch?: boolean | undefined;
451
+ showFilters?: boolean | undefined;
452
+ showSorting?: boolean | undefined;
453
+ showPagination?: boolean | undefined;
454
+ }>>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ theme: {
457
+ mode: "light" | "dark" | "auto";
458
+ primaryColor: string;
459
+ secondaryColor: string;
460
+ accentColor: string;
461
+ };
462
+ editor: {
463
+ autoSave: boolean;
464
+ showToolbar: boolean;
465
+ showStatusBar: boolean;
466
+ showWordCount: boolean;
467
+ showCharacterCount: boolean;
468
+ placeholder: string;
469
+ };
470
+ list: {
471
+ defaultView: "table" | "list" | "grid" | "kanban";
472
+ pageSize: number;
473
+ showSearch: boolean;
474
+ showFilters: boolean;
475
+ showSorting: boolean;
476
+ showPagination: boolean;
477
+ };
478
+ }, {
479
+ theme?: {
480
+ mode?: "light" | "dark" | "auto" | undefined;
481
+ primaryColor?: string | undefined;
482
+ secondaryColor?: string | undefined;
483
+ accentColor?: string | undefined;
484
+ } | undefined;
485
+ editor?: {
486
+ autoSave?: boolean | undefined;
487
+ showToolbar?: boolean | undefined;
488
+ showStatusBar?: boolean | undefined;
489
+ showWordCount?: boolean | undefined;
490
+ showCharacterCount?: boolean | undefined;
491
+ placeholder?: string | undefined;
492
+ } | undefined;
493
+ list?: {
494
+ defaultView?: "table" | "list" | "grid" | "kanban" | undefined;
495
+ pageSize?: number | undefined;
496
+ showSearch?: boolean | undefined;
497
+ showFilters?: boolean | undefined;
498
+ showSorting?: boolean | undefined;
499
+ showPagination?: boolean | undefined;
500
+ } | undefined;
501
+ }>>;
502
+ integrations: z.ZodDefault<z.ZodObject<{
503
+ neverAdmin: z.ZodDefault<z.ZodObject<{
504
+ enabled: z.ZodDefault<z.ZodBoolean>;
505
+ url: z.ZodOptional<z.ZodString>;
506
+ apiKey: z.ZodOptional<z.ZodString>;
507
+ syncInterval: z.ZodDefault<z.ZodNumber>;
508
+ }, "strip", z.ZodTypeAny, {
509
+ enabled: boolean;
510
+ syncInterval: number;
511
+ url?: string | undefined;
512
+ apiKey?: string | undefined;
513
+ }, {
514
+ enabled?: boolean | undefined;
515
+ url?: string | undefined;
516
+ apiKey?: string | undefined;
517
+ syncInterval?: number | undefined;
518
+ }>>;
519
+ neverHub: z.ZodDefault<z.ZodObject<{
520
+ enabled: z.ZodDefault<z.ZodBoolean>;
521
+ url: z.ZodOptional<z.ZodString>;
522
+ apiKey: z.ZodOptional<z.ZodString>;
523
+ packageDiscovery: z.ZodDefault<z.ZodBoolean>;
524
+ }, "strip", z.ZodTypeAny, {
525
+ enabled: boolean;
526
+ packageDiscovery: boolean;
527
+ url?: string | undefined;
528
+ apiKey?: string | undefined;
529
+ }, {
530
+ enabled?: boolean | undefined;
531
+ url?: string | undefined;
532
+ apiKey?: string | undefined;
533
+ packageDiscovery?: boolean | undefined;
534
+ }>>;
535
+ analytics: z.ZodDefault<z.ZodObject<{
536
+ enabled: z.ZodDefault<z.ZodBoolean>;
537
+ provider: z.ZodOptional<z.ZodEnum<["google", "mixpanel", "amplitude", "custom"]>>;
538
+ trackingId: z.ZodOptional<z.ZodString>;
539
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
540
+ }, "strip", z.ZodTypeAny, {
541
+ enabled: boolean;
542
+ config: Record<string, any>;
543
+ provider?: "custom" | "google" | "mixpanel" | "amplitude" | undefined;
544
+ trackingId?: string | undefined;
545
+ }, {
546
+ enabled?: boolean | undefined;
547
+ provider?: "custom" | "google" | "mixpanel" | "amplitude" | undefined;
548
+ trackingId?: string | undefined;
549
+ config?: Record<string, any> | undefined;
550
+ }>>;
551
+ }, "strip", z.ZodTypeAny, {
552
+ neverAdmin: {
553
+ enabled: boolean;
554
+ syncInterval: number;
555
+ url?: string | undefined;
556
+ apiKey?: string | undefined;
557
+ };
558
+ neverHub: {
559
+ enabled: boolean;
560
+ packageDiscovery: boolean;
561
+ url?: string | undefined;
562
+ apiKey?: string | undefined;
563
+ };
564
+ analytics: {
565
+ enabled: boolean;
566
+ config: Record<string, any>;
567
+ provider?: "custom" | "google" | "mixpanel" | "amplitude" | undefined;
568
+ trackingId?: string | undefined;
569
+ };
570
+ }, {
571
+ neverAdmin?: {
572
+ enabled?: boolean | undefined;
573
+ url?: string | undefined;
574
+ apiKey?: string | undefined;
575
+ syncInterval?: number | undefined;
576
+ } | undefined;
577
+ neverHub?: {
578
+ enabled?: boolean | undefined;
579
+ url?: string | undefined;
580
+ apiKey?: string | undefined;
581
+ packageDiscovery?: boolean | undefined;
582
+ } | undefined;
583
+ analytics?: {
584
+ enabled?: boolean | undefined;
585
+ provider?: "custom" | "google" | "mixpanel" | "amplitude" | undefined;
586
+ trackingId?: string | undefined;
587
+ config?: Record<string, any> | undefined;
588
+ } | undefined;
589
+ }>>;
590
+ security: z.ZodDefault<z.ZodObject<{
591
+ jwt: z.ZodDefault<z.ZodObject<{
592
+ secret: z.ZodDefault<z.ZodString>;
593
+ expiresIn: z.ZodDefault<z.ZodString>;
594
+ issuer: z.ZodDefault<z.ZodString>;
595
+ }, "strip", z.ZodTypeAny, {
596
+ secret: string;
597
+ expiresIn: string;
598
+ issuer: string;
599
+ }, {
600
+ secret?: string | undefined;
601
+ expiresIn?: string | undefined;
602
+ issuer?: string | undefined;
603
+ }>>;
604
+ permissions: z.ZodDefault<z.ZodObject<{
605
+ enabled: z.ZodDefault<z.ZodBoolean>;
606
+ defaultRole: z.ZodDefault<z.ZodString>;
607
+ roles: z.ZodDefault<z.ZodArray<z.ZodObject<{
608
+ name: z.ZodString;
609
+ permissions: z.ZodArray<z.ZodString, "many">;
610
+ description: z.ZodOptional<z.ZodString>;
611
+ }, "strip", z.ZodTypeAny, {
612
+ name: string;
613
+ permissions: string[];
614
+ description?: string | undefined;
615
+ }, {
616
+ name: string;
617
+ permissions: string[];
618
+ description?: string | undefined;
619
+ }>, "many">>;
620
+ }, "strip", z.ZodTypeAny, {
621
+ enabled: boolean;
622
+ defaultRole: string;
623
+ roles: {
624
+ name: string;
625
+ permissions: string[];
626
+ description?: string | undefined;
627
+ }[];
628
+ }, {
629
+ enabled?: boolean | undefined;
630
+ defaultRole?: string | undefined;
631
+ roles?: {
632
+ name: string;
633
+ permissions: string[];
634
+ description?: string | undefined;
635
+ }[] | undefined;
636
+ }>>;
637
+ }, "strip", z.ZodTypeAny, {
638
+ permissions: {
639
+ enabled: boolean;
640
+ defaultRole: string;
641
+ roles: {
642
+ name: string;
643
+ permissions: string[];
644
+ description?: string | undefined;
645
+ }[];
646
+ };
647
+ jwt: {
648
+ secret: string;
649
+ expiresIn: string;
650
+ issuer: string;
651
+ };
652
+ }, {
653
+ permissions?: {
654
+ enabled?: boolean | undefined;
655
+ defaultRole?: string | undefined;
656
+ roles?: {
657
+ name: string;
658
+ permissions: string[];
659
+ description?: string | undefined;
660
+ }[] | undefined;
661
+ } | undefined;
662
+ jwt?: {
663
+ secret?: string | undefined;
664
+ expiresIn?: string | undefined;
665
+ issuer?: string | undefined;
666
+ } | undefined;
667
+ }>>;
668
+ logging: z.ZodDefault<z.ZodObject<{
669
+ level: z.ZodDefault<z.ZodEnum<["error", "warn", "info", "debug"]>>;
670
+ format: z.ZodDefault<z.ZodEnum<["json", "text"]>>;
671
+ file: z.ZodDefault<z.ZodObject<{
672
+ enabled: z.ZodDefault<z.ZodBoolean>;
673
+ path: z.ZodDefault<z.ZodString>;
674
+ maxSize: z.ZodDefault<z.ZodString>;
675
+ maxFiles: z.ZodDefault<z.ZodNumber>;
676
+ }, "strip", z.ZodTypeAny, {
677
+ path: string;
678
+ enabled: boolean;
679
+ maxSize: string;
680
+ maxFiles: number;
681
+ }, {
682
+ path?: string | undefined;
683
+ enabled?: boolean | undefined;
684
+ maxSize?: string | undefined;
685
+ maxFiles?: number | undefined;
686
+ }>>;
687
+ console: z.ZodDefault<z.ZodObject<{
688
+ enabled: z.ZodDefault<z.ZodBoolean>;
689
+ colorize: z.ZodDefault<z.ZodBoolean>;
690
+ }, "strip", z.ZodTypeAny, {
691
+ enabled: boolean;
692
+ colorize: boolean;
693
+ }, {
694
+ enabled?: boolean | undefined;
695
+ colorize?: boolean | undefined;
696
+ }>>;
697
+ }, "strip", z.ZodTypeAny, {
698
+ level: "error" | "warn" | "info" | "debug";
699
+ format: "text" | "json";
700
+ file: {
701
+ path: string;
702
+ enabled: boolean;
703
+ maxSize: string;
704
+ maxFiles: number;
705
+ };
706
+ console: {
707
+ enabled: boolean;
708
+ colorize: boolean;
709
+ };
710
+ }, {
711
+ level?: "error" | "warn" | "info" | "debug" | undefined;
712
+ format?: "text" | "json" | undefined;
713
+ file?: {
714
+ path?: string | undefined;
715
+ enabled?: boolean | undefined;
716
+ maxSize?: string | undefined;
717
+ maxFiles?: number | undefined;
718
+ } | undefined;
719
+ console?: {
720
+ enabled?: boolean | undefined;
721
+ colorize?: boolean | undefined;
722
+ } | undefined;
723
+ }>>;
724
+ performance: z.ZodDefault<z.ZodObject<{
725
+ cache: z.ZodDefault<z.ZodObject<{
726
+ enabled: z.ZodDefault<z.ZodBoolean>;
727
+ ttl: z.ZodDefault<z.ZodNumber>;
728
+ maxSize: z.ZodDefault<z.ZodNumber>;
729
+ }, "strip", z.ZodTypeAny, {
730
+ enabled: boolean;
731
+ maxSize: number;
732
+ ttl: number;
733
+ }, {
734
+ enabled?: boolean | undefined;
735
+ maxSize?: number | undefined;
736
+ ttl?: number | undefined;
737
+ }>>;
738
+ compression: z.ZodDefault<z.ZodObject<{
739
+ enabled: z.ZodDefault<z.ZodBoolean>;
740
+ level: z.ZodDefault<z.ZodNumber>;
741
+ }, "strip", z.ZodTypeAny, {
742
+ enabled: boolean;
743
+ level: number;
744
+ }, {
745
+ enabled?: boolean | undefined;
746
+ level?: number | undefined;
747
+ }>>;
748
+ rateLimit: z.ZodDefault<z.ZodObject<{
749
+ enabled: z.ZodDefault<z.ZodBoolean>;
750
+ windowMs: z.ZodDefault<z.ZodNumber>;
751
+ max: z.ZodDefault<z.ZodNumber>;
752
+ }, "strip", z.ZodTypeAny, {
753
+ enabled: boolean;
754
+ windowMs: number;
755
+ max: number;
756
+ }, {
757
+ enabled?: boolean | undefined;
758
+ windowMs?: number | undefined;
759
+ max?: number | undefined;
760
+ }>>;
761
+ }, "strip", z.ZodTypeAny, {
762
+ rateLimit: {
763
+ enabled: boolean;
764
+ windowMs: number;
765
+ max: number;
766
+ };
767
+ cache: {
768
+ enabled: boolean;
769
+ maxSize: number;
770
+ ttl: number;
771
+ };
772
+ compression: {
773
+ enabled: boolean;
774
+ level: number;
775
+ };
776
+ }, {
777
+ rateLimit?: {
778
+ enabled?: boolean | undefined;
779
+ windowMs?: number | undefined;
780
+ max?: number | undefined;
781
+ } | undefined;
782
+ cache?: {
783
+ enabled?: boolean | undefined;
784
+ maxSize?: number | undefined;
785
+ ttl?: number | undefined;
786
+ } | undefined;
787
+ compression?: {
788
+ enabled?: boolean | undefined;
789
+ level?: number | undefined;
790
+ } | undefined;
791
+ }>>;
792
+ }, "strip", z.ZodTypeAny, {
793
+ security: {
794
+ permissions: {
795
+ enabled: boolean;
796
+ defaultRole: string;
797
+ roles: {
798
+ name: string;
799
+ permissions: string[];
800
+ description?: string | undefined;
801
+ }[];
802
+ };
803
+ jwt: {
804
+ secret: string;
805
+ expiresIn: string;
806
+ issuer: string;
807
+ };
808
+ };
809
+ server: {
810
+ port: number;
811
+ host: string;
812
+ cors: {
813
+ origin: string | string[];
814
+ credentials: boolean;
815
+ };
816
+ security: {
817
+ helmet: boolean;
818
+ rateLimit: {
819
+ enabled: boolean;
820
+ windowMs: number;
821
+ max: number;
822
+ };
823
+ };
824
+ };
825
+ database: {
826
+ host: string;
827
+ type: "sqlite" | "postgresql" | "mysql" | "mongodb";
828
+ name: string;
829
+ ssl: boolean;
830
+ pool: {
831
+ max: number;
832
+ min: number;
833
+ };
834
+ port?: number | undefined;
835
+ url?: string | undefined;
836
+ username?: string | undefined;
837
+ password?: string | undefined;
838
+ };
839
+ content: {
840
+ defaultWorkflow: {
841
+ name: string;
842
+ id: string;
843
+ description: string;
844
+ stages: {
845
+ name: string;
846
+ id: string;
847
+ order: number;
848
+ isPublishStage: boolean;
849
+ allowsScheduling: boolean;
850
+ permissions: string[];
851
+ description?: string | undefined;
852
+ }[];
853
+ transitions: {
854
+ id: string;
855
+ permissions: string[];
856
+ from: string;
857
+ to: string;
858
+ description?: string | undefined;
859
+ }[];
860
+ };
861
+ contentTypes: string[];
862
+ autoSave: {
863
+ enabled: boolean;
864
+ debounceMs: number;
865
+ maxRetries: number;
866
+ backoffMs: number;
867
+ };
868
+ softDelete: {
869
+ enabled: boolean;
870
+ showDeletedToUsers: boolean;
871
+ retentionDays: number;
872
+ };
873
+ upload: {
874
+ maxFileSize: number;
875
+ allowedTypes: string[];
876
+ storage: {
877
+ path: string;
878
+ type: "local" | "s3" | "gcs" | "azure";
879
+ bucket?: string | undefined;
880
+ region?: string | undefined;
881
+ accessKey?: string | undefined;
882
+ secretKey?: string | undefined;
883
+ };
884
+ };
885
+ };
886
+ ui: {
887
+ theme: {
888
+ mode: "light" | "dark" | "auto";
889
+ primaryColor: string;
890
+ secondaryColor: string;
891
+ accentColor: string;
892
+ };
893
+ editor: {
894
+ autoSave: boolean;
895
+ showToolbar: boolean;
896
+ showStatusBar: boolean;
897
+ showWordCount: boolean;
898
+ showCharacterCount: boolean;
899
+ placeholder: string;
900
+ };
901
+ list: {
902
+ defaultView: "table" | "list" | "grid" | "kanban";
903
+ pageSize: number;
904
+ showSearch: boolean;
905
+ showFilters: boolean;
906
+ showSorting: boolean;
907
+ showPagination: boolean;
908
+ };
909
+ };
910
+ integrations: {
911
+ neverAdmin: {
912
+ enabled: boolean;
913
+ syncInterval: number;
914
+ url?: string | undefined;
915
+ apiKey?: string | undefined;
916
+ };
917
+ neverHub: {
918
+ enabled: boolean;
919
+ packageDiscovery: boolean;
920
+ url?: string | undefined;
921
+ apiKey?: string | undefined;
922
+ };
923
+ analytics: {
924
+ enabled: boolean;
925
+ config: Record<string, any>;
926
+ provider?: "custom" | "google" | "mixpanel" | "amplitude" | undefined;
927
+ trackingId?: string | undefined;
928
+ };
929
+ };
930
+ logging: {
931
+ level: "error" | "warn" | "info" | "debug";
932
+ format: "text" | "json";
933
+ file: {
934
+ path: string;
935
+ enabled: boolean;
936
+ maxSize: string;
937
+ maxFiles: number;
938
+ };
939
+ console: {
940
+ enabled: boolean;
941
+ colorize: boolean;
942
+ };
943
+ };
944
+ performance: {
945
+ rateLimit: {
946
+ enabled: boolean;
947
+ windowMs: number;
948
+ max: number;
949
+ };
950
+ cache: {
951
+ enabled: boolean;
952
+ maxSize: number;
953
+ ttl: number;
954
+ };
955
+ compression: {
956
+ enabled: boolean;
957
+ level: number;
958
+ };
959
+ };
960
+ }, {
961
+ security?: {
962
+ permissions?: {
963
+ enabled?: boolean | undefined;
964
+ defaultRole?: string | undefined;
965
+ roles?: {
966
+ name: string;
967
+ permissions: string[];
968
+ description?: string | undefined;
969
+ }[] | undefined;
970
+ } | undefined;
971
+ jwt?: {
972
+ secret?: string | undefined;
973
+ expiresIn?: string | undefined;
974
+ issuer?: string | undefined;
975
+ } | undefined;
976
+ } | undefined;
977
+ server?: {
978
+ port?: number | undefined;
979
+ host?: string | undefined;
980
+ cors?: {
981
+ origin?: string | string[] | undefined;
982
+ credentials?: boolean | undefined;
983
+ } | undefined;
984
+ security?: {
985
+ helmet?: boolean | undefined;
986
+ rateLimit?: {
987
+ enabled?: boolean | undefined;
988
+ windowMs?: number | undefined;
989
+ max?: number | undefined;
990
+ } | undefined;
991
+ } | undefined;
992
+ } | undefined;
993
+ database?: {
994
+ port?: number | undefined;
995
+ host?: string | undefined;
996
+ type?: "sqlite" | "postgresql" | "mysql" | "mongodb" | undefined;
997
+ url?: string | undefined;
998
+ name?: string | undefined;
999
+ username?: string | undefined;
1000
+ password?: string | undefined;
1001
+ ssl?: boolean | undefined;
1002
+ pool?: {
1003
+ max?: number | undefined;
1004
+ min?: number | undefined;
1005
+ } | undefined;
1006
+ } | undefined;
1007
+ content?: {
1008
+ defaultWorkflow?: {
1009
+ name?: string | undefined;
1010
+ id?: string | undefined;
1011
+ description?: string | undefined;
1012
+ stages?: {
1013
+ name: string;
1014
+ id: string;
1015
+ order: number;
1016
+ description?: string | undefined;
1017
+ isPublishStage?: boolean | undefined;
1018
+ allowsScheduling?: boolean | undefined;
1019
+ permissions?: string[] | undefined;
1020
+ }[] | undefined;
1021
+ transitions?: {
1022
+ id: string;
1023
+ from: string;
1024
+ to: string;
1025
+ description?: string | undefined;
1026
+ permissions?: string[] | undefined;
1027
+ }[] | undefined;
1028
+ } | undefined;
1029
+ contentTypes?: string[] | undefined;
1030
+ autoSave?: {
1031
+ enabled?: boolean | undefined;
1032
+ debounceMs?: number | undefined;
1033
+ maxRetries?: number | undefined;
1034
+ backoffMs?: number | undefined;
1035
+ } | undefined;
1036
+ softDelete?: {
1037
+ enabled?: boolean | undefined;
1038
+ showDeletedToUsers?: boolean | undefined;
1039
+ retentionDays?: number | undefined;
1040
+ } | undefined;
1041
+ upload?: {
1042
+ maxFileSize?: number | undefined;
1043
+ allowedTypes?: string[] | undefined;
1044
+ storage?: {
1045
+ path?: string | undefined;
1046
+ type?: "local" | "s3" | "gcs" | "azure" | undefined;
1047
+ bucket?: string | undefined;
1048
+ region?: string | undefined;
1049
+ accessKey?: string | undefined;
1050
+ secretKey?: string | undefined;
1051
+ } | undefined;
1052
+ } | undefined;
1053
+ } | undefined;
1054
+ ui?: {
1055
+ theme?: {
1056
+ mode?: "light" | "dark" | "auto" | undefined;
1057
+ primaryColor?: string | undefined;
1058
+ secondaryColor?: string | undefined;
1059
+ accentColor?: string | undefined;
1060
+ } | undefined;
1061
+ editor?: {
1062
+ autoSave?: boolean | undefined;
1063
+ showToolbar?: boolean | undefined;
1064
+ showStatusBar?: boolean | undefined;
1065
+ showWordCount?: boolean | undefined;
1066
+ showCharacterCount?: boolean | undefined;
1067
+ placeholder?: string | undefined;
1068
+ } | undefined;
1069
+ list?: {
1070
+ defaultView?: "table" | "list" | "grid" | "kanban" | undefined;
1071
+ pageSize?: number | undefined;
1072
+ showSearch?: boolean | undefined;
1073
+ showFilters?: boolean | undefined;
1074
+ showSorting?: boolean | undefined;
1075
+ showPagination?: boolean | undefined;
1076
+ } | undefined;
1077
+ } | undefined;
1078
+ integrations?: {
1079
+ neverAdmin?: {
1080
+ enabled?: boolean | undefined;
1081
+ url?: string | undefined;
1082
+ apiKey?: string | undefined;
1083
+ syncInterval?: number | undefined;
1084
+ } | undefined;
1085
+ neverHub?: {
1086
+ enabled?: boolean | undefined;
1087
+ url?: string | undefined;
1088
+ apiKey?: string | undefined;
1089
+ packageDiscovery?: boolean | undefined;
1090
+ } | undefined;
1091
+ analytics?: {
1092
+ enabled?: boolean | undefined;
1093
+ provider?: "custom" | "google" | "mixpanel" | "amplitude" | undefined;
1094
+ trackingId?: string | undefined;
1095
+ config?: Record<string, any> | undefined;
1096
+ } | undefined;
1097
+ } | undefined;
1098
+ logging?: {
1099
+ level?: "error" | "warn" | "info" | "debug" | undefined;
1100
+ format?: "text" | "json" | undefined;
1101
+ file?: {
1102
+ path?: string | undefined;
1103
+ enabled?: boolean | undefined;
1104
+ maxSize?: string | undefined;
1105
+ maxFiles?: number | undefined;
1106
+ } | undefined;
1107
+ console?: {
1108
+ enabled?: boolean | undefined;
1109
+ colorize?: boolean | undefined;
1110
+ } | undefined;
1111
+ } | undefined;
1112
+ performance?: {
1113
+ rateLimit?: {
1114
+ enabled?: boolean | undefined;
1115
+ windowMs?: number | undefined;
1116
+ max?: number | undefined;
1117
+ } | undefined;
1118
+ cache?: {
1119
+ enabled?: boolean | undefined;
1120
+ maxSize?: number | undefined;
1121
+ ttl?: number | undefined;
1122
+ } | undefined;
1123
+ compression?: {
1124
+ enabled?: boolean | undefined;
1125
+ level?: number | undefined;
1126
+ } | undefined;
1127
+ } | undefined;
1128
+ }>;
1129
+ type ContentManagementConfig = z.infer<typeof ContentManagementConfigSchema>;
1130
+ interface ContentManagementSuite {
1131
+ configManager: any;
1132
+ workflowService: any;
1133
+ editorService: any;
1134
+ contentTypes: Map<string, any>;
1135
+ editor: any;
1136
+ workflow: any;
1137
+ list: any;
1138
+ admin: any;
1139
+ server: any;
1140
+ start(): Promise<void>;
1141
+ stop(): Promise<void>;
1142
+ getConfig(): ContentManagementConfig;
1143
+ updateConfig(config: Partial<ContentManagementConfig>): Promise<void>;
1144
+ registerContentType(contentType: any): void;
1145
+ unregisterContentType(contentTypeId: string): void;
1146
+ getContentType(contentTypeId: string): any;
1147
+ listContentTypes(): any[];
1148
+ }
1149
+ interface ContentManagementSuiteOptions {
1150
+ config?: Partial<ContentManagementConfig>;
1151
+ configFile?: string;
1152
+ database?: any;
1153
+ logger?: any;
1154
+ plugins?: any[];
1155
+ }
1156
+ interface ContentManagementSuiteEvents {
1157
+ 'content:created': (content: any) => void;
1158
+ 'content:updated': (content: any) => void;
1159
+ 'content:deleted': (content: any) => void;
1160
+ 'content:published': (content: any) => void;
1161
+ 'content:scheduled': (content: any, date: Date) => void;
1162
+ 'workflow:transition': (content: any, from: string, to: string) => void;
1163
+ 'config:updated': (config: ContentManagementConfig) => void;
1164
+ 'error': (error: Error) => void;
1165
+ }
1166
+ interface ContentManagementSuiteAPI {
1167
+ createContent(type: string, data: any): Promise<any>;
1168
+ getContent(id: string): Promise<any>;
1169
+ updateContent(id: string, data: any): Promise<any>;
1170
+ deleteContent(id: string, soft?: boolean): Promise<void>;
1171
+ listContent(filters?: any): Promise<any[]>;
1172
+ searchContent(query: string, options?: any): Promise<any[]>;
1173
+ getWorkflow(id: string): Promise<any>;
1174
+ createWorkflow(data: any): Promise<any>;
1175
+ updateWorkflow(id: string, data: any): Promise<any>;
1176
+ deleteWorkflow(id: string): Promise<void>;
1177
+ listWorkflows(): Promise<any[]>;
1178
+ getContentType(id: string): Promise<any>;
1179
+ createContentType(data: any): Promise<any>;
1180
+ updateContentType(id: string, data: any): Promise<any>;
1181
+ deleteContentType(id: string): Promise<void>;
1182
+ listContentTypes(): Promise<any[]>;
1183
+ getConfig(): Promise<ContentManagementConfig>;
1184
+ updateConfig(config: Partial<ContentManagementConfig>): Promise<void>;
1185
+ createUser(data: any): Promise<any>;
1186
+ getUser(id: string): Promise<any>;
1187
+ updateUser(id: string, data: any): Promise<any>;
1188
+ deleteUser(id: string): Promise<void>;
1189
+ listUsers(): Promise<any[]>;
1190
+ checkPermission(userId: string, permission: string): Promise<boolean>;
1191
+ grantPermission(userId: string, permission: string): Promise<void>;
1192
+ revokePermission(userId: string, permission: string): Promise<void>;
1193
+ }
1194
+ interface ContentManagementSuitePlugin {
1195
+ name: string;
1196
+ version: string;
1197
+ description: string;
1198
+ dependencies?: string[];
1199
+ install(suite: ContentManagementSuite): Promise<void>;
1200
+ uninstall(suite: ContentManagementSuite): Promise<void>;
1201
+ enable(suite: ContentManagementSuite): Promise<void>;
1202
+ disable(suite: ContentManagementSuite): Promise<void>;
1203
+ }
1204
+ interface ContentManagementSuiteMiddleware {
1205
+ name: string;
1206
+ handler: (req: any, res: any, next: any) => void;
1207
+ order?: number;
1208
+ }
1209
+ interface ContentManagementSuiteHook {
1210
+ name: string;
1211
+ handler: (...args: any[]) => Promise<any> | any;
1212
+ priority?: number;
1213
+ }
1214
+ interface ContentManagementSuiteValidation {
1215
+ validateConfig(config: any): boolean;
1216
+ validateContent(content: any, type: string): boolean;
1217
+ validateWorkflow(workflow: any): boolean;
1218
+ validateUser(user: any): boolean;
1219
+ }
1220
+ interface ContentManagementSuiteStorage {
1221
+ saveContent(content: any): Promise<void>;
1222
+ loadContent(id: string): Promise<any>;
1223
+ deleteContent(id: string): Promise<void>;
1224
+ listContent(filters?: any): Promise<any[]>;
1225
+ searchContent(query: string, options?: any): Promise<any[]>;
1226
+ saveWorkflow(workflow: any): Promise<void>;
1227
+ loadWorkflow(id: string): Promise<any>;
1228
+ deleteWorkflow(id: string): Promise<void>;
1229
+ listWorkflows(): Promise<any[]>;
1230
+ saveConfig(config: ContentManagementConfig): Promise<void>;
1231
+ loadConfig(): Promise<ContentManagementConfig>;
1232
+ saveUser(user: any): Promise<void>;
1233
+ loadUser(id: string): Promise<any>;
1234
+ deleteUser(id: string): Promise<void>;
1235
+ listUsers(): Promise<any[]>;
1236
+ }
1237
+ interface ContentManagementSuiteCache {
1238
+ get(key: string): Promise<any>;
1239
+ set(key: string, value: any, ttl?: number): Promise<void>;
1240
+ delete(key: string): Promise<void>;
1241
+ clear(): Promise<void>;
1242
+ has(key: string): Promise<boolean>;
1243
+ }
1244
+ interface ContentManagementSuiteLogger {
1245
+ error(message: string, meta?: any): void;
1246
+ warn(message: string, meta?: any): void;
1247
+ info(message: string, meta?: any): void;
1248
+ debug(message: string, meta?: any): void;
1249
+ }
1250
+ interface ContentManagementSuiteMetrics {
1251
+ increment(name: string, value?: number): void;
1252
+ decrement(name: string, value?: number): void;
1253
+ gauge(name: string, value: number): void;
1254
+ histogram(name: string, value: number): void;
1255
+ counter(name: string, value?: number): void;
1256
+ }
1257
+ interface ContentManagementSuiteHealthCheck {
1258
+ name: string;
1259
+ check(): Promise<boolean>;
1260
+ timeout?: number;
1261
+ interval?: number;
1262
+ }
1263
+ declare class ContentManagementSuiteError extends Error {
1264
+ code: string;
1265
+ statusCode: number;
1266
+ details?: any;
1267
+ constructor(message: string, code: string, statusCode?: number, details?: any);
1268
+ }
1269
+ declare class ContentManagementSuiteValidationError extends ContentManagementSuiteError {
1270
+ constructor(message: string, details?: any);
1271
+ }
1272
+ declare class ContentManagementSuiteNotFoundError extends ContentManagementSuiteError {
1273
+ constructor(message: string, details?: any);
1274
+ }
1275
+ declare class ContentManagementSuiteUnauthorizedError extends ContentManagementSuiteError {
1276
+ constructor(message: string, details?: any);
1277
+ }
1278
+ declare class ContentManagementSuiteForbiddenError extends ContentManagementSuiteError {
1279
+ constructor(message: string, details?: any);
1280
+ }
1281
+ declare class ContentManagementSuiteConflictError extends ContentManagementSuiteError {
1282
+ constructor(message: string, details?: any);
1283
+ }
1284
+ declare class ContentManagementSuiteInternalError extends ContentManagementSuiteError {
1285
+ constructor(message: string, details?: any);
1286
+ }
1287
+
1288
+ declare function createContentManagementSuite(options?: ContentManagementSuiteOptions): ContentManagementSuite;
1289
+
1290
+ export { type ContentManagementConfig, ContentManagementConfigSchema, type ContentManagementSuite, type ContentManagementSuiteAPI, type ContentManagementSuiteCache, ContentManagementSuiteConflictError, ContentManagementSuiteError, type ContentManagementSuiteEvents, ContentManagementSuiteForbiddenError, type ContentManagementSuiteHealthCheck, type ContentManagementSuiteHook, ContentManagementSuiteInternalError, type ContentManagementSuiteLogger, type ContentManagementSuiteMetrics, type ContentManagementSuiteMiddleware, ContentManagementSuiteNotFoundError, type ContentManagementSuiteOptions, type ContentManagementSuitePlugin, type ContentManagementSuiteStorage, ContentManagementSuiteUnauthorizedError, type ContentManagementSuiteValidation, ContentManagementSuiteValidationError, createContentManagementSuite };