wp-astrojs-integration 0.1.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,992 @@
1
+ import { z } from 'astro/zod';
2
+ /**
3
+ * Base schema shared by all WordPress content types
4
+ * Can be extended with custom fields using .extend() or .merge()
5
+ */
6
+ export declare const baseWordPressSchema: z.ZodObject<{
7
+ id: z.ZodNumber;
8
+ date: z.ZodString;
9
+ date_gmt: z.ZodString;
10
+ guid: z.ZodObject<{
11
+ rendered: z.ZodString;
12
+ }, "strip", z.ZodTypeAny, {
13
+ rendered: string;
14
+ }, {
15
+ rendered: string;
16
+ }>;
17
+ modified: z.ZodString;
18
+ modified_gmt: z.ZodString;
19
+ slug: z.ZodString;
20
+ status: z.ZodString;
21
+ type: z.ZodString;
22
+ link: z.ZodString;
23
+ title: z.ZodObject<{
24
+ rendered: z.ZodString;
25
+ }, "strip", z.ZodTypeAny, {
26
+ rendered: string;
27
+ }, {
28
+ rendered: string;
29
+ }>;
30
+ author: z.ZodNumber;
31
+ meta: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
32
+ _links: z.ZodAny;
33
+ }, "strip", z.ZodTypeAny, {
34
+ date: string;
35
+ id: number;
36
+ title: {
37
+ rendered: string;
38
+ };
39
+ slug: string;
40
+ modified: string;
41
+ date_gmt: string;
42
+ type: string;
43
+ status: string;
44
+ guid: {
45
+ rendered: string;
46
+ };
47
+ modified_gmt: string;
48
+ link: string;
49
+ author: number;
50
+ meta?: any[] | Record<string, any> | undefined;
51
+ _links?: any;
52
+ }, {
53
+ date: string;
54
+ id: number;
55
+ title: {
56
+ rendered: string;
57
+ };
58
+ slug: string;
59
+ modified: string;
60
+ date_gmt: string;
61
+ type: string;
62
+ status: string;
63
+ guid: {
64
+ rendered: string;
65
+ };
66
+ modified_gmt: string;
67
+ link: string;
68
+ author: number;
69
+ meta?: any[] | Record<string, any> | undefined;
70
+ _links?: any;
71
+ }>;
72
+ /**
73
+ * Schema for content types (posts and pages)
74
+ * Extend this for custom post types with content fields
75
+ */
76
+ export declare const contentWordPressSchema: z.ZodObject<{
77
+ id: z.ZodNumber;
78
+ date: z.ZodString;
79
+ date_gmt: z.ZodString;
80
+ guid: z.ZodObject<{
81
+ rendered: z.ZodString;
82
+ }, "strip", z.ZodTypeAny, {
83
+ rendered: string;
84
+ }, {
85
+ rendered: string;
86
+ }>;
87
+ modified: z.ZodString;
88
+ modified_gmt: z.ZodString;
89
+ slug: z.ZodString;
90
+ status: z.ZodString;
91
+ type: z.ZodString;
92
+ link: z.ZodString;
93
+ title: z.ZodObject<{
94
+ rendered: z.ZodString;
95
+ }, "strip", z.ZodTypeAny, {
96
+ rendered: string;
97
+ }, {
98
+ rendered: string;
99
+ }>;
100
+ author: z.ZodNumber;
101
+ meta: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
102
+ _links: z.ZodAny;
103
+ } & {
104
+ content: z.ZodObject<{
105
+ rendered: z.ZodString;
106
+ protected: z.ZodBoolean;
107
+ }, "strip", z.ZodTypeAny, {
108
+ rendered: string;
109
+ protected: boolean;
110
+ }, {
111
+ rendered: string;
112
+ protected: boolean;
113
+ }>;
114
+ excerpt: z.ZodObject<{
115
+ rendered: z.ZodString;
116
+ protected: z.ZodBoolean;
117
+ }, "strip", z.ZodTypeAny, {
118
+ rendered: string;
119
+ protected: boolean;
120
+ }, {
121
+ rendered: string;
122
+ protected: boolean;
123
+ }>;
124
+ featured_media: z.ZodOptional<z.ZodNumber>;
125
+ comment_status: z.ZodString;
126
+ ping_status: z.ZodString;
127
+ template: z.ZodString;
128
+ acf: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
129
+ _embedded: z.ZodOptional<z.ZodAny>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ date: string;
132
+ id: number;
133
+ title: {
134
+ rendered: string;
135
+ };
136
+ slug: string;
137
+ modified: string;
138
+ date_gmt: string;
139
+ type: string;
140
+ status: string;
141
+ guid: {
142
+ rendered: string;
143
+ };
144
+ modified_gmt: string;
145
+ link: string;
146
+ author: number;
147
+ content: {
148
+ rendered: string;
149
+ protected: boolean;
150
+ };
151
+ excerpt: {
152
+ rendered: string;
153
+ protected: boolean;
154
+ };
155
+ comment_status: string;
156
+ ping_status: string;
157
+ template: string;
158
+ meta?: any[] | Record<string, any> | undefined;
159
+ _links?: any;
160
+ featured_media?: number | undefined;
161
+ acf?: any[] | Record<string, any> | undefined;
162
+ _embedded?: any;
163
+ }, {
164
+ date: string;
165
+ id: number;
166
+ title: {
167
+ rendered: string;
168
+ };
169
+ slug: string;
170
+ modified: string;
171
+ date_gmt: string;
172
+ type: string;
173
+ status: string;
174
+ guid: {
175
+ rendered: string;
176
+ };
177
+ modified_gmt: string;
178
+ link: string;
179
+ author: number;
180
+ content: {
181
+ rendered: string;
182
+ protected: boolean;
183
+ };
184
+ excerpt: {
185
+ rendered: string;
186
+ protected: boolean;
187
+ };
188
+ comment_status: string;
189
+ ping_status: string;
190
+ template: string;
191
+ meta?: any[] | Record<string, any> | undefined;
192
+ _links?: any;
193
+ featured_media?: number | undefined;
194
+ acf?: any[] | Record<string, any> | undefined;
195
+ _embedded?: any;
196
+ }>;
197
+ /**
198
+ * Default schema for WordPress posts
199
+ * Extend with .extend() to add custom ACF fields or taxonomies
200
+ *
201
+ * @example
202
+ * const customPostSchema = postSchema.extend({
203
+ * acf: z.object({
204
+ * custom_field: z.string().optional(),
205
+ * }).optional(),
206
+ * });
207
+ */
208
+ export declare const postSchema: z.ZodObject<{
209
+ id: z.ZodNumber;
210
+ date: z.ZodString;
211
+ date_gmt: z.ZodString;
212
+ guid: z.ZodObject<{
213
+ rendered: z.ZodString;
214
+ }, "strip", z.ZodTypeAny, {
215
+ rendered: string;
216
+ }, {
217
+ rendered: string;
218
+ }>;
219
+ modified: z.ZodString;
220
+ modified_gmt: z.ZodString;
221
+ slug: z.ZodString;
222
+ status: z.ZodString;
223
+ type: z.ZodString;
224
+ link: z.ZodString;
225
+ title: z.ZodObject<{
226
+ rendered: z.ZodString;
227
+ }, "strip", z.ZodTypeAny, {
228
+ rendered: string;
229
+ }, {
230
+ rendered: string;
231
+ }>;
232
+ author: z.ZodNumber;
233
+ meta: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
234
+ _links: z.ZodAny;
235
+ } & {
236
+ content: z.ZodObject<{
237
+ rendered: z.ZodString;
238
+ protected: z.ZodBoolean;
239
+ }, "strip", z.ZodTypeAny, {
240
+ rendered: string;
241
+ protected: boolean;
242
+ }, {
243
+ rendered: string;
244
+ protected: boolean;
245
+ }>;
246
+ excerpt: z.ZodObject<{
247
+ rendered: z.ZodString;
248
+ protected: z.ZodBoolean;
249
+ }, "strip", z.ZodTypeAny, {
250
+ rendered: string;
251
+ protected: boolean;
252
+ }, {
253
+ rendered: string;
254
+ protected: boolean;
255
+ }>;
256
+ featured_media: z.ZodOptional<z.ZodNumber>;
257
+ comment_status: z.ZodString;
258
+ ping_status: z.ZodString;
259
+ template: z.ZodString;
260
+ acf: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
261
+ _embedded: z.ZodOptional<z.ZodAny>;
262
+ } & {
263
+ sticky: z.ZodBoolean;
264
+ format: z.ZodString;
265
+ categories: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
266
+ tags: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ date: string;
269
+ id: number;
270
+ title: {
271
+ rendered: string;
272
+ };
273
+ slug: string;
274
+ modified: string;
275
+ date_gmt: string;
276
+ type: string;
277
+ status: string;
278
+ guid: {
279
+ rendered: string;
280
+ };
281
+ modified_gmt: string;
282
+ link: string;
283
+ author: number;
284
+ content: {
285
+ rendered: string;
286
+ protected: boolean;
287
+ };
288
+ excerpt: {
289
+ rendered: string;
290
+ protected: boolean;
291
+ };
292
+ comment_status: string;
293
+ ping_status: string;
294
+ template: string;
295
+ sticky: boolean;
296
+ format: string;
297
+ categories: number[];
298
+ tags: number[];
299
+ meta?: any[] | Record<string, any> | undefined;
300
+ _links?: any;
301
+ featured_media?: number | undefined;
302
+ acf?: any[] | Record<string, any> | undefined;
303
+ _embedded?: any;
304
+ }, {
305
+ date: string;
306
+ id: number;
307
+ title: {
308
+ rendered: string;
309
+ };
310
+ slug: string;
311
+ modified: string;
312
+ date_gmt: string;
313
+ type: string;
314
+ status: string;
315
+ guid: {
316
+ rendered: string;
317
+ };
318
+ modified_gmt: string;
319
+ link: string;
320
+ author: number;
321
+ content: {
322
+ rendered: string;
323
+ protected: boolean;
324
+ };
325
+ excerpt: {
326
+ rendered: string;
327
+ protected: boolean;
328
+ };
329
+ comment_status: string;
330
+ ping_status: string;
331
+ template: string;
332
+ sticky: boolean;
333
+ format: string;
334
+ meta?: any[] | Record<string, any> | undefined;
335
+ _links?: any;
336
+ featured_media?: number | undefined;
337
+ acf?: any[] | Record<string, any> | undefined;
338
+ _embedded?: any;
339
+ categories?: number[] | undefined;
340
+ tags?: number[] | undefined;
341
+ }>;
342
+ /**
343
+ * Default schema for WordPress pages
344
+ * Extend with .extend() to add custom ACF fields
345
+ *
346
+ * @example
347
+ * const customPageSchema = pageSchema.extend({
348
+ * acf: z.object({
349
+ * hero_image: z.number().optional(),
350
+ * }).optional(),
351
+ * });
352
+ */
353
+ export declare const pageSchema: z.ZodObject<{
354
+ id: z.ZodNumber;
355
+ date: z.ZodString;
356
+ date_gmt: z.ZodString;
357
+ guid: z.ZodObject<{
358
+ rendered: z.ZodString;
359
+ }, "strip", z.ZodTypeAny, {
360
+ rendered: string;
361
+ }, {
362
+ rendered: string;
363
+ }>;
364
+ modified: z.ZodString;
365
+ modified_gmt: z.ZodString;
366
+ slug: z.ZodString;
367
+ status: z.ZodString;
368
+ type: z.ZodString;
369
+ link: z.ZodString;
370
+ title: z.ZodObject<{
371
+ rendered: z.ZodString;
372
+ }, "strip", z.ZodTypeAny, {
373
+ rendered: string;
374
+ }, {
375
+ rendered: string;
376
+ }>;
377
+ author: z.ZodNumber;
378
+ meta: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
379
+ _links: z.ZodAny;
380
+ } & {
381
+ content: z.ZodObject<{
382
+ rendered: z.ZodString;
383
+ protected: z.ZodBoolean;
384
+ }, "strip", z.ZodTypeAny, {
385
+ rendered: string;
386
+ protected: boolean;
387
+ }, {
388
+ rendered: string;
389
+ protected: boolean;
390
+ }>;
391
+ excerpt: z.ZodObject<{
392
+ rendered: z.ZodString;
393
+ protected: z.ZodBoolean;
394
+ }, "strip", z.ZodTypeAny, {
395
+ rendered: string;
396
+ protected: boolean;
397
+ }, {
398
+ rendered: string;
399
+ protected: boolean;
400
+ }>;
401
+ featured_media: z.ZodOptional<z.ZodNumber>;
402
+ comment_status: z.ZodString;
403
+ ping_status: z.ZodString;
404
+ template: z.ZodString;
405
+ acf: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
406
+ _embedded: z.ZodOptional<z.ZodAny>;
407
+ } & {
408
+ parent: z.ZodDefault<z.ZodNumber>;
409
+ menu_order: z.ZodDefault<z.ZodNumber>;
410
+ class_list: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
411
+ }, "strip", z.ZodTypeAny, {
412
+ date: string;
413
+ id: number;
414
+ title: {
415
+ rendered: string;
416
+ };
417
+ slug: string;
418
+ modified: string;
419
+ date_gmt: string;
420
+ type: string;
421
+ status: string;
422
+ guid: {
423
+ rendered: string;
424
+ };
425
+ modified_gmt: string;
426
+ link: string;
427
+ author: number;
428
+ content: {
429
+ rendered: string;
430
+ protected: boolean;
431
+ };
432
+ excerpt: {
433
+ rendered: string;
434
+ protected: boolean;
435
+ };
436
+ comment_status: string;
437
+ ping_status: string;
438
+ template: string;
439
+ parent: number;
440
+ menu_order: number;
441
+ class_list: string[];
442
+ meta?: any[] | Record<string, any> | undefined;
443
+ _links?: any;
444
+ featured_media?: number | undefined;
445
+ acf?: any[] | Record<string, any> | undefined;
446
+ _embedded?: any;
447
+ }, {
448
+ date: string;
449
+ id: number;
450
+ title: {
451
+ rendered: string;
452
+ };
453
+ slug: string;
454
+ modified: string;
455
+ date_gmt: string;
456
+ type: string;
457
+ status: string;
458
+ guid: {
459
+ rendered: string;
460
+ };
461
+ modified_gmt: string;
462
+ link: string;
463
+ author: number;
464
+ content: {
465
+ rendered: string;
466
+ protected: boolean;
467
+ };
468
+ excerpt: {
469
+ rendered: string;
470
+ protected: boolean;
471
+ };
472
+ comment_status: string;
473
+ ping_status: string;
474
+ template: string;
475
+ meta?: any[] | Record<string, any> | undefined;
476
+ _links?: any;
477
+ featured_media?: number | undefined;
478
+ acf?: any[] | Record<string, any> | undefined;
479
+ _embedded?: any;
480
+ parent?: number | undefined;
481
+ menu_order?: number | undefined;
482
+ class_list?: string[] | undefined;
483
+ }>;
484
+ /**
485
+ * Schema for WordPress media items
486
+ */
487
+ export declare const mediaSchema: z.ZodObject<{
488
+ id: z.ZodNumber;
489
+ date: z.ZodString;
490
+ date_gmt: z.ZodString;
491
+ guid: z.ZodObject<{
492
+ rendered: z.ZodString;
493
+ }, "strip", z.ZodTypeAny, {
494
+ rendered: string;
495
+ }, {
496
+ rendered: string;
497
+ }>;
498
+ modified: z.ZodString;
499
+ modified_gmt: z.ZodString;
500
+ slug: z.ZodString;
501
+ status: z.ZodString;
502
+ type: z.ZodString;
503
+ link: z.ZodString;
504
+ title: z.ZodObject<{
505
+ rendered: z.ZodString;
506
+ }, "strip", z.ZodTypeAny, {
507
+ rendered: string;
508
+ }, {
509
+ rendered: string;
510
+ }>;
511
+ author: z.ZodNumber;
512
+ meta: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
513
+ _links: z.ZodAny;
514
+ } & {
515
+ comment_status: z.ZodString;
516
+ ping_status: z.ZodString;
517
+ alt_text: z.ZodString;
518
+ caption: z.ZodObject<{
519
+ rendered: z.ZodString;
520
+ }, "strip", z.ZodTypeAny, {
521
+ rendered: string;
522
+ }, {
523
+ rendered: string;
524
+ }>;
525
+ description: z.ZodObject<{
526
+ rendered: z.ZodString;
527
+ }, "strip", z.ZodTypeAny, {
528
+ rendered: string;
529
+ }, {
530
+ rendered: string;
531
+ }>;
532
+ media_type: z.ZodString;
533
+ mime_type: z.ZodString;
534
+ media_details: z.ZodObject<{
535
+ width: z.ZodNumber;
536
+ height: z.ZodNumber;
537
+ file: z.ZodString;
538
+ filesize: z.ZodOptional<z.ZodNumber>;
539
+ sizes: z.ZodRecord<z.ZodString, z.ZodObject<{
540
+ file: z.ZodString;
541
+ width: z.ZodNumber;
542
+ height: z.ZodNumber;
543
+ filesize: z.ZodOptional<z.ZodNumber>;
544
+ mime_type: z.ZodString;
545
+ source_url: z.ZodString;
546
+ }, "strip", z.ZodTypeAny, {
547
+ mime_type: string;
548
+ width: number;
549
+ height: number;
550
+ file: string;
551
+ source_url: string;
552
+ filesize?: number | undefined;
553
+ }, {
554
+ mime_type: string;
555
+ width: number;
556
+ height: number;
557
+ file: string;
558
+ source_url: string;
559
+ filesize?: number | undefined;
560
+ }>>;
561
+ image_meta: z.ZodAny;
562
+ }, "strip", z.ZodTypeAny, {
563
+ width: number;
564
+ height: number;
565
+ file: string;
566
+ sizes: Record<string, {
567
+ mime_type: string;
568
+ width: number;
569
+ height: number;
570
+ file: string;
571
+ source_url: string;
572
+ filesize?: number | undefined;
573
+ }>;
574
+ filesize?: number | undefined;
575
+ image_meta?: any;
576
+ }, {
577
+ width: number;
578
+ height: number;
579
+ file: string;
580
+ sizes: Record<string, {
581
+ mime_type: string;
582
+ width: number;
583
+ height: number;
584
+ file: string;
585
+ source_url: string;
586
+ filesize?: number | undefined;
587
+ }>;
588
+ filesize?: number | undefined;
589
+ image_meta?: any;
590
+ }>;
591
+ source_url: z.ZodString;
592
+ }, "strip", z.ZodTypeAny, {
593
+ date: string;
594
+ id: number;
595
+ title: {
596
+ rendered: string;
597
+ };
598
+ slug: string;
599
+ modified: string;
600
+ date_gmt: string;
601
+ type: string;
602
+ status: string;
603
+ guid: {
604
+ rendered: string;
605
+ };
606
+ modified_gmt: string;
607
+ link: string;
608
+ author: number;
609
+ comment_status: string;
610
+ ping_status: string;
611
+ alt_text: string;
612
+ caption: {
613
+ rendered: string;
614
+ };
615
+ description: {
616
+ rendered: string;
617
+ };
618
+ media_type: string;
619
+ mime_type: string;
620
+ media_details: {
621
+ width: number;
622
+ height: number;
623
+ file: string;
624
+ sizes: Record<string, {
625
+ mime_type: string;
626
+ width: number;
627
+ height: number;
628
+ file: string;
629
+ source_url: string;
630
+ filesize?: number | undefined;
631
+ }>;
632
+ filesize?: number | undefined;
633
+ image_meta?: any;
634
+ };
635
+ source_url: string;
636
+ meta?: any[] | Record<string, any> | undefined;
637
+ _links?: any;
638
+ }, {
639
+ date: string;
640
+ id: number;
641
+ title: {
642
+ rendered: string;
643
+ };
644
+ slug: string;
645
+ modified: string;
646
+ date_gmt: string;
647
+ type: string;
648
+ status: string;
649
+ guid: {
650
+ rendered: string;
651
+ };
652
+ modified_gmt: string;
653
+ link: string;
654
+ author: number;
655
+ comment_status: string;
656
+ ping_status: string;
657
+ alt_text: string;
658
+ caption: {
659
+ rendered: string;
660
+ };
661
+ description: {
662
+ rendered: string;
663
+ };
664
+ media_type: string;
665
+ mime_type: string;
666
+ media_details: {
667
+ width: number;
668
+ height: number;
669
+ file: string;
670
+ sizes: Record<string, {
671
+ mime_type: string;
672
+ width: number;
673
+ height: number;
674
+ file: string;
675
+ source_url: string;
676
+ filesize?: number | undefined;
677
+ }>;
678
+ filesize?: number | undefined;
679
+ image_meta?: any;
680
+ };
681
+ source_url: string;
682
+ meta?: any[] | Record<string, any> | undefined;
683
+ _links?: any;
684
+ }>;
685
+ /**
686
+ * Schema for WordPress categories and taxonomies
687
+ * Extend with .extend() to add custom ACF fields to taxonomies
688
+ *
689
+ * @example
690
+ * const customCategorySchema = categorySchema.extend({
691
+ * acf: z.object({
692
+ * color: z.string().optional(),
693
+ * }).optional(),
694
+ * });
695
+ */
696
+ export declare const categorySchema: z.ZodObject<{
697
+ id: z.ZodNumber;
698
+ count: z.ZodNumber;
699
+ description: z.ZodString;
700
+ link: z.ZodString;
701
+ name: z.ZodString;
702
+ slug: z.ZodString;
703
+ taxonomy: z.ZodString;
704
+ parent: z.ZodDefault<z.ZodNumber>;
705
+ meta: z.ZodUnion<[z.ZodArray<z.ZodAny, "many">, z.ZodRecord<z.ZodString, z.ZodAny>]>;
706
+ acf: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny, "many">]>>;
707
+ _embedded: z.ZodOptional<z.ZodAny>;
708
+ _links: z.ZodAny;
709
+ }, "strip", z.ZodTypeAny, {
710
+ id: number;
711
+ slug: string;
712
+ name: string;
713
+ count: number;
714
+ link: string;
715
+ meta: any[] | Record<string, any>;
716
+ parent: number;
717
+ description: string;
718
+ taxonomy: string;
719
+ _links?: any;
720
+ acf?: any[] | Record<string, any> | undefined;
721
+ _embedded?: any;
722
+ }, {
723
+ id: number;
724
+ slug: string;
725
+ name: string;
726
+ count: number;
727
+ link: string;
728
+ meta: any[] | Record<string, any>;
729
+ description: string;
730
+ taxonomy: string;
731
+ _links?: any;
732
+ acf?: any[] | Record<string, any> | undefined;
733
+ _embedded?: any;
734
+ parent?: number | undefined;
735
+ }>;
736
+ /**
737
+ * Schema for WordPress embedded media (used in _embedded field)
738
+ */
739
+ export declare const embeddedMediaSchema: z.ZodObject<{
740
+ id: z.ZodNumber;
741
+ date: z.ZodString;
742
+ slug: z.ZodString;
743
+ type: z.ZodString;
744
+ link: z.ZodString;
745
+ title: z.ZodObject<{
746
+ rendered: z.ZodString;
747
+ }, "strip", z.ZodTypeAny, {
748
+ rendered: string;
749
+ }, {
750
+ rendered: string;
751
+ }>;
752
+ author: z.ZodNumber;
753
+ featured_media: z.ZodNumber;
754
+ caption: z.ZodObject<{
755
+ rendered: z.ZodString;
756
+ }, "strip", z.ZodTypeAny, {
757
+ rendered: string;
758
+ }, {
759
+ rendered: string;
760
+ }>;
761
+ alt_text: z.ZodString;
762
+ media_type: z.ZodString;
763
+ mime_type: z.ZodString;
764
+ media_details: z.ZodObject<{
765
+ width: z.ZodNumber;
766
+ height: z.ZodNumber;
767
+ file: z.ZodString;
768
+ filesize: z.ZodOptional<z.ZodNumber>;
769
+ sizes: z.ZodRecord<z.ZodString, z.ZodObject<{
770
+ file: z.ZodString;
771
+ width: z.ZodNumber;
772
+ height: z.ZodNumber;
773
+ filesize: z.ZodOptional<z.ZodNumber>;
774
+ mime_type: z.ZodString;
775
+ source_url: z.ZodString;
776
+ }, "strip", z.ZodTypeAny, {
777
+ mime_type: string;
778
+ width: number;
779
+ height: number;
780
+ file: string;
781
+ source_url: string;
782
+ filesize?: number | undefined;
783
+ }, {
784
+ mime_type: string;
785
+ width: number;
786
+ height: number;
787
+ file: string;
788
+ source_url: string;
789
+ filesize?: number | undefined;
790
+ }>>;
791
+ image_meta: z.ZodOptional<z.ZodAny>;
792
+ }, "strip", z.ZodTypeAny, {
793
+ width: number;
794
+ height: number;
795
+ file: string;
796
+ sizes: Record<string, {
797
+ mime_type: string;
798
+ width: number;
799
+ height: number;
800
+ file: string;
801
+ source_url: string;
802
+ filesize?: number | undefined;
803
+ }>;
804
+ filesize?: number | undefined;
805
+ image_meta?: any;
806
+ }, {
807
+ width: number;
808
+ height: number;
809
+ file: string;
810
+ sizes: Record<string, {
811
+ mime_type: string;
812
+ width: number;
813
+ height: number;
814
+ file: string;
815
+ source_url: string;
816
+ filesize?: number | undefined;
817
+ }>;
818
+ filesize?: number | undefined;
819
+ image_meta?: any;
820
+ }>;
821
+ source_url: z.ZodString;
822
+ acf: z.ZodOptional<z.ZodAny>;
823
+ _links: z.ZodOptional<z.ZodAny>;
824
+ }, "strip", z.ZodTypeAny, {
825
+ date: string;
826
+ id: number;
827
+ title: {
828
+ rendered: string;
829
+ };
830
+ slug: string;
831
+ type: string;
832
+ link: string;
833
+ author: number;
834
+ featured_media: number;
835
+ alt_text: string;
836
+ caption: {
837
+ rendered: string;
838
+ };
839
+ media_type: string;
840
+ mime_type: string;
841
+ media_details: {
842
+ width: number;
843
+ height: number;
844
+ file: string;
845
+ sizes: Record<string, {
846
+ mime_type: string;
847
+ width: number;
848
+ height: number;
849
+ file: string;
850
+ source_url: string;
851
+ filesize?: number | undefined;
852
+ }>;
853
+ filesize?: number | undefined;
854
+ image_meta?: any;
855
+ };
856
+ source_url: string;
857
+ _links?: any;
858
+ acf?: any;
859
+ }, {
860
+ date: string;
861
+ id: number;
862
+ title: {
863
+ rendered: string;
864
+ };
865
+ slug: string;
866
+ type: string;
867
+ link: string;
868
+ author: number;
869
+ featured_media: number;
870
+ alt_text: string;
871
+ caption: {
872
+ rendered: string;
873
+ };
874
+ media_type: string;
875
+ mime_type: string;
876
+ media_details: {
877
+ width: number;
878
+ height: number;
879
+ file: string;
880
+ sizes: Record<string, {
881
+ mime_type: string;
882
+ width: number;
883
+ height: number;
884
+ file: string;
885
+ source_url: string;
886
+ filesize?: number | undefined;
887
+ }>;
888
+ filesize?: number | undefined;
889
+ image_meta?: any;
890
+ };
891
+ source_url: string;
892
+ _links?: any;
893
+ acf?: any;
894
+ }>;
895
+ /**
896
+ * Inferred TypeScript types from Zod schemas
897
+ */
898
+ export type WordPressBase = z.infer<typeof baseWordPressSchema>;
899
+ export type WordPressContent = z.infer<typeof contentWordPressSchema>;
900
+ export type WordPressPost = z.infer<typeof postSchema>;
901
+ export type WordPressPage = z.infer<typeof pageSchema>;
902
+ export type WordPressMedia = z.infer<typeof mediaSchema>;
903
+ export type WordPressCategory = z.infer<typeof categorySchema>;
904
+ export type WordPressEmbeddedMedia = z.infer<typeof embeddedMediaSchema>;
905
+ /**
906
+ * WordPress Author interface (not using live collections)
907
+ */
908
+ export interface WordPressAuthor {
909
+ id: number;
910
+ name: string;
911
+ url: string;
912
+ description: string;
913
+ link: string;
914
+ slug: string;
915
+ avatar_urls: {
916
+ [key: string]: string;
917
+ };
918
+ meta: any[];
919
+ _links: any;
920
+ }
921
+ /**
922
+ * WordPress Tag type (alias for Category)
923
+ */
924
+ export type WordPressTag = WordPressCategory;
925
+ /**
926
+ * Schema for WordPress site settings (requires authentication)
927
+ */
928
+ export declare const settingsSchema: z.ZodObject<{
929
+ title: z.ZodString;
930
+ description: z.ZodString;
931
+ url: z.ZodString;
932
+ email: z.ZodOptional<z.ZodString>;
933
+ timezone: z.ZodString;
934
+ date_format: z.ZodString;
935
+ time_format: z.ZodString;
936
+ start_of_week: z.ZodNumber;
937
+ language: z.ZodString;
938
+ use_smilies: z.ZodBoolean;
939
+ default_category: z.ZodNumber;
940
+ default_post_format: z.ZodString;
941
+ posts_per_page: z.ZodNumber;
942
+ show_on_front: z.ZodString;
943
+ page_on_front: z.ZodNumber;
944
+ page_for_posts: z.ZodNumber;
945
+ default_ping_status: z.ZodString;
946
+ default_comment_status: z.ZodString;
947
+ site_logo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
948
+ site_icon: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
949
+ }, "strip", z.ZodTypeAny, {
950
+ title: string;
951
+ description: string;
952
+ url: string;
953
+ timezone: string;
954
+ date_format: string;
955
+ time_format: string;
956
+ start_of_week: number;
957
+ language: string;
958
+ use_smilies: boolean;
959
+ default_category: number;
960
+ default_post_format: string;
961
+ posts_per_page: number;
962
+ show_on_front: string;
963
+ page_on_front: number;
964
+ page_for_posts: number;
965
+ default_ping_status: string;
966
+ default_comment_status: string;
967
+ email?: string | undefined;
968
+ site_logo?: number | null | undefined;
969
+ site_icon?: number | null | undefined;
970
+ }, {
971
+ title: string;
972
+ description: string;
973
+ url: string;
974
+ timezone: string;
975
+ date_format: string;
976
+ time_format: string;
977
+ start_of_week: number;
978
+ language: string;
979
+ use_smilies: boolean;
980
+ default_category: number;
981
+ default_post_format: string;
982
+ posts_per_page: number;
983
+ show_on_front: string;
984
+ page_on_front: number;
985
+ page_for_posts: number;
986
+ default_ping_status: string;
987
+ default_comment_status: string;
988
+ email?: string | undefined;
989
+ site_logo?: number | null | undefined;
990
+ site_icon?: number | null | undefined;
991
+ }>;
992
+ export type WordPressSettings = z.infer<typeof settingsSchema>;