@financial-times/content-curation-client 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,3297 @@
1
+ import { Options } from 'tsup';
2
+ import { z } from 'zod';
3
+ import { ZodTypeAny } from 'zod';
4
+
5
+ /**
6
+ * Main API client that provides access to all API endpoints
7
+ */
8
+ declare class ApiClient extends BaseApiClient {
9
+ /**
10
+ * Homepage API endpoints
11
+ */
12
+ homepage: HomepageClient;
13
+ page: PageClient;
14
+ constructor(config: ApiClientConfig);
15
+ }
16
+ export { ApiClient }
17
+ export { ApiClient as ApiClient_alias_1 }
18
+
19
+ /**
20
+ * Configuration options for the API client
21
+ */
22
+ declare interface ApiClientConfig {
23
+ baseUrl: string;
24
+ apiToken: string;
25
+ fetch?: typeof fetch;
26
+ }
27
+ export { ApiClientConfig }
28
+ export { ApiClientConfig as ApiClientConfig_alias_1 }
29
+
30
+ /**
31
+ * API-level error thrown when { status: 'error' } is returned
32
+ */
33
+ declare class ApiClientError extends Error {
34
+ payload: z.infer<typeof ApiErrorPayloadSchema>;
35
+ statusCode: number;
36
+ requestId?: string | undefined;
37
+ code: string;
38
+ details?: string;
39
+ path?: string;
40
+ timestamp?: string;
41
+ constructor(payload: z.infer<typeof ApiErrorPayloadSchema>, statusCode: number, requestId?: string | undefined);
42
+ }
43
+ export { ApiClientError }
44
+ export { ApiClientError as ApiClientError_alias_1 }
45
+
46
+ /**
47
+ * Strongly‐typed enum for all possible API error codes.
48
+ */
49
+ declare const ApiErrorCode: z.ZodEnum<["UNAUTHORIZED", "NOT_FOUND", "INTERNAL_SERVER_ERROR", "INVALID_INPUT_DATA"]>;
50
+ export { ApiErrorCode }
51
+ export { ApiErrorCode as ApiErrorCode_alias_1 }
52
+
53
+ declare type ApiErrorPayload = z.infer<typeof ApiErrorPayloadSchema>;
54
+ export { ApiErrorPayload }
55
+ export { ApiErrorPayload as ApiErrorPayload_alias_1 }
56
+
57
+ /**
58
+ * Specific details carried in an error payload.
59
+ */
60
+ declare const ApiErrorPayloadSchema: z.ZodObject<{
61
+ code: z.ZodEnum<["UNAUTHORIZED", "NOT_FOUND", "INTERNAL_SERVER_ERROR", "INVALID_INPUT_DATA"]>;
62
+ message: z.ZodString;
63
+ details: z.ZodOptional<z.ZodString>;
64
+ path: z.ZodOptional<z.ZodString>;
65
+ timestamp: z.ZodOptional<z.ZodString>;
66
+ }, "strict", z.ZodTypeAny, {
67
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
68
+ message: string;
69
+ path?: string | undefined;
70
+ details?: string | undefined;
71
+ timestamp?: string | undefined;
72
+ }, {
73
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
74
+ message: string;
75
+ path?: string | undefined;
76
+ details?: string | undefined;
77
+ timestamp?: string | undefined;
78
+ }>;
79
+ export { ApiErrorPayloadSchema }
80
+ export { ApiErrorPayloadSchema as ApiErrorPayloadSchema_alias_1 }
81
+
82
+ declare type ApiErrorResponse = z.infer<typeof ApiErrorResponseSchema>;
83
+ export { ApiErrorResponse }
84
+ export { ApiErrorResponse as ApiErrorResponse_alias_1 }
85
+
86
+ /**
87
+ * Full “envelope” when the API has failed.
88
+ */
89
+ declare const ApiErrorResponseSchema: z.ZodObject<{
90
+ statusCode: z.ZodNumber;
91
+ requestId: z.ZodString;
92
+ } & {
93
+ status: z.ZodLiteral<"error">;
94
+ error: z.ZodObject<{
95
+ code: z.ZodEnum<["UNAUTHORIZED", "NOT_FOUND", "INTERNAL_SERVER_ERROR", "INVALID_INPUT_DATA"]>;
96
+ message: z.ZodString;
97
+ details: z.ZodOptional<z.ZodString>;
98
+ path: z.ZodOptional<z.ZodString>;
99
+ timestamp: z.ZodOptional<z.ZodString>;
100
+ }, "strict", z.ZodTypeAny, {
101
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
102
+ message: string;
103
+ path?: string | undefined;
104
+ details?: string | undefined;
105
+ timestamp?: string | undefined;
106
+ }, {
107
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
108
+ message: string;
109
+ path?: string | undefined;
110
+ details?: string | undefined;
111
+ timestamp?: string | undefined;
112
+ }>;
113
+ }, "strict", z.ZodTypeAny, {
114
+ statusCode: number;
115
+ requestId: string;
116
+ status: "error";
117
+ error: {
118
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
119
+ message: string;
120
+ path?: string | undefined;
121
+ details?: string | undefined;
122
+ timestamp?: string | undefined;
123
+ };
124
+ }, {
125
+ statusCode: number;
126
+ requestId: string;
127
+ status: "error";
128
+ error: {
129
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
130
+ message: string;
131
+ path?: string | undefined;
132
+ details?: string | undefined;
133
+ timestamp?: string | undefined;
134
+ };
135
+ }>;
136
+ export { ApiErrorResponseSchema }
137
+ export { ApiErrorResponseSchema as ApiErrorResponseSchema_alias_1 }
138
+
139
+ /**
140
+ * Union of success or error envelopes, discriminated on `status`.
141
+ */
142
+ declare function ApiResponseSchema<T extends ZodTypeAny>(dataSchema: T): z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
143
+ statusCode: z.ZodNumber;
144
+ requestId: z.ZodString;
145
+ } & {
146
+ status: z.ZodLiteral<"success">;
147
+ data: T;
148
+ }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
149
+ statusCode: z.ZodNumber;
150
+ requestId: z.ZodString;
151
+ } & {
152
+ status: z.ZodLiteral<"success">;
153
+ data: T;
154
+ }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
155
+ statusCode: z.ZodNumber;
156
+ requestId: z.ZodString;
157
+ } & {
158
+ status: z.ZodLiteral<"success">;
159
+ data: T;
160
+ }>, any>[k]; } : never, z.baseObjectInputType<{
161
+ statusCode: z.ZodNumber;
162
+ requestId: z.ZodString;
163
+ } & {
164
+ status: z.ZodLiteral<"success">;
165
+ data: T;
166
+ }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
167
+ statusCode: z.ZodNumber;
168
+ requestId: z.ZodString;
169
+ } & {
170
+ status: z.ZodLiteral<"success">;
171
+ data: T;
172
+ }>[k_1]; } : never>, z.ZodObject<{
173
+ statusCode: z.ZodNumber;
174
+ requestId: z.ZodString;
175
+ } & {
176
+ status: z.ZodLiteral<"error">;
177
+ error: z.ZodObject<{
178
+ code: z.ZodEnum<["UNAUTHORIZED", "NOT_FOUND", "INTERNAL_SERVER_ERROR", "INVALID_INPUT_DATA"]>;
179
+ message: z.ZodString;
180
+ details: z.ZodOptional<z.ZodString>;
181
+ path: z.ZodOptional<z.ZodString>;
182
+ timestamp: z.ZodOptional<z.ZodString>;
183
+ }, "strict", z.ZodTypeAny, {
184
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
185
+ message: string;
186
+ path?: string | undefined;
187
+ details?: string | undefined;
188
+ timestamp?: string | undefined;
189
+ }, {
190
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
191
+ message: string;
192
+ path?: string | undefined;
193
+ details?: string | undefined;
194
+ timestamp?: string | undefined;
195
+ }>;
196
+ }, "strict", z.ZodTypeAny, {
197
+ statusCode: number;
198
+ requestId: string;
199
+ status: "error";
200
+ error: {
201
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
202
+ message: string;
203
+ path?: string | undefined;
204
+ details?: string | undefined;
205
+ timestamp?: string | undefined;
206
+ };
207
+ }, {
208
+ statusCode: number;
209
+ requestId: string;
210
+ status: "error";
211
+ error: {
212
+ code: "UNAUTHORIZED" | "NOT_FOUND" | "INTERNAL_SERVER_ERROR" | "INVALID_INPUT_DATA";
213
+ message: string;
214
+ path?: string | undefined;
215
+ details?: string | undefined;
216
+ timestamp?: string | undefined;
217
+ };
218
+ }>]>;
219
+ export { ApiResponseSchema }
220
+ export { ApiResponseSchema as ApiResponseSchema_alias_1 }
221
+
222
+ /**
223
+ * Schema for a successful API response, given some data schema T.
224
+ */
225
+ declare function ApiSuccessResponseSchema<T extends ZodTypeAny>(dataSchema: T): z.ZodObject<{
226
+ statusCode: z.ZodNumber;
227
+ requestId: z.ZodString;
228
+ } & {
229
+ status: z.ZodLiteral<"success">;
230
+ data: T;
231
+ }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
232
+ statusCode: z.ZodNumber;
233
+ requestId: z.ZodString;
234
+ } & {
235
+ status: z.ZodLiteral<"success">;
236
+ data: T;
237
+ }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
238
+ statusCode: z.ZodNumber;
239
+ requestId: z.ZodString;
240
+ } & {
241
+ status: z.ZodLiteral<"success">;
242
+ data: T;
243
+ }>, any>[k]; } : never, z.baseObjectInputType<{
244
+ statusCode: z.ZodNumber;
245
+ requestId: z.ZodString;
246
+ } & {
247
+ status: z.ZodLiteral<"success">;
248
+ data: T;
249
+ }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
250
+ statusCode: z.ZodNumber;
251
+ requestId: z.ZodString;
252
+ } & {
253
+ status: z.ZodLiteral<"success">;
254
+ data: T;
255
+ }>[k_1]; } : never>;
256
+ export { ApiSuccessResponseSchema }
257
+ export { ApiSuccessResponseSchema as ApiSuccessResponseSchema_alias_1 }
258
+
259
+ export declare class BaseApiClient {
260
+ protected config: ApiClientConfig;
261
+ constructor(config: ApiClientConfig);
262
+ /**
263
+ * Generic HTTP request to a JSON API
264
+ */
265
+ protected request<ReqSchema extends ZodTypeAny | undefined, ResponseDataSchema extends ZodTypeAny>(method: "GET" | "PUT" | "POST" | "DELETE", path: string, opts: {
266
+ requestSchema?: ReqSchema;
267
+ body?: ReqSchema extends ZodTypeAny ? z.infer<ReqSchema> : unknown;
268
+ responseDataSchema: ResponseDataSchema;
269
+ }): Promise<z.infer<ResponseDataSchema>>;
270
+ /**
271
+ * GET convenience method inferring response type from schema
272
+ */
273
+ protected get<ResponseDataSchema extends ZodTypeAny>(path: string, responseDataSchema: ResponseDataSchema): Promise<z.infer<ResponseDataSchema>>;
274
+ /**
275
+ * PUT convenience method inferring both request and response types
276
+ */
277
+ protected put<ReqSchema extends ZodTypeAny, ResponseDataSchema extends ZodTypeAny>(path: string, body: z.infer<ReqSchema>, requestSchema: ReqSchema, responseDataSchema: ResponseDataSchema): Promise<z.infer<ResponseDataSchema>>;
278
+ }
279
+
280
+ declare const CustomIframeSlice: {
281
+ InputSchema: z.ZodObject<{
282
+ type: z.ZodLiteral<"CustomIframe">;
283
+ hidden: z.ZodOptional<z.ZodBoolean>;
284
+ properties: z.ZodObject<{
285
+ heading: z.ZodOptional<z.ZodObject<{
286
+ text: z.ZodString;
287
+ href: z.ZodOptional<z.ZodString>;
288
+ }, "strip", z.ZodTypeAny, {
289
+ text: string;
290
+ href?: string | undefined;
291
+ }, {
292
+ text: string;
293
+ href?: string | undefined;
294
+ }>>;
295
+ } & {
296
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
297
+ } & {
298
+ iframeSrc: z.ZodString;
299
+ }, "strip", z.ZodTypeAny, {
300
+ displayBehaviour: "standalone" | "associated";
301
+ iframeSrc: string;
302
+ heading?: {
303
+ text: string;
304
+ href?: string | undefined;
305
+ } | undefined;
306
+ }, {
307
+ displayBehaviour: "standalone" | "associated";
308
+ iframeSrc: string;
309
+ heading?: {
310
+ text: string;
311
+ href?: string | undefined;
312
+ } | undefined;
313
+ }>;
314
+ } & {
315
+ sliceId: z.ZodOptional<z.ZodString>;
316
+ }, "strip", z.ZodTypeAny, {
317
+ type: "CustomIframe";
318
+ properties: {
319
+ displayBehaviour: "standalone" | "associated";
320
+ iframeSrc: string;
321
+ heading?: {
322
+ text: string;
323
+ href?: string | undefined;
324
+ } | undefined;
325
+ };
326
+ hidden?: boolean | undefined;
327
+ sliceId?: string | undefined;
328
+ }, {
329
+ type: "CustomIframe";
330
+ properties: {
331
+ displayBehaviour: "standalone" | "associated";
332
+ iframeSrc: string;
333
+ heading?: {
334
+ text: string;
335
+ href?: string | undefined;
336
+ } | undefined;
337
+ };
338
+ hidden?: boolean | undefined;
339
+ sliceId?: string | undefined;
340
+ }>;
341
+ OutputSchema: z.ZodObject<{
342
+ type: z.ZodLiteral<"CustomIframe">;
343
+ hidden: z.ZodOptional<z.ZodBoolean>;
344
+ properties: z.ZodObject<{
345
+ heading: z.ZodOptional<z.ZodObject<{
346
+ text: z.ZodString;
347
+ href: z.ZodOptional<z.ZodString>;
348
+ }, "strip", z.ZodTypeAny, {
349
+ text: string;
350
+ href?: string | undefined;
351
+ }, {
352
+ text: string;
353
+ href?: string | undefined;
354
+ }>>;
355
+ } & {
356
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
357
+ } & {
358
+ iframeSrc: z.ZodString;
359
+ }, "strip", z.ZodTypeAny, {
360
+ displayBehaviour: "standalone" | "associated";
361
+ iframeSrc: string;
362
+ heading?: {
363
+ text: string;
364
+ href?: string | undefined;
365
+ } | undefined;
366
+ }, {
367
+ displayBehaviour: "standalone" | "associated";
368
+ iframeSrc: string;
369
+ heading?: {
370
+ text: string;
371
+ href?: string | undefined;
372
+ } | undefined;
373
+ }>;
374
+ } & {
375
+ sliceId: z.ZodString;
376
+ }, "strip", z.ZodTypeAny, {
377
+ type: "CustomIframe";
378
+ properties: {
379
+ displayBehaviour: "standalone" | "associated";
380
+ iframeSrc: string;
381
+ heading?: {
382
+ text: string;
383
+ href?: string | undefined;
384
+ } | undefined;
385
+ };
386
+ sliceId: string;
387
+ hidden?: boolean | undefined;
388
+ }, {
389
+ type: "CustomIframe";
390
+ properties: {
391
+ displayBehaviour: "standalone" | "associated";
392
+ iframeSrc: string;
393
+ heading?: {
394
+ text: string;
395
+ href?: string | undefined;
396
+ } | undefined;
397
+ };
398
+ sliceId: string;
399
+ hidden?: boolean | undefined;
400
+ }>;
401
+ };
402
+
403
+ declare type CustomIframeSliceType = z.infer<typeof CustomIframeSlice.OutputSchema>;
404
+ export { CustomIframeSliceType }
405
+ export { CustomIframeSliceType as CustomIframeSliceType_alias_1 }
406
+
407
+ export declare const default_alias: Options | Options[] | ((overrideOptions: Options) => Options | Options[] | Promise<Options | Options[]>);
408
+
409
+ declare const ExperimentSlice: {
410
+ InputSchema: z.ZodObject<{
411
+ type: z.ZodLiteral<"Experiment">;
412
+ hidden: z.ZodOptional<z.ZodBoolean>;
413
+ properties: z.ZodObject<{
414
+ heading: z.ZodOptional<z.ZodObject<{
415
+ text: z.ZodString;
416
+ href: z.ZodOptional<z.ZodString>;
417
+ }, "strip", z.ZodTypeAny, {
418
+ text: string;
419
+ href?: string | undefined;
420
+ }, {
421
+ text: string;
422
+ href?: string | undefined;
423
+ }>>;
424
+ } & {
425
+ experimentId: z.ZodString;
426
+ experimentName: z.ZodString;
427
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
428
+ }, "strip", z.ZodTypeAny, {
429
+ experimentId: string;
430
+ experimentName: string;
431
+ contentJson: string;
432
+ heading?: {
433
+ text: string;
434
+ href?: string | undefined;
435
+ } | undefined;
436
+ }, {
437
+ experimentId: string;
438
+ experimentName: string;
439
+ contentJson: string;
440
+ heading?: {
441
+ text: string;
442
+ href?: string | undefined;
443
+ } | undefined;
444
+ }>;
445
+ } & {
446
+ sliceId: z.ZodOptional<z.ZodString>;
447
+ }, "strip", z.ZodTypeAny, {
448
+ type: "Experiment";
449
+ properties: {
450
+ experimentId: string;
451
+ experimentName: string;
452
+ contentJson: string;
453
+ heading?: {
454
+ text: string;
455
+ href?: string | undefined;
456
+ } | undefined;
457
+ };
458
+ hidden?: boolean | undefined;
459
+ sliceId?: string | undefined;
460
+ }, {
461
+ type: "Experiment";
462
+ properties: {
463
+ experimentId: string;
464
+ experimentName: string;
465
+ contentJson: string;
466
+ heading?: {
467
+ text: string;
468
+ href?: string | undefined;
469
+ } | undefined;
470
+ };
471
+ hidden?: boolean | undefined;
472
+ sliceId?: string | undefined;
473
+ }>;
474
+ OutputSchema: z.ZodObject<{
475
+ type: z.ZodLiteral<"Experiment">;
476
+ hidden: z.ZodOptional<z.ZodBoolean>;
477
+ properties: z.ZodObject<{
478
+ heading: z.ZodOptional<z.ZodObject<{
479
+ text: z.ZodString;
480
+ href: z.ZodOptional<z.ZodString>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ text: string;
483
+ href?: string | undefined;
484
+ }, {
485
+ text: string;
486
+ href?: string | undefined;
487
+ }>>;
488
+ } & {
489
+ experimentId: z.ZodString;
490
+ experimentName: z.ZodString;
491
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
492
+ }, "strip", z.ZodTypeAny, {
493
+ experimentId: string;
494
+ experimentName: string;
495
+ contentJson: string;
496
+ heading?: {
497
+ text: string;
498
+ href?: string | undefined;
499
+ } | undefined;
500
+ }, {
501
+ experimentId: string;
502
+ experimentName: string;
503
+ contentJson: string;
504
+ heading?: {
505
+ text: string;
506
+ href?: string | undefined;
507
+ } | undefined;
508
+ }>;
509
+ } & {
510
+ sliceId: z.ZodString;
511
+ }, "strip", z.ZodTypeAny, {
512
+ type: "Experiment";
513
+ properties: {
514
+ experimentId: string;
515
+ experimentName: string;
516
+ contentJson: string;
517
+ heading?: {
518
+ text: string;
519
+ href?: string | undefined;
520
+ } | undefined;
521
+ };
522
+ sliceId: string;
523
+ hidden?: boolean | undefined;
524
+ }, {
525
+ type: "Experiment";
526
+ properties: {
527
+ experimentId: string;
528
+ experimentName: string;
529
+ contentJson: string;
530
+ heading?: {
531
+ text: string;
532
+ href?: string | undefined;
533
+ } | undefined;
534
+ };
535
+ sliceId: string;
536
+ hidden?: boolean | undefined;
537
+ }>;
538
+ };
539
+
540
+ declare type ExperimentSliceType = z.infer<typeof ExperimentSlice.OutputSchema>;
541
+ export { ExperimentSliceType }
542
+ export { ExperimentSliceType as ExperimentSliceType_alias_1 }
543
+
544
+ declare const FlourishGraphicSlice: {
545
+ InputSchema: z.ZodObject<{
546
+ type: z.ZodLiteral<"FlourishGraphic">;
547
+ hidden: z.ZodOptional<z.ZodBoolean>;
548
+ properties: z.ZodObject<{
549
+ heading: z.ZodOptional<z.ZodObject<{
550
+ text: z.ZodString;
551
+ href: z.ZodOptional<z.ZodString>;
552
+ }, "strip", z.ZodTypeAny, {
553
+ text: string;
554
+ href?: string | undefined;
555
+ }, {
556
+ text: string;
557
+ href?: string | undefined;
558
+ }>>;
559
+ } & {
560
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
561
+ } & {
562
+ flourishDescription: z.ZodOptional<z.ZodString>;
563
+ flourishId: z.ZodString;
564
+ }, "strip", z.ZodTypeAny, {
565
+ displayBehaviour: "standalone" | "associated";
566
+ flourishId: string;
567
+ heading?: {
568
+ text: string;
569
+ href?: string | undefined;
570
+ } | undefined;
571
+ flourishDescription?: string | undefined;
572
+ }, {
573
+ displayBehaviour: "standalone" | "associated";
574
+ flourishId: string;
575
+ heading?: {
576
+ text: string;
577
+ href?: string | undefined;
578
+ } | undefined;
579
+ flourishDescription?: string | undefined;
580
+ }>;
581
+ } & {
582
+ sliceId: z.ZodOptional<z.ZodString>;
583
+ }, "strip", z.ZodTypeAny, {
584
+ type: "FlourishGraphic";
585
+ properties: {
586
+ displayBehaviour: "standalone" | "associated";
587
+ flourishId: string;
588
+ heading?: {
589
+ text: string;
590
+ href?: string | undefined;
591
+ } | undefined;
592
+ flourishDescription?: string | undefined;
593
+ };
594
+ hidden?: boolean | undefined;
595
+ sliceId?: string | undefined;
596
+ }, {
597
+ type: "FlourishGraphic";
598
+ properties: {
599
+ displayBehaviour: "standalone" | "associated";
600
+ flourishId: string;
601
+ heading?: {
602
+ text: string;
603
+ href?: string | undefined;
604
+ } | undefined;
605
+ flourishDescription?: string | undefined;
606
+ };
607
+ hidden?: boolean | undefined;
608
+ sliceId?: string | undefined;
609
+ }>;
610
+ OutputSchema: z.ZodObject<{
611
+ type: z.ZodLiteral<"FlourishGraphic">;
612
+ hidden: z.ZodOptional<z.ZodBoolean>;
613
+ properties: z.ZodObject<{
614
+ heading: z.ZodOptional<z.ZodObject<{
615
+ text: z.ZodString;
616
+ href: z.ZodOptional<z.ZodString>;
617
+ }, "strip", z.ZodTypeAny, {
618
+ text: string;
619
+ href?: string | undefined;
620
+ }, {
621
+ text: string;
622
+ href?: string | undefined;
623
+ }>>;
624
+ } & {
625
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
626
+ } & {
627
+ flourishDescription: z.ZodOptional<z.ZodString>;
628
+ flourishId: z.ZodString;
629
+ }, "strip", z.ZodTypeAny, {
630
+ displayBehaviour: "standalone" | "associated";
631
+ flourishId: string;
632
+ heading?: {
633
+ text: string;
634
+ href?: string | undefined;
635
+ } | undefined;
636
+ flourishDescription?: string | undefined;
637
+ }, {
638
+ displayBehaviour: "standalone" | "associated";
639
+ flourishId: string;
640
+ heading?: {
641
+ text: string;
642
+ href?: string | undefined;
643
+ } | undefined;
644
+ flourishDescription?: string | undefined;
645
+ }>;
646
+ } & {
647
+ sliceId: z.ZodString;
648
+ }, "strip", z.ZodTypeAny, {
649
+ type: "FlourishGraphic";
650
+ properties: {
651
+ displayBehaviour: "standalone" | "associated";
652
+ flourishId: string;
653
+ heading?: {
654
+ text: string;
655
+ href?: string | undefined;
656
+ } | undefined;
657
+ flourishDescription?: string | undefined;
658
+ };
659
+ sliceId: string;
660
+ hidden?: boolean | undefined;
661
+ }, {
662
+ type: "FlourishGraphic";
663
+ properties: {
664
+ displayBehaviour: "standalone" | "associated";
665
+ flourishId: string;
666
+ heading?: {
667
+ text: string;
668
+ href?: string | undefined;
669
+ } | undefined;
670
+ flourishDescription?: string | undefined;
671
+ };
672
+ sliceId: string;
673
+ hidden?: boolean | undefined;
674
+ }>;
675
+ };
676
+
677
+ declare type FlourishGraphicSliceType = z.infer<typeof FlourishGraphicSlice.OutputSchema>;
678
+ export { FlourishGraphicSliceType }
679
+ export { FlourishGraphicSliceType as FlourishGraphicSliceType_alias_1 }
680
+
681
+ /**
682
+ * Client for Homepage structure endpoints
683
+ */
684
+ declare class HomepageClient extends BaseApiClient {
685
+ getStructure(pageId: string): Promise<HomepageStructureOutput>;
686
+ getStructuresByHomepageListId(homepageListId: string): Promise<HomepageStructureOutput[]>;
687
+ upsertStructure(pageId: string, data: Omit<HomepageStructureInput, "type">): Promise<HomepageStructureOutput>;
688
+ }
689
+ export { HomepageClient }
690
+ export { HomepageClient as HomepageClient_alias_1 }
691
+
692
+ declare const HomepageSlice: {
693
+ InputSchema: z.ZodObject<{
694
+ type: z.ZodLiteral<"HomepageSlice">;
695
+ hidden: z.ZodOptional<z.ZodBoolean>;
696
+ properties: z.ZodOptional<z.ZodObject<{
697
+ heading: z.ZodOptional<z.ZodObject<{
698
+ text: z.ZodString;
699
+ href: z.ZodOptional<z.ZodString>;
700
+ }, "strip", z.ZodTypeAny, {
701
+ text: string;
702
+ href?: string | undefined;
703
+ }, {
704
+ text: string;
705
+ href?: string | undefined;
706
+ }>>;
707
+ }, "strip", z.ZodTypeAny, {
708
+ heading?: {
709
+ text: string;
710
+ href?: string | undefined;
711
+ } | undefined;
712
+ }, {
713
+ heading?: {
714
+ text: string;
715
+ href?: string | undefined;
716
+ } | undefined;
717
+ }>>;
718
+ } & {
719
+ sliceId: z.ZodOptional<z.ZodString>;
720
+ }, "strip", z.ZodTypeAny, {
721
+ type: "HomepageSlice";
722
+ hidden?: boolean | undefined;
723
+ properties?: {
724
+ heading?: {
725
+ text: string;
726
+ href?: string | undefined;
727
+ } | undefined;
728
+ } | undefined;
729
+ sliceId?: string | undefined;
730
+ }, {
731
+ type: "HomepageSlice";
732
+ hidden?: boolean | undefined;
733
+ properties?: {
734
+ heading?: {
735
+ text: string;
736
+ href?: string | undefined;
737
+ } | undefined;
738
+ } | undefined;
739
+ sliceId?: string | undefined;
740
+ }>;
741
+ OutputSchema: z.ZodObject<{
742
+ type: z.ZodLiteral<"HomepageSlice">;
743
+ hidden: z.ZodOptional<z.ZodBoolean>;
744
+ properties: z.ZodOptional<z.ZodObject<{
745
+ heading: z.ZodOptional<z.ZodObject<{
746
+ text: z.ZodString;
747
+ href: z.ZodOptional<z.ZodString>;
748
+ }, "strip", z.ZodTypeAny, {
749
+ text: string;
750
+ href?: string | undefined;
751
+ }, {
752
+ text: string;
753
+ href?: string | undefined;
754
+ }>>;
755
+ }, "strip", z.ZodTypeAny, {
756
+ heading?: {
757
+ text: string;
758
+ href?: string | undefined;
759
+ } | undefined;
760
+ }, {
761
+ heading?: {
762
+ text: string;
763
+ href?: string | undefined;
764
+ } | undefined;
765
+ }>>;
766
+ } & {
767
+ sliceId: z.ZodString;
768
+ }, "strip", z.ZodTypeAny, {
769
+ type: "HomepageSlice";
770
+ sliceId: string;
771
+ hidden?: boolean | undefined;
772
+ properties?: {
773
+ heading?: {
774
+ text: string;
775
+ href?: string | undefined;
776
+ } | undefined;
777
+ } | undefined;
778
+ }, {
779
+ type: "HomepageSlice";
780
+ sliceId: string;
781
+ hidden?: boolean | undefined;
782
+ properties?: {
783
+ heading?: {
784
+ text: string;
785
+ href?: string | undefined;
786
+ } | undefined;
787
+ } | undefined;
788
+ }>;
789
+ };
790
+
791
+ /** Individual slice output types */
792
+ declare type HomepageSliceType = z.infer<typeof HomepageSlice.OutputSchema>;
793
+ export { HomepageSliceType }
794
+ export { HomepageSliceType as HomepageSliceType_alias_1 }
795
+
796
+ /** Client-side type for homepage structure input */
797
+ declare type HomepageStructureInput = z.infer<typeof HomepageStructureInputSchema>;
798
+ export { HomepageStructureInput }
799
+ export { HomepageStructureInput as HomepageStructureInput_alias_1 }
800
+
801
+ /**
802
+ * Page structure as submitted by clients.
803
+ * - `properties`: Metadata about the page (title, list ID, page ID).
804
+ * - `children`: Array of slice inputs (each with an optional `sliceId`).
805
+ */
806
+ declare const HomepageStructureInputSchema: z.ZodObject<{
807
+ children: z.ZodArray<z.ZodDiscriminatedUnion<"type", readonly [z.ZodObject<{
808
+ type: z.ZodLiteral<"HomepageSlice">;
809
+ hidden: z.ZodOptional<z.ZodBoolean>;
810
+ properties: z.ZodOptional<z.ZodObject<{
811
+ heading: z.ZodOptional<z.ZodObject<{
812
+ text: z.ZodString;
813
+ href: z.ZodOptional<z.ZodString>;
814
+ }, "strip", z.ZodTypeAny, {
815
+ text: string;
816
+ href?: string | undefined;
817
+ }, {
818
+ text: string;
819
+ href?: string | undefined;
820
+ }>>;
821
+ }, "strip", z.ZodTypeAny, {
822
+ heading?: {
823
+ text: string;
824
+ href?: string | undefined;
825
+ } | undefined;
826
+ }, {
827
+ heading?: {
828
+ text: string;
829
+ href?: string | undefined;
830
+ } | undefined;
831
+ }>>;
832
+ } & {
833
+ sliceId: z.ZodOptional<z.ZodString>;
834
+ }, "strip", z.ZodTypeAny, {
835
+ type: "HomepageSlice";
836
+ hidden?: boolean | undefined;
837
+ properties?: {
838
+ heading?: {
839
+ text: string;
840
+ href?: string | undefined;
841
+ } | undefined;
842
+ } | undefined;
843
+ sliceId?: string | undefined;
844
+ }, {
845
+ type: "HomepageSlice";
846
+ hidden?: boolean | undefined;
847
+ properties?: {
848
+ heading?: {
849
+ text: string;
850
+ href?: string | undefined;
851
+ } | undefined;
852
+ } | undefined;
853
+ sliceId?: string | undefined;
854
+ }>, z.ZodObject<{
855
+ type: z.ZodLiteral<"FlourishGraphic">;
856
+ hidden: z.ZodOptional<z.ZodBoolean>;
857
+ properties: z.ZodObject<{
858
+ heading: z.ZodOptional<z.ZodObject<{
859
+ text: z.ZodString;
860
+ href: z.ZodOptional<z.ZodString>;
861
+ }, "strip", z.ZodTypeAny, {
862
+ text: string;
863
+ href?: string | undefined;
864
+ }, {
865
+ text: string;
866
+ href?: string | undefined;
867
+ }>>;
868
+ } & {
869
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
870
+ } & {
871
+ flourishDescription: z.ZodOptional<z.ZodString>;
872
+ flourishId: z.ZodString;
873
+ }, "strip", z.ZodTypeAny, {
874
+ displayBehaviour: "standalone" | "associated";
875
+ flourishId: string;
876
+ heading?: {
877
+ text: string;
878
+ href?: string | undefined;
879
+ } | undefined;
880
+ flourishDescription?: string | undefined;
881
+ }, {
882
+ displayBehaviour: "standalone" | "associated";
883
+ flourishId: string;
884
+ heading?: {
885
+ text: string;
886
+ href?: string | undefined;
887
+ } | undefined;
888
+ flourishDescription?: string | undefined;
889
+ }>;
890
+ } & {
891
+ sliceId: z.ZodOptional<z.ZodString>;
892
+ }, "strip", z.ZodTypeAny, {
893
+ type: "FlourishGraphic";
894
+ properties: {
895
+ displayBehaviour: "standalone" | "associated";
896
+ flourishId: string;
897
+ heading?: {
898
+ text: string;
899
+ href?: string | undefined;
900
+ } | undefined;
901
+ flourishDescription?: string | undefined;
902
+ };
903
+ hidden?: boolean | undefined;
904
+ sliceId?: string | undefined;
905
+ }, {
906
+ type: "FlourishGraphic";
907
+ properties: {
908
+ displayBehaviour: "standalone" | "associated";
909
+ flourishId: string;
910
+ heading?: {
911
+ text: string;
912
+ href?: string | undefined;
913
+ } | undefined;
914
+ flourishDescription?: string | undefined;
915
+ };
916
+ hidden?: boolean | undefined;
917
+ sliceId?: string | undefined;
918
+ }>, z.ZodObject<{
919
+ type: z.ZodLiteral<"CustomIframe">;
920
+ hidden: z.ZodOptional<z.ZodBoolean>;
921
+ properties: z.ZodObject<{
922
+ heading: z.ZodOptional<z.ZodObject<{
923
+ text: z.ZodString;
924
+ href: z.ZodOptional<z.ZodString>;
925
+ }, "strip", z.ZodTypeAny, {
926
+ text: string;
927
+ href?: string | undefined;
928
+ }, {
929
+ text: string;
930
+ href?: string | undefined;
931
+ }>>;
932
+ } & {
933
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
934
+ } & {
935
+ iframeSrc: z.ZodString;
936
+ }, "strip", z.ZodTypeAny, {
937
+ displayBehaviour: "standalone" | "associated";
938
+ iframeSrc: string;
939
+ heading?: {
940
+ text: string;
941
+ href?: string | undefined;
942
+ } | undefined;
943
+ }, {
944
+ displayBehaviour: "standalone" | "associated";
945
+ iframeSrc: string;
946
+ heading?: {
947
+ text: string;
948
+ href?: string | undefined;
949
+ } | undefined;
950
+ }>;
951
+ } & {
952
+ sliceId: z.ZodOptional<z.ZodString>;
953
+ }, "strip", z.ZodTypeAny, {
954
+ type: "CustomIframe";
955
+ properties: {
956
+ displayBehaviour: "standalone" | "associated";
957
+ iframeSrc: string;
958
+ heading?: {
959
+ text: string;
960
+ href?: string | undefined;
961
+ } | undefined;
962
+ };
963
+ hidden?: boolean | undefined;
964
+ sliceId?: string | undefined;
965
+ }, {
966
+ type: "CustomIframe";
967
+ properties: {
968
+ displayBehaviour: "standalone" | "associated";
969
+ iframeSrc: string;
970
+ heading?: {
971
+ text: string;
972
+ href?: string | undefined;
973
+ } | undefined;
974
+ };
975
+ hidden?: boolean | undefined;
976
+ sliceId?: string | undefined;
977
+ }>, z.ZodObject<{
978
+ type: z.ZodLiteral<"Experiment">;
979
+ hidden: z.ZodOptional<z.ZodBoolean>;
980
+ properties: z.ZodObject<{
981
+ heading: z.ZodOptional<z.ZodObject<{
982
+ text: z.ZodString;
983
+ href: z.ZodOptional<z.ZodString>;
984
+ }, "strip", z.ZodTypeAny, {
985
+ text: string;
986
+ href?: string | undefined;
987
+ }, {
988
+ text: string;
989
+ href?: string | undefined;
990
+ }>>;
991
+ } & {
992
+ experimentId: z.ZodString;
993
+ experimentName: z.ZodString;
994
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
995
+ }, "strip", z.ZodTypeAny, {
996
+ experimentId: string;
997
+ experimentName: string;
998
+ contentJson: string;
999
+ heading?: {
1000
+ text: string;
1001
+ href?: string | undefined;
1002
+ } | undefined;
1003
+ }, {
1004
+ experimentId: string;
1005
+ experimentName: string;
1006
+ contentJson: string;
1007
+ heading?: {
1008
+ text: string;
1009
+ href?: string | undefined;
1010
+ } | undefined;
1011
+ }>;
1012
+ } & {
1013
+ sliceId: z.ZodOptional<z.ZodString>;
1014
+ }, "strip", z.ZodTypeAny, {
1015
+ type: "Experiment";
1016
+ properties: {
1017
+ experimentId: string;
1018
+ experimentName: string;
1019
+ contentJson: string;
1020
+ heading?: {
1021
+ text: string;
1022
+ href?: string | undefined;
1023
+ } | undefined;
1024
+ };
1025
+ hidden?: boolean | undefined;
1026
+ sliceId?: string | undefined;
1027
+ }, {
1028
+ type: "Experiment";
1029
+ properties: {
1030
+ experimentId: string;
1031
+ experimentName: string;
1032
+ contentJson: string;
1033
+ heading?: {
1034
+ text: string;
1035
+ href?: string | undefined;
1036
+ } | undefined;
1037
+ };
1038
+ hidden?: boolean | undefined;
1039
+ sliceId?: string | undefined;
1040
+ }>, z.ZodObject<{
1041
+ type: z.ZodLiteral<"SparkList">;
1042
+ hidden: z.ZodOptional<z.ZodBoolean>;
1043
+ properties: z.ZodObject<{} & {
1044
+ listId: z.ZodString;
1045
+ heading: z.ZodOptional<z.ZodObject<{
1046
+ text: z.ZodString;
1047
+ href: z.ZodOptional<z.ZodString>;
1048
+ }, "strip", z.ZodTypeAny, {
1049
+ text: string;
1050
+ href?: string | undefined;
1051
+ }, {
1052
+ text: string;
1053
+ href?: string | undefined;
1054
+ }>>;
1055
+ }, "strip", z.ZodTypeAny, {
1056
+ listId: string;
1057
+ heading?: {
1058
+ text: string;
1059
+ href?: string | undefined;
1060
+ } | undefined;
1061
+ }, {
1062
+ listId: string;
1063
+ heading?: {
1064
+ text: string;
1065
+ href?: string | undefined;
1066
+ } | undefined;
1067
+ }>;
1068
+ } & {
1069
+ sliceId: z.ZodOptional<z.ZodString>;
1070
+ }, "strip", z.ZodTypeAny, {
1071
+ type: "SparkList";
1072
+ properties: {
1073
+ listId: string;
1074
+ heading?: {
1075
+ text: string;
1076
+ href?: string | undefined;
1077
+ } | undefined;
1078
+ };
1079
+ hidden?: boolean | undefined;
1080
+ sliceId?: string | undefined;
1081
+ }, {
1082
+ type: "SparkList";
1083
+ properties: {
1084
+ listId: string;
1085
+ heading?: {
1086
+ text: string;
1087
+ href?: string | undefined;
1088
+ } | undefined;
1089
+ };
1090
+ hidden?: boolean | undefined;
1091
+ sliceId?: string | undefined;
1092
+ }>]>, "many">;
1093
+ } & {
1094
+ properties: z.ZodObject<{
1095
+ title: z.ZodString;
1096
+ pageId: z.ZodString;
1097
+ } & {
1098
+ homepageListId: z.ZodString;
1099
+ }, "strip", z.ZodTypeAny, {
1100
+ title: string;
1101
+ pageId: string;
1102
+ homepageListId: string;
1103
+ }, {
1104
+ title: string;
1105
+ pageId: string;
1106
+ homepageListId: string;
1107
+ }>;
1108
+ }, "strip", z.ZodTypeAny, {
1109
+ properties: {
1110
+ title: string;
1111
+ pageId: string;
1112
+ homepageListId: string;
1113
+ };
1114
+ children: ({
1115
+ type: "HomepageSlice";
1116
+ hidden?: boolean | undefined;
1117
+ properties?: {
1118
+ heading?: {
1119
+ text: string;
1120
+ href?: string | undefined;
1121
+ } | undefined;
1122
+ } | undefined;
1123
+ sliceId?: string | undefined;
1124
+ } | {
1125
+ type: "FlourishGraphic";
1126
+ properties: {
1127
+ displayBehaviour: "standalone" | "associated";
1128
+ flourishId: string;
1129
+ heading?: {
1130
+ text: string;
1131
+ href?: string | undefined;
1132
+ } | undefined;
1133
+ flourishDescription?: string | undefined;
1134
+ };
1135
+ hidden?: boolean | undefined;
1136
+ sliceId?: string | undefined;
1137
+ } | {
1138
+ type: "CustomIframe";
1139
+ properties: {
1140
+ displayBehaviour: "standalone" | "associated";
1141
+ iframeSrc: string;
1142
+ heading?: {
1143
+ text: string;
1144
+ href?: string | undefined;
1145
+ } | undefined;
1146
+ };
1147
+ hidden?: boolean | undefined;
1148
+ sliceId?: string | undefined;
1149
+ } | {
1150
+ type: "Experiment";
1151
+ properties: {
1152
+ experimentId: string;
1153
+ experimentName: string;
1154
+ contentJson: string;
1155
+ heading?: {
1156
+ text: string;
1157
+ href?: string | undefined;
1158
+ } | undefined;
1159
+ };
1160
+ hidden?: boolean | undefined;
1161
+ sliceId?: string | undefined;
1162
+ } | {
1163
+ type: "SparkList";
1164
+ properties: {
1165
+ listId: string;
1166
+ heading?: {
1167
+ text: string;
1168
+ href?: string | undefined;
1169
+ } | undefined;
1170
+ };
1171
+ hidden?: boolean | undefined;
1172
+ sliceId?: string | undefined;
1173
+ })[];
1174
+ }, {
1175
+ properties: {
1176
+ title: string;
1177
+ pageId: string;
1178
+ homepageListId: string;
1179
+ };
1180
+ children: ({
1181
+ type: "HomepageSlice";
1182
+ hidden?: boolean | undefined;
1183
+ properties?: {
1184
+ heading?: {
1185
+ text: string;
1186
+ href?: string | undefined;
1187
+ } | undefined;
1188
+ } | undefined;
1189
+ sliceId?: string | undefined;
1190
+ } | {
1191
+ type: "FlourishGraphic";
1192
+ properties: {
1193
+ displayBehaviour: "standalone" | "associated";
1194
+ flourishId: string;
1195
+ heading?: {
1196
+ text: string;
1197
+ href?: string | undefined;
1198
+ } | undefined;
1199
+ flourishDescription?: string | undefined;
1200
+ };
1201
+ hidden?: boolean | undefined;
1202
+ sliceId?: string | undefined;
1203
+ } | {
1204
+ type: "CustomIframe";
1205
+ properties: {
1206
+ displayBehaviour: "standalone" | "associated";
1207
+ iframeSrc: string;
1208
+ heading?: {
1209
+ text: string;
1210
+ href?: string | undefined;
1211
+ } | undefined;
1212
+ };
1213
+ hidden?: boolean | undefined;
1214
+ sliceId?: string | undefined;
1215
+ } | {
1216
+ type: "Experiment";
1217
+ properties: {
1218
+ experimentId: string;
1219
+ experimentName: string;
1220
+ contentJson: string;
1221
+ heading?: {
1222
+ text: string;
1223
+ href?: string | undefined;
1224
+ } | undefined;
1225
+ };
1226
+ hidden?: boolean | undefined;
1227
+ sliceId?: string | undefined;
1228
+ } | {
1229
+ type: "SparkList";
1230
+ properties: {
1231
+ listId: string;
1232
+ heading?: {
1233
+ text: string;
1234
+ href?: string | undefined;
1235
+ } | undefined;
1236
+ };
1237
+ hidden?: boolean | undefined;
1238
+ sliceId?: string | undefined;
1239
+ })[];
1240
+ }>;
1241
+ export { HomepageStructureInputSchema }
1242
+ export { HomepageStructureInputSchema as HomepageStructureInputSchema_alias_1 }
1243
+
1244
+ /** Server-side type for homepage structure output */
1245
+ declare type HomepageStructureOutput = z.infer<typeof HomepageStructureOutputSchema>;
1246
+ export { HomepageStructureOutput }
1247
+ export { HomepageStructureOutput as HomepageStructureOutput_alias_1 }
1248
+
1249
+ declare const HomepageStructureOutputSchema: z.ZodObject<{
1250
+ schemaVersion: z.ZodNumber;
1251
+ children: z.ZodArray<z.ZodDiscriminatedUnion<"type", readonly [z.ZodObject<{
1252
+ type: z.ZodLiteral<"HomepageSlice">;
1253
+ hidden: z.ZodOptional<z.ZodBoolean>;
1254
+ properties: z.ZodOptional<z.ZodObject<{
1255
+ heading: z.ZodOptional<z.ZodObject<{
1256
+ text: z.ZodString;
1257
+ href: z.ZodOptional<z.ZodString>;
1258
+ }, "strip", z.ZodTypeAny, {
1259
+ text: string;
1260
+ href?: string | undefined;
1261
+ }, {
1262
+ text: string;
1263
+ href?: string | undefined;
1264
+ }>>;
1265
+ }, "strip", z.ZodTypeAny, {
1266
+ heading?: {
1267
+ text: string;
1268
+ href?: string | undefined;
1269
+ } | undefined;
1270
+ }, {
1271
+ heading?: {
1272
+ text: string;
1273
+ href?: string | undefined;
1274
+ } | undefined;
1275
+ }>>;
1276
+ } & {
1277
+ sliceId: z.ZodString;
1278
+ }, "strip", z.ZodTypeAny, {
1279
+ type: "HomepageSlice";
1280
+ sliceId: string;
1281
+ hidden?: boolean | undefined;
1282
+ properties?: {
1283
+ heading?: {
1284
+ text: string;
1285
+ href?: string | undefined;
1286
+ } | undefined;
1287
+ } | undefined;
1288
+ }, {
1289
+ type: "HomepageSlice";
1290
+ sliceId: string;
1291
+ hidden?: boolean | undefined;
1292
+ properties?: {
1293
+ heading?: {
1294
+ text: string;
1295
+ href?: string | undefined;
1296
+ } | undefined;
1297
+ } | undefined;
1298
+ }>, z.ZodObject<{
1299
+ type: z.ZodLiteral<"FlourishGraphic">;
1300
+ hidden: z.ZodOptional<z.ZodBoolean>;
1301
+ properties: z.ZodObject<{
1302
+ heading: z.ZodOptional<z.ZodObject<{
1303
+ text: z.ZodString;
1304
+ href: z.ZodOptional<z.ZodString>;
1305
+ }, "strip", z.ZodTypeAny, {
1306
+ text: string;
1307
+ href?: string | undefined;
1308
+ }, {
1309
+ text: string;
1310
+ href?: string | undefined;
1311
+ }>>;
1312
+ } & {
1313
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
1314
+ } & {
1315
+ flourishDescription: z.ZodOptional<z.ZodString>;
1316
+ flourishId: z.ZodString;
1317
+ }, "strip", z.ZodTypeAny, {
1318
+ displayBehaviour: "standalone" | "associated";
1319
+ flourishId: string;
1320
+ heading?: {
1321
+ text: string;
1322
+ href?: string | undefined;
1323
+ } | undefined;
1324
+ flourishDescription?: string | undefined;
1325
+ }, {
1326
+ displayBehaviour: "standalone" | "associated";
1327
+ flourishId: string;
1328
+ heading?: {
1329
+ text: string;
1330
+ href?: string | undefined;
1331
+ } | undefined;
1332
+ flourishDescription?: string | undefined;
1333
+ }>;
1334
+ } & {
1335
+ sliceId: z.ZodString;
1336
+ }, "strip", z.ZodTypeAny, {
1337
+ type: "FlourishGraphic";
1338
+ properties: {
1339
+ displayBehaviour: "standalone" | "associated";
1340
+ flourishId: string;
1341
+ heading?: {
1342
+ text: string;
1343
+ href?: string | undefined;
1344
+ } | undefined;
1345
+ flourishDescription?: string | undefined;
1346
+ };
1347
+ sliceId: string;
1348
+ hidden?: boolean | undefined;
1349
+ }, {
1350
+ type: "FlourishGraphic";
1351
+ properties: {
1352
+ displayBehaviour: "standalone" | "associated";
1353
+ flourishId: string;
1354
+ heading?: {
1355
+ text: string;
1356
+ href?: string | undefined;
1357
+ } | undefined;
1358
+ flourishDescription?: string | undefined;
1359
+ };
1360
+ sliceId: string;
1361
+ hidden?: boolean | undefined;
1362
+ }>, z.ZodObject<{
1363
+ type: z.ZodLiteral<"CustomIframe">;
1364
+ hidden: z.ZodOptional<z.ZodBoolean>;
1365
+ properties: z.ZodObject<{
1366
+ heading: z.ZodOptional<z.ZodObject<{
1367
+ text: z.ZodString;
1368
+ href: z.ZodOptional<z.ZodString>;
1369
+ }, "strip", z.ZodTypeAny, {
1370
+ text: string;
1371
+ href?: string | undefined;
1372
+ }, {
1373
+ text: string;
1374
+ href?: string | undefined;
1375
+ }>>;
1376
+ } & {
1377
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
1378
+ } & {
1379
+ iframeSrc: z.ZodString;
1380
+ }, "strip", z.ZodTypeAny, {
1381
+ displayBehaviour: "standalone" | "associated";
1382
+ iframeSrc: string;
1383
+ heading?: {
1384
+ text: string;
1385
+ href?: string | undefined;
1386
+ } | undefined;
1387
+ }, {
1388
+ displayBehaviour: "standalone" | "associated";
1389
+ iframeSrc: string;
1390
+ heading?: {
1391
+ text: string;
1392
+ href?: string | undefined;
1393
+ } | undefined;
1394
+ }>;
1395
+ } & {
1396
+ sliceId: z.ZodString;
1397
+ }, "strip", z.ZodTypeAny, {
1398
+ type: "CustomIframe";
1399
+ properties: {
1400
+ displayBehaviour: "standalone" | "associated";
1401
+ iframeSrc: string;
1402
+ heading?: {
1403
+ text: string;
1404
+ href?: string | undefined;
1405
+ } | undefined;
1406
+ };
1407
+ sliceId: string;
1408
+ hidden?: boolean | undefined;
1409
+ }, {
1410
+ type: "CustomIframe";
1411
+ properties: {
1412
+ displayBehaviour: "standalone" | "associated";
1413
+ iframeSrc: string;
1414
+ heading?: {
1415
+ text: string;
1416
+ href?: string | undefined;
1417
+ } | undefined;
1418
+ };
1419
+ sliceId: string;
1420
+ hidden?: boolean | undefined;
1421
+ }>, z.ZodObject<{
1422
+ type: z.ZodLiteral<"Experiment">;
1423
+ hidden: z.ZodOptional<z.ZodBoolean>;
1424
+ properties: z.ZodObject<{
1425
+ heading: z.ZodOptional<z.ZodObject<{
1426
+ text: z.ZodString;
1427
+ href: z.ZodOptional<z.ZodString>;
1428
+ }, "strip", z.ZodTypeAny, {
1429
+ text: string;
1430
+ href?: string | undefined;
1431
+ }, {
1432
+ text: string;
1433
+ href?: string | undefined;
1434
+ }>>;
1435
+ } & {
1436
+ experimentId: z.ZodString;
1437
+ experimentName: z.ZodString;
1438
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
1439
+ }, "strip", z.ZodTypeAny, {
1440
+ experimentId: string;
1441
+ experimentName: string;
1442
+ contentJson: string;
1443
+ heading?: {
1444
+ text: string;
1445
+ href?: string | undefined;
1446
+ } | undefined;
1447
+ }, {
1448
+ experimentId: string;
1449
+ experimentName: string;
1450
+ contentJson: string;
1451
+ heading?: {
1452
+ text: string;
1453
+ href?: string | undefined;
1454
+ } | undefined;
1455
+ }>;
1456
+ } & {
1457
+ sliceId: z.ZodString;
1458
+ }, "strip", z.ZodTypeAny, {
1459
+ type: "Experiment";
1460
+ properties: {
1461
+ experimentId: string;
1462
+ experimentName: string;
1463
+ contentJson: string;
1464
+ heading?: {
1465
+ text: string;
1466
+ href?: string | undefined;
1467
+ } | undefined;
1468
+ };
1469
+ sliceId: string;
1470
+ hidden?: boolean | undefined;
1471
+ }, {
1472
+ type: "Experiment";
1473
+ properties: {
1474
+ experimentId: string;
1475
+ experimentName: string;
1476
+ contentJson: string;
1477
+ heading?: {
1478
+ text: string;
1479
+ href?: string | undefined;
1480
+ } | undefined;
1481
+ };
1482
+ sliceId: string;
1483
+ hidden?: boolean | undefined;
1484
+ }>, z.ZodObject<{
1485
+ type: z.ZodLiteral<"SparkList">;
1486
+ hidden: z.ZodOptional<z.ZodBoolean>;
1487
+ properties: z.ZodObject<{} & {
1488
+ listId: z.ZodString;
1489
+ heading: z.ZodOptional<z.ZodObject<{
1490
+ text: z.ZodString;
1491
+ href: z.ZodOptional<z.ZodString>;
1492
+ }, "strip", z.ZodTypeAny, {
1493
+ text: string;
1494
+ href?: string | undefined;
1495
+ }, {
1496
+ text: string;
1497
+ href?: string | undefined;
1498
+ }>>;
1499
+ }, "strip", z.ZodTypeAny, {
1500
+ listId: string;
1501
+ heading?: {
1502
+ text: string;
1503
+ href?: string | undefined;
1504
+ } | undefined;
1505
+ }, {
1506
+ listId: string;
1507
+ heading?: {
1508
+ text: string;
1509
+ href?: string | undefined;
1510
+ } | undefined;
1511
+ }>;
1512
+ } & {
1513
+ sliceId: z.ZodString;
1514
+ }, "strip", z.ZodTypeAny, {
1515
+ type: "SparkList";
1516
+ properties: {
1517
+ listId: string;
1518
+ heading?: {
1519
+ text: string;
1520
+ href?: string | undefined;
1521
+ } | undefined;
1522
+ };
1523
+ sliceId: string;
1524
+ hidden?: boolean | undefined;
1525
+ }, {
1526
+ type: "SparkList";
1527
+ properties: {
1528
+ listId: string;
1529
+ heading?: {
1530
+ text: string;
1531
+ href?: string | undefined;
1532
+ } | undefined;
1533
+ };
1534
+ sliceId: string;
1535
+ hidden?: boolean | undefined;
1536
+ }>]>, "many">;
1537
+ } & {
1538
+ type: z.ZodLiteral<"Homepage">;
1539
+ properties: z.ZodObject<{
1540
+ title: z.ZodString;
1541
+ pageId: z.ZodString;
1542
+ } & {
1543
+ homepageListId: z.ZodString;
1544
+ }, "strip", z.ZodTypeAny, {
1545
+ title: string;
1546
+ pageId: string;
1547
+ homepageListId: string;
1548
+ }, {
1549
+ title: string;
1550
+ pageId: string;
1551
+ homepageListId: string;
1552
+ }>;
1553
+ }, "strip", z.ZodTypeAny, {
1554
+ type: "Homepage";
1555
+ properties: {
1556
+ title: string;
1557
+ pageId: string;
1558
+ homepageListId: string;
1559
+ };
1560
+ children: ({
1561
+ type: "HomepageSlice";
1562
+ sliceId: string;
1563
+ hidden?: boolean | undefined;
1564
+ properties?: {
1565
+ heading?: {
1566
+ text: string;
1567
+ href?: string | undefined;
1568
+ } | undefined;
1569
+ } | undefined;
1570
+ } | {
1571
+ type: "FlourishGraphic";
1572
+ properties: {
1573
+ displayBehaviour: "standalone" | "associated";
1574
+ flourishId: string;
1575
+ heading?: {
1576
+ text: string;
1577
+ href?: string | undefined;
1578
+ } | undefined;
1579
+ flourishDescription?: string | undefined;
1580
+ };
1581
+ sliceId: string;
1582
+ hidden?: boolean | undefined;
1583
+ } | {
1584
+ type: "CustomIframe";
1585
+ properties: {
1586
+ displayBehaviour: "standalone" | "associated";
1587
+ iframeSrc: string;
1588
+ heading?: {
1589
+ text: string;
1590
+ href?: string | undefined;
1591
+ } | undefined;
1592
+ };
1593
+ sliceId: string;
1594
+ hidden?: boolean | undefined;
1595
+ } | {
1596
+ type: "Experiment";
1597
+ properties: {
1598
+ experimentId: string;
1599
+ experimentName: string;
1600
+ contentJson: string;
1601
+ heading?: {
1602
+ text: string;
1603
+ href?: string | undefined;
1604
+ } | undefined;
1605
+ };
1606
+ sliceId: string;
1607
+ hidden?: boolean | undefined;
1608
+ } | {
1609
+ type: "SparkList";
1610
+ properties: {
1611
+ listId: string;
1612
+ heading?: {
1613
+ text: string;
1614
+ href?: string | undefined;
1615
+ } | undefined;
1616
+ };
1617
+ sliceId: string;
1618
+ hidden?: boolean | undefined;
1619
+ })[];
1620
+ schemaVersion: number;
1621
+ }, {
1622
+ type: "Homepage";
1623
+ properties: {
1624
+ title: string;
1625
+ pageId: string;
1626
+ homepageListId: string;
1627
+ };
1628
+ children: ({
1629
+ type: "HomepageSlice";
1630
+ sliceId: string;
1631
+ hidden?: boolean | undefined;
1632
+ properties?: {
1633
+ heading?: {
1634
+ text: string;
1635
+ href?: string | undefined;
1636
+ } | undefined;
1637
+ } | undefined;
1638
+ } | {
1639
+ type: "FlourishGraphic";
1640
+ properties: {
1641
+ displayBehaviour: "standalone" | "associated";
1642
+ flourishId: string;
1643
+ heading?: {
1644
+ text: string;
1645
+ href?: string | undefined;
1646
+ } | undefined;
1647
+ flourishDescription?: string | undefined;
1648
+ };
1649
+ sliceId: string;
1650
+ hidden?: boolean | undefined;
1651
+ } | {
1652
+ type: "CustomIframe";
1653
+ properties: {
1654
+ displayBehaviour: "standalone" | "associated";
1655
+ iframeSrc: string;
1656
+ heading?: {
1657
+ text: string;
1658
+ href?: string | undefined;
1659
+ } | undefined;
1660
+ };
1661
+ sliceId: string;
1662
+ hidden?: boolean | undefined;
1663
+ } | {
1664
+ type: "Experiment";
1665
+ properties: {
1666
+ experimentId: string;
1667
+ experimentName: string;
1668
+ contentJson: string;
1669
+ heading?: {
1670
+ text: string;
1671
+ href?: string | undefined;
1672
+ } | undefined;
1673
+ };
1674
+ sliceId: string;
1675
+ hidden?: boolean | undefined;
1676
+ } | {
1677
+ type: "SparkList";
1678
+ properties: {
1679
+ listId: string;
1680
+ heading?: {
1681
+ text: string;
1682
+ href?: string | undefined;
1683
+ } | undefined;
1684
+ };
1685
+ sliceId: string;
1686
+ hidden?: boolean | undefined;
1687
+ })[];
1688
+ schemaVersion: number;
1689
+ }>;
1690
+ export { HomepageStructureOutputSchema }
1691
+ export { HomepageStructureOutputSchema as HomepageStructureOutputSchema_alias_1 }
1692
+
1693
+ /**
1694
+ * Union type for interactive slices (i.e., the ones rendering visual components).
1695
+ * Useful for code that cares specifically about slices with visual/interactive content.
1696
+ */
1697
+ declare type InteractiveSlice = FlourishGraphicSliceType | CustomIframeSliceType;
1698
+ export { InteractiveSlice }
1699
+ export { InteractiveSlice as InteractiveSlice_alias_1 }
1700
+
1701
+ /**
1702
+ * Client for Page structure endpoints
1703
+ */
1704
+ declare class PageClient extends BaseApiClient {
1705
+ getStructure(pageId: string): Promise<PageStructureOutput>;
1706
+ upsertStructure(pageId: string, data: Omit<PageStructureInput, "type">): Promise<PageStructureOutput>;
1707
+ }
1708
+ export { PageClient }
1709
+ export { PageClient as PageClient_alias_1 }
1710
+
1711
+ /** Client-side type for page structure input */
1712
+ declare type PageStructureInput = z.infer<typeof PageStructureInputSchema>;
1713
+ export { PageStructureInput }
1714
+ export { PageStructureInput as PageStructureInput_alias_1 }
1715
+
1716
+ /**
1717
+ * Page structure as submitted by clients.
1718
+ * - `properties`: Metadata about the page
1719
+ * - `children`: Array of slice inputs (each with an optional `sliceId`).
1720
+ */
1721
+ declare const PageStructureInputSchema: z.ZodObject<{
1722
+ properties: z.ZodObject<{
1723
+ title: z.ZodString;
1724
+ pageId: z.ZodString;
1725
+ }, "strip", z.ZodTypeAny, {
1726
+ title: string;
1727
+ pageId: string;
1728
+ }, {
1729
+ title: string;
1730
+ pageId: string;
1731
+ }>;
1732
+ children: z.ZodArray<z.ZodDiscriminatedUnion<"type", readonly [z.ZodObject<{
1733
+ type: z.ZodLiteral<"HomepageSlice">;
1734
+ hidden: z.ZodOptional<z.ZodBoolean>;
1735
+ properties: z.ZodOptional<z.ZodObject<{
1736
+ heading: z.ZodOptional<z.ZodObject<{
1737
+ text: z.ZodString;
1738
+ href: z.ZodOptional<z.ZodString>;
1739
+ }, "strip", z.ZodTypeAny, {
1740
+ text: string;
1741
+ href?: string | undefined;
1742
+ }, {
1743
+ text: string;
1744
+ href?: string | undefined;
1745
+ }>>;
1746
+ }, "strip", z.ZodTypeAny, {
1747
+ heading?: {
1748
+ text: string;
1749
+ href?: string | undefined;
1750
+ } | undefined;
1751
+ }, {
1752
+ heading?: {
1753
+ text: string;
1754
+ href?: string | undefined;
1755
+ } | undefined;
1756
+ }>>;
1757
+ } & {
1758
+ sliceId: z.ZodOptional<z.ZodString>;
1759
+ }, "strip", z.ZodTypeAny, {
1760
+ type: "HomepageSlice";
1761
+ hidden?: boolean | undefined;
1762
+ properties?: {
1763
+ heading?: {
1764
+ text: string;
1765
+ href?: string | undefined;
1766
+ } | undefined;
1767
+ } | undefined;
1768
+ sliceId?: string | undefined;
1769
+ }, {
1770
+ type: "HomepageSlice";
1771
+ hidden?: boolean | undefined;
1772
+ properties?: {
1773
+ heading?: {
1774
+ text: string;
1775
+ href?: string | undefined;
1776
+ } | undefined;
1777
+ } | undefined;
1778
+ sliceId?: string | undefined;
1779
+ }>, z.ZodObject<{
1780
+ type: z.ZodLiteral<"FlourishGraphic">;
1781
+ hidden: z.ZodOptional<z.ZodBoolean>;
1782
+ properties: z.ZodObject<{
1783
+ heading: z.ZodOptional<z.ZodObject<{
1784
+ text: z.ZodString;
1785
+ href: z.ZodOptional<z.ZodString>;
1786
+ }, "strip", z.ZodTypeAny, {
1787
+ text: string;
1788
+ href?: string | undefined;
1789
+ }, {
1790
+ text: string;
1791
+ href?: string | undefined;
1792
+ }>>;
1793
+ } & {
1794
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
1795
+ } & {
1796
+ flourishDescription: z.ZodOptional<z.ZodString>;
1797
+ flourishId: z.ZodString;
1798
+ }, "strip", z.ZodTypeAny, {
1799
+ displayBehaviour: "standalone" | "associated";
1800
+ flourishId: string;
1801
+ heading?: {
1802
+ text: string;
1803
+ href?: string | undefined;
1804
+ } | undefined;
1805
+ flourishDescription?: string | undefined;
1806
+ }, {
1807
+ displayBehaviour: "standalone" | "associated";
1808
+ flourishId: string;
1809
+ heading?: {
1810
+ text: string;
1811
+ href?: string | undefined;
1812
+ } | undefined;
1813
+ flourishDescription?: string | undefined;
1814
+ }>;
1815
+ } & {
1816
+ sliceId: z.ZodOptional<z.ZodString>;
1817
+ }, "strip", z.ZodTypeAny, {
1818
+ type: "FlourishGraphic";
1819
+ properties: {
1820
+ displayBehaviour: "standalone" | "associated";
1821
+ flourishId: string;
1822
+ heading?: {
1823
+ text: string;
1824
+ href?: string | undefined;
1825
+ } | undefined;
1826
+ flourishDescription?: string | undefined;
1827
+ };
1828
+ hidden?: boolean | undefined;
1829
+ sliceId?: string | undefined;
1830
+ }, {
1831
+ type: "FlourishGraphic";
1832
+ properties: {
1833
+ displayBehaviour: "standalone" | "associated";
1834
+ flourishId: string;
1835
+ heading?: {
1836
+ text: string;
1837
+ href?: string | undefined;
1838
+ } | undefined;
1839
+ flourishDescription?: string | undefined;
1840
+ };
1841
+ hidden?: boolean | undefined;
1842
+ sliceId?: string | undefined;
1843
+ }>, z.ZodObject<{
1844
+ type: z.ZodLiteral<"CustomIframe">;
1845
+ hidden: z.ZodOptional<z.ZodBoolean>;
1846
+ properties: z.ZodObject<{
1847
+ heading: z.ZodOptional<z.ZodObject<{
1848
+ text: z.ZodString;
1849
+ href: z.ZodOptional<z.ZodString>;
1850
+ }, "strip", z.ZodTypeAny, {
1851
+ text: string;
1852
+ href?: string | undefined;
1853
+ }, {
1854
+ text: string;
1855
+ href?: string | undefined;
1856
+ }>>;
1857
+ } & {
1858
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
1859
+ } & {
1860
+ iframeSrc: z.ZodString;
1861
+ }, "strip", z.ZodTypeAny, {
1862
+ displayBehaviour: "standalone" | "associated";
1863
+ iframeSrc: string;
1864
+ heading?: {
1865
+ text: string;
1866
+ href?: string | undefined;
1867
+ } | undefined;
1868
+ }, {
1869
+ displayBehaviour: "standalone" | "associated";
1870
+ iframeSrc: string;
1871
+ heading?: {
1872
+ text: string;
1873
+ href?: string | undefined;
1874
+ } | undefined;
1875
+ }>;
1876
+ } & {
1877
+ sliceId: z.ZodOptional<z.ZodString>;
1878
+ }, "strip", z.ZodTypeAny, {
1879
+ type: "CustomIframe";
1880
+ properties: {
1881
+ displayBehaviour: "standalone" | "associated";
1882
+ iframeSrc: string;
1883
+ heading?: {
1884
+ text: string;
1885
+ href?: string | undefined;
1886
+ } | undefined;
1887
+ };
1888
+ hidden?: boolean | undefined;
1889
+ sliceId?: string | undefined;
1890
+ }, {
1891
+ type: "CustomIframe";
1892
+ properties: {
1893
+ displayBehaviour: "standalone" | "associated";
1894
+ iframeSrc: string;
1895
+ heading?: {
1896
+ text: string;
1897
+ href?: string | undefined;
1898
+ } | undefined;
1899
+ };
1900
+ hidden?: boolean | undefined;
1901
+ sliceId?: string | undefined;
1902
+ }>, z.ZodObject<{
1903
+ type: z.ZodLiteral<"Experiment">;
1904
+ hidden: z.ZodOptional<z.ZodBoolean>;
1905
+ properties: z.ZodObject<{
1906
+ heading: z.ZodOptional<z.ZodObject<{
1907
+ text: z.ZodString;
1908
+ href: z.ZodOptional<z.ZodString>;
1909
+ }, "strip", z.ZodTypeAny, {
1910
+ text: string;
1911
+ href?: string | undefined;
1912
+ }, {
1913
+ text: string;
1914
+ href?: string | undefined;
1915
+ }>>;
1916
+ } & {
1917
+ experimentId: z.ZodString;
1918
+ experimentName: z.ZodString;
1919
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
1920
+ }, "strip", z.ZodTypeAny, {
1921
+ experimentId: string;
1922
+ experimentName: string;
1923
+ contentJson: string;
1924
+ heading?: {
1925
+ text: string;
1926
+ href?: string | undefined;
1927
+ } | undefined;
1928
+ }, {
1929
+ experimentId: string;
1930
+ experimentName: string;
1931
+ contentJson: string;
1932
+ heading?: {
1933
+ text: string;
1934
+ href?: string | undefined;
1935
+ } | undefined;
1936
+ }>;
1937
+ } & {
1938
+ sliceId: z.ZodOptional<z.ZodString>;
1939
+ }, "strip", z.ZodTypeAny, {
1940
+ type: "Experiment";
1941
+ properties: {
1942
+ experimentId: string;
1943
+ experimentName: string;
1944
+ contentJson: string;
1945
+ heading?: {
1946
+ text: string;
1947
+ href?: string | undefined;
1948
+ } | undefined;
1949
+ };
1950
+ hidden?: boolean | undefined;
1951
+ sliceId?: string | undefined;
1952
+ }, {
1953
+ type: "Experiment";
1954
+ properties: {
1955
+ experimentId: string;
1956
+ experimentName: string;
1957
+ contentJson: string;
1958
+ heading?: {
1959
+ text: string;
1960
+ href?: string | undefined;
1961
+ } | undefined;
1962
+ };
1963
+ hidden?: boolean | undefined;
1964
+ sliceId?: string | undefined;
1965
+ }>, z.ZodObject<{
1966
+ type: z.ZodLiteral<"SparkList">;
1967
+ hidden: z.ZodOptional<z.ZodBoolean>;
1968
+ properties: z.ZodObject<{} & {
1969
+ listId: z.ZodString;
1970
+ heading: z.ZodOptional<z.ZodObject<{
1971
+ text: z.ZodString;
1972
+ href: z.ZodOptional<z.ZodString>;
1973
+ }, "strip", z.ZodTypeAny, {
1974
+ text: string;
1975
+ href?: string | undefined;
1976
+ }, {
1977
+ text: string;
1978
+ href?: string | undefined;
1979
+ }>>;
1980
+ }, "strip", z.ZodTypeAny, {
1981
+ listId: string;
1982
+ heading?: {
1983
+ text: string;
1984
+ href?: string | undefined;
1985
+ } | undefined;
1986
+ }, {
1987
+ listId: string;
1988
+ heading?: {
1989
+ text: string;
1990
+ href?: string | undefined;
1991
+ } | undefined;
1992
+ }>;
1993
+ } & {
1994
+ sliceId: z.ZodOptional<z.ZodString>;
1995
+ }, "strip", z.ZodTypeAny, {
1996
+ type: "SparkList";
1997
+ properties: {
1998
+ listId: string;
1999
+ heading?: {
2000
+ text: string;
2001
+ href?: string | undefined;
2002
+ } | undefined;
2003
+ };
2004
+ hidden?: boolean | undefined;
2005
+ sliceId?: string | undefined;
2006
+ }, {
2007
+ type: "SparkList";
2008
+ properties: {
2009
+ listId: string;
2010
+ heading?: {
2011
+ text: string;
2012
+ href?: string | undefined;
2013
+ } | undefined;
2014
+ };
2015
+ hidden?: boolean | undefined;
2016
+ sliceId?: string | undefined;
2017
+ }>]>, "many">;
2018
+ }, "strip", z.ZodTypeAny, {
2019
+ properties: {
2020
+ title: string;
2021
+ pageId: string;
2022
+ };
2023
+ children: ({
2024
+ type: "HomepageSlice";
2025
+ hidden?: boolean | undefined;
2026
+ properties?: {
2027
+ heading?: {
2028
+ text: string;
2029
+ href?: string | undefined;
2030
+ } | undefined;
2031
+ } | undefined;
2032
+ sliceId?: string | undefined;
2033
+ } | {
2034
+ type: "FlourishGraphic";
2035
+ properties: {
2036
+ displayBehaviour: "standalone" | "associated";
2037
+ flourishId: string;
2038
+ heading?: {
2039
+ text: string;
2040
+ href?: string | undefined;
2041
+ } | undefined;
2042
+ flourishDescription?: string | undefined;
2043
+ };
2044
+ hidden?: boolean | undefined;
2045
+ sliceId?: string | undefined;
2046
+ } | {
2047
+ type: "CustomIframe";
2048
+ properties: {
2049
+ displayBehaviour: "standalone" | "associated";
2050
+ iframeSrc: string;
2051
+ heading?: {
2052
+ text: string;
2053
+ href?: string | undefined;
2054
+ } | undefined;
2055
+ };
2056
+ hidden?: boolean | undefined;
2057
+ sliceId?: string | undefined;
2058
+ } | {
2059
+ type: "Experiment";
2060
+ properties: {
2061
+ experimentId: string;
2062
+ experimentName: string;
2063
+ contentJson: string;
2064
+ heading?: {
2065
+ text: string;
2066
+ href?: string | undefined;
2067
+ } | undefined;
2068
+ };
2069
+ hidden?: boolean | undefined;
2070
+ sliceId?: string | undefined;
2071
+ } | {
2072
+ type: "SparkList";
2073
+ properties: {
2074
+ listId: string;
2075
+ heading?: {
2076
+ text: string;
2077
+ href?: string | undefined;
2078
+ } | undefined;
2079
+ };
2080
+ hidden?: boolean | undefined;
2081
+ sliceId?: string | undefined;
2082
+ })[];
2083
+ }, {
2084
+ properties: {
2085
+ title: string;
2086
+ pageId: string;
2087
+ };
2088
+ children: ({
2089
+ type: "HomepageSlice";
2090
+ hidden?: boolean | undefined;
2091
+ properties?: {
2092
+ heading?: {
2093
+ text: string;
2094
+ href?: string | undefined;
2095
+ } | undefined;
2096
+ } | undefined;
2097
+ sliceId?: string | undefined;
2098
+ } | {
2099
+ type: "FlourishGraphic";
2100
+ properties: {
2101
+ displayBehaviour: "standalone" | "associated";
2102
+ flourishId: string;
2103
+ heading?: {
2104
+ text: string;
2105
+ href?: string | undefined;
2106
+ } | undefined;
2107
+ flourishDescription?: string | undefined;
2108
+ };
2109
+ hidden?: boolean | undefined;
2110
+ sliceId?: string | undefined;
2111
+ } | {
2112
+ type: "CustomIframe";
2113
+ properties: {
2114
+ displayBehaviour: "standalone" | "associated";
2115
+ iframeSrc: string;
2116
+ heading?: {
2117
+ text: string;
2118
+ href?: string | undefined;
2119
+ } | undefined;
2120
+ };
2121
+ hidden?: boolean | undefined;
2122
+ sliceId?: string | undefined;
2123
+ } | {
2124
+ type: "Experiment";
2125
+ properties: {
2126
+ experimentId: string;
2127
+ experimentName: string;
2128
+ contentJson: string;
2129
+ heading?: {
2130
+ text: string;
2131
+ href?: string | undefined;
2132
+ } | undefined;
2133
+ };
2134
+ hidden?: boolean | undefined;
2135
+ sliceId?: string | undefined;
2136
+ } | {
2137
+ type: "SparkList";
2138
+ properties: {
2139
+ listId: string;
2140
+ heading?: {
2141
+ text: string;
2142
+ href?: string | undefined;
2143
+ } | undefined;
2144
+ };
2145
+ hidden?: boolean | undefined;
2146
+ sliceId?: string | undefined;
2147
+ })[];
2148
+ }>;
2149
+ export { PageStructureInputSchema }
2150
+ export { PageStructureInputSchema as PageStructureInputSchema_alias_1 }
2151
+
2152
+ /** Server-side type for page structure output */
2153
+ declare type PageStructureOutput = z.infer<typeof PageStructureOutputSchema>;
2154
+ export { PageStructureOutput }
2155
+ export { PageStructureOutput as PageStructureOutput_alias_1 }
2156
+
2157
+ /**
2158
+ * Page structure as stored or returned by the server.
2159
+ */
2160
+ declare const PageStructureOutputSchema: z.ZodObject<{
2161
+ type: z.ZodLiteral<"Page">;
2162
+ schemaVersion: z.ZodNumber;
2163
+ properties: z.ZodObject<{
2164
+ title: z.ZodString;
2165
+ pageId: z.ZodString;
2166
+ }, "strip", z.ZodTypeAny, {
2167
+ title: string;
2168
+ pageId: string;
2169
+ }, {
2170
+ title: string;
2171
+ pageId: string;
2172
+ }>;
2173
+ children: z.ZodArray<z.ZodDiscriminatedUnion<"type", readonly [z.ZodObject<{
2174
+ type: z.ZodLiteral<"HomepageSlice">;
2175
+ hidden: z.ZodOptional<z.ZodBoolean>;
2176
+ properties: z.ZodOptional<z.ZodObject<{
2177
+ heading: z.ZodOptional<z.ZodObject<{
2178
+ text: z.ZodString;
2179
+ href: z.ZodOptional<z.ZodString>;
2180
+ }, "strip", z.ZodTypeAny, {
2181
+ text: string;
2182
+ href?: string | undefined;
2183
+ }, {
2184
+ text: string;
2185
+ href?: string | undefined;
2186
+ }>>;
2187
+ }, "strip", z.ZodTypeAny, {
2188
+ heading?: {
2189
+ text: string;
2190
+ href?: string | undefined;
2191
+ } | undefined;
2192
+ }, {
2193
+ heading?: {
2194
+ text: string;
2195
+ href?: string | undefined;
2196
+ } | undefined;
2197
+ }>>;
2198
+ } & {
2199
+ sliceId: z.ZodString;
2200
+ }, "strip", z.ZodTypeAny, {
2201
+ type: "HomepageSlice";
2202
+ sliceId: string;
2203
+ hidden?: boolean | undefined;
2204
+ properties?: {
2205
+ heading?: {
2206
+ text: string;
2207
+ href?: string | undefined;
2208
+ } | undefined;
2209
+ } | undefined;
2210
+ }, {
2211
+ type: "HomepageSlice";
2212
+ sliceId: string;
2213
+ hidden?: boolean | undefined;
2214
+ properties?: {
2215
+ heading?: {
2216
+ text: string;
2217
+ href?: string | undefined;
2218
+ } | undefined;
2219
+ } | undefined;
2220
+ }>, z.ZodObject<{
2221
+ type: z.ZodLiteral<"FlourishGraphic">;
2222
+ hidden: z.ZodOptional<z.ZodBoolean>;
2223
+ properties: z.ZodObject<{
2224
+ heading: z.ZodOptional<z.ZodObject<{
2225
+ text: z.ZodString;
2226
+ href: z.ZodOptional<z.ZodString>;
2227
+ }, "strip", z.ZodTypeAny, {
2228
+ text: string;
2229
+ href?: string | undefined;
2230
+ }, {
2231
+ text: string;
2232
+ href?: string | undefined;
2233
+ }>>;
2234
+ } & {
2235
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
2236
+ } & {
2237
+ flourishDescription: z.ZodOptional<z.ZodString>;
2238
+ flourishId: z.ZodString;
2239
+ }, "strip", z.ZodTypeAny, {
2240
+ displayBehaviour: "standalone" | "associated";
2241
+ flourishId: string;
2242
+ heading?: {
2243
+ text: string;
2244
+ href?: string | undefined;
2245
+ } | undefined;
2246
+ flourishDescription?: string | undefined;
2247
+ }, {
2248
+ displayBehaviour: "standalone" | "associated";
2249
+ flourishId: string;
2250
+ heading?: {
2251
+ text: string;
2252
+ href?: string | undefined;
2253
+ } | undefined;
2254
+ flourishDescription?: string | undefined;
2255
+ }>;
2256
+ } & {
2257
+ sliceId: z.ZodString;
2258
+ }, "strip", z.ZodTypeAny, {
2259
+ type: "FlourishGraphic";
2260
+ properties: {
2261
+ displayBehaviour: "standalone" | "associated";
2262
+ flourishId: string;
2263
+ heading?: {
2264
+ text: string;
2265
+ href?: string | undefined;
2266
+ } | undefined;
2267
+ flourishDescription?: string | undefined;
2268
+ };
2269
+ sliceId: string;
2270
+ hidden?: boolean | undefined;
2271
+ }, {
2272
+ type: "FlourishGraphic";
2273
+ properties: {
2274
+ displayBehaviour: "standalone" | "associated";
2275
+ flourishId: string;
2276
+ heading?: {
2277
+ text: string;
2278
+ href?: string | undefined;
2279
+ } | undefined;
2280
+ flourishDescription?: string | undefined;
2281
+ };
2282
+ sliceId: string;
2283
+ hidden?: boolean | undefined;
2284
+ }>, z.ZodObject<{
2285
+ type: z.ZodLiteral<"CustomIframe">;
2286
+ hidden: z.ZodOptional<z.ZodBoolean>;
2287
+ properties: z.ZodObject<{
2288
+ heading: z.ZodOptional<z.ZodObject<{
2289
+ text: z.ZodString;
2290
+ href: z.ZodOptional<z.ZodString>;
2291
+ }, "strip", z.ZodTypeAny, {
2292
+ text: string;
2293
+ href?: string | undefined;
2294
+ }, {
2295
+ text: string;
2296
+ href?: string | undefined;
2297
+ }>>;
2298
+ } & {
2299
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
2300
+ } & {
2301
+ iframeSrc: z.ZodString;
2302
+ }, "strip", z.ZodTypeAny, {
2303
+ displayBehaviour: "standalone" | "associated";
2304
+ iframeSrc: string;
2305
+ heading?: {
2306
+ text: string;
2307
+ href?: string | undefined;
2308
+ } | undefined;
2309
+ }, {
2310
+ displayBehaviour: "standalone" | "associated";
2311
+ iframeSrc: string;
2312
+ heading?: {
2313
+ text: string;
2314
+ href?: string | undefined;
2315
+ } | undefined;
2316
+ }>;
2317
+ } & {
2318
+ sliceId: z.ZodString;
2319
+ }, "strip", z.ZodTypeAny, {
2320
+ type: "CustomIframe";
2321
+ properties: {
2322
+ displayBehaviour: "standalone" | "associated";
2323
+ iframeSrc: string;
2324
+ heading?: {
2325
+ text: string;
2326
+ href?: string | undefined;
2327
+ } | undefined;
2328
+ };
2329
+ sliceId: string;
2330
+ hidden?: boolean | undefined;
2331
+ }, {
2332
+ type: "CustomIframe";
2333
+ properties: {
2334
+ displayBehaviour: "standalone" | "associated";
2335
+ iframeSrc: string;
2336
+ heading?: {
2337
+ text: string;
2338
+ href?: string | undefined;
2339
+ } | undefined;
2340
+ };
2341
+ sliceId: string;
2342
+ hidden?: boolean | undefined;
2343
+ }>, z.ZodObject<{
2344
+ type: z.ZodLiteral<"Experiment">;
2345
+ hidden: z.ZodOptional<z.ZodBoolean>;
2346
+ properties: z.ZodObject<{
2347
+ heading: z.ZodOptional<z.ZodObject<{
2348
+ text: z.ZodString;
2349
+ href: z.ZodOptional<z.ZodString>;
2350
+ }, "strip", z.ZodTypeAny, {
2351
+ text: string;
2352
+ href?: string | undefined;
2353
+ }, {
2354
+ text: string;
2355
+ href?: string | undefined;
2356
+ }>>;
2357
+ } & {
2358
+ experimentId: z.ZodString;
2359
+ experimentName: z.ZodString;
2360
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
2361
+ }, "strip", z.ZodTypeAny, {
2362
+ experimentId: string;
2363
+ experimentName: string;
2364
+ contentJson: string;
2365
+ heading?: {
2366
+ text: string;
2367
+ href?: string | undefined;
2368
+ } | undefined;
2369
+ }, {
2370
+ experimentId: string;
2371
+ experimentName: string;
2372
+ contentJson: string;
2373
+ heading?: {
2374
+ text: string;
2375
+ href?: string | undefined;
2376
+ } | undefined;
2377
+ }>;
2378
+ } & {
2379
+ sliceId: z.ZodString;
2380
+ }, "strip", z.ZodTypeAny, {
2381
+ type: "Experiment";
2382
+ properties: {
2383
+ experimentId: string;
2384
+ experimentName: string;
2385
+ contentJson: string;
2386
+ heading?: {
2387
+ text: string;
2388
+ href?: string | undefined;
2389
+ } | undefined;
2390
+ };
2391
+ sliceId: string;
2392
+ hidden?: boolean | undefined;
2393
+ }, {
2394
+ type: "Experiment";
2395
+ properties: {
2396
+ experimentId: string;
2397
+ experimentName: string;
2398
+ contentJson: string;
2399
+ heading?: {
2400
+ text: string;
2401
+ href?: string | undefined;
2402
+ } | undefined;
2403
+ };
2404
+ sliceId: string;
2405
+ hidden?: boolean | undefined;
2406
+ }>, z.ZodObject<{
2407
+ type: z.ZodLiteral<"SparkList">;
2408
+ hidden: z.ZodOptional<z.ZodBoolean>;
2409
+ properties: z.ZodObject<{} & {
2410
+ listId: z.ZodString;
2411
+ heading: z.ZodOptional<z.ZodObject<{
2412
+ text: z.ZodString;
2413
+ href: z.ZodOptional<z.ZodString>;
2414
+ }, "strip", z.ZodTypeAny, {
2415
+ text: string;
2416
+ href?: string | undefined;
2417
+ }, {
2418
+ text: string;
2419
+ href?: string | undefined;
2420
+ }>>;
2421
+ }, "strip", z.ZodTypeAny, {
2422
+ listId: string;
2423
+ heading?: {
2424
+ text: string;
2425
+ href?: string | undefined;
2426
+ } | undefined;
2427
+ }, {
2428
+ listId: string;
2429
+ heading?: {
2430
+ text: string;
2431
+ href?: string | undefined;
2432
+ } | undefined;
2433
+ }>;
2434
+ } & {
2435
+ sliceId: z.ZodString;
2436
+ }, "strip", z.ZodTypeAny, {
2437
+ type: "SparkList";
2438
+ properties: {
2439
+ listId: string;
2440
+ heading?: {
2441
+ text: string;
2442
+ href?: string | undefined;
2443
+ } | undefined;
2444
+ };
2445
+ sliceId: string;
2446
+ hidden?: boolean | undefined;
2447
+ }, {
2448
+ type: "SparkList";
2449
+ properties: {
2450
+ listId: string;
2451
+ heading?: {
2452
+ text: string;
2453
+ href?: string | undefined;
2454
+ } | undefined;
2455
+ };
2456
+ sliceId: string;
2457
+ hidden?: boolean | undefined;
2458
+ }>]>, "many">;
2459
+ }, "strip", z.ZodTypeAny, {
2460
+ type: "Page";
2461
+ properties: {
2462
+ title: string;
2463
+ pageId: string;
2464
+ };
2465
+ children: ({
2466
+ type: "HomepageSlice";
2467
+ sliceId: string;
2468
+ hidden?: boolean | undefined;
2469
+ properties?: {
2470
+ heading?: {
2471
+ text: string;
2472
+ href?: string | undefined;
2473
+ } | undefined;
2474
+ } | undefined;
2475
+ } | {
2476
+ type: "FlourishGraphic";
2477
+ properties: {
2478
+ displayBehaviour: "standalone" | "associated";
2479
+ flourishId: string;
2480
+ heading?: {
2481
+ text: string;
2482
+ href?: string | undefined;
2483
+ } | undefined;
2484
+ flourishDescription?: string | undefined;
2485
+ };
2486
+ sliceId: string;
2487
+ hidden?: boolean | undefined;
2488
+ } | {
2489
+ type: "CustomIframe";
2490
+ properties: {
2491
+ displayBehaviour: "standalone" | "associated";
2492
+ iframeSrc: string;
2493
+ heading?: {
2494
+ text: string;
2495
+ href?: string | undefined;
2496
+ } | undefined;
2497
+ };
2498
+ sliceId: string;
2499
+ hidden?: boolean | undefined;
2500
+ } | {
2501
+ type: "Experiment";
2502
+ properties: {
2503
+ experimentId: string;
2504
+ experimentName: string;
2505
+ contentJson: string;
2506
+ heading?: {
2507
+ text: string;
2508
+ href?: string | undefined;
2509
+ } | undefined;
2510
+ };
2511
+ sliceId: string;
2512
+ hidden?: boolean | undefined;
2513
+ } | {
2514
+ type: "SparkList";
2515
+ properties: {
2516
+ listId: string;
2517
+ heading?: {
2518
+ text: string;
2519
+ href?: string | undefined;
2520
+ } | undefined;
2521
+ };
2522
+ sliceId: string;
2523
+ hidden?: boolean | undefined;
2524
+ })[];
2525
+ schemaVersion: number;
2526
+ }, {
2527
+ type: "Page";
2528
+ properties: {
2529
+ title: string;
2530
+ pageId: string;
2531
+ };
2532
+ children: ({
2533
+ type: "HomepageSlice";
2534
+ sliceId: string;
2535
+ hidden?: boolean | undefined;
2536
+ properties?: {
2537
+ heading?: {
2538
+ text: string;
2539
+ href?: string | undefined;
2540
+ } | undefined;
2541
+ } | undefined;
2542
+ } | {
2543
+ type: "FlourishGraphic";
2544
+ properties: {
2545
+ displayBehaviour: "standalone" | "associated";
2546
+ flourishId: string;
2547
+ heading?: {
2548
+ text: string;
2549
+ href?: string | undefined;
2550
+ } | undefined;
2551
+ flourishDescription?: string | undefined;
2552
+ };
2553
+ sliceId: string;
2554
+ hidden?: boolean | undefined;
2555
+ } | {
2556
+ type: "CustomIframe";
2557
+ properties: {
2558
+ displayBehaviour: "standalone" | "associated";
2559
+ iframeSrc: string;
2560
+ heading?: {
2561
+ text: string;
2562
+ href?: string | undefined;
2563
+ } | undefined;
2564
+ };
2565
+ sliceId: string;
2566
+ hidden?: boolean | undefined;
2567
+ } | {
2568
+ type: "Experiment";
2569
+ properties: {
2570
+ experimentId: string;
2571
+ experimentName: string;
2572
+ contentJson: string;
2573
+ heading?: {
2574
+ text: string;
2575
+ href?: string | undefined;
2576
+ } | undefined;
2577
+ };
2578
+ sliceId: string;
2579
+ hidden?: boolean | undefined;
2580
+ } | {
2581
+ type: "SparkList";
2582
+ properties: {
2583
+ listId: string;
2584
+ heading?: {
2585
+ text: string;
2586
+ href?: string | undefined;
2587
+ } | undefined;
2588
+ };
2589
+ sliceId: string;
2590
+ hidden?: boolean | undefined;
2591
+ })[];
2592
+ schemaVersion: number;
2593
+ }>;
2594
+ export { PageStructureOutputSchema }
2595
+ export { PageStructureOutputSchema as PageStructureOutputSchema_alias_1 }
2596
+
2597
+ /** Union of all possible slice outputs for type-checking convenience */
2598
+ declare type Slice = z.infer<typeof SliceApiOutputSchema>;
2599
+ export { Slice }
2600
+ export { Slice as Slice_alias_1 }
2601
+
2602
+ /**
2603
+ * All possible slice inputs for the Page API.
2604
+ * This discriminated union allows Zod to pick the correct schema based on the `type` field.
2605
+ */
2606
+ export declare const SliceApiInputSchema: z.ZodDiscriminatedUnion<"type", readonly [z.ZodObject<{
2607
+ type: z.ZodLiteral<"HomepageSlice">;
2608
+ hidden: z.ZodOptional<z.ZodBoolean>;
2609
+ properties: z.ZodOptional<z.ZodObject<{
2610
+ heading: z.ZodOptional<z.ZodObject<{
2611
+ text: z.ZodString;
2612
+ href: z.ZodOptional<z.ZodString>;
2613
+ }, "strip", z.ZodTypeAny, {
2614
+ text: string;
2615
+ href?: string | undefined;
2616
+ }, {
2617
+ text: string;
2618
+ href?: string | undefined;
2619
+ }>>;
2620
+ }, "strip", z.ZodTypeAny, {
2621
+ heading?: {
2622
+ text: string;
2623
+ href?: string | undefined;
2624
+ } | undefined;
2625
+ }, {
2626
+ heading?: {
2627
+ text: string;
2628
+ href?: string | undefined;
2629
+ } | undefined;
2630
+ }>>;
2631
+ } & {
2632
+ sliceId: z.ZodOptional<z.ZodString>;
2633
+ }, "strip", z.ZodTypeAny, {
2634
+ type: "HomepageSlice";
2635
+ hidden?: boolean | undefined;
2636
+ properties?: {
2637
+ heading?: {
2638
+ text: string;
2639
+ href?: string | undefined;
2640
+ } | undefined;
2641
+ } | undefined;
2642
+ sliceId?: string | undefined;
2643
+ }, {
2644
+ type: "HomepageSlice";
2645
+ hidden?: boolean | undefined;
2646
+ properties?: {
2647
+ heading?: {
2648
+ text: string;
2649
+ href?: string | undefined;
2650
+ } | undefined;
2651
+ } | undefined;
2652
+ sliceId?: string | undefined;
2653
+ }>, z.ZodObject<{
2654
+ type: z.ZodLiteral<"FlourishGraphic">;
2655
+ hidden: z.ZodOptional<z.ZodBoolean>;
2656
+ properties: z.ZodObject<{
2657
+ heading: z.ZodOptional<z.ZodObject<{
2658
+ text: z.ZodString;
2659
+ href: z.ZodOptional<z.ZodString>;
2660
+ }, "strip", z.ZodTypeAny, {
2661
+ text: string;
2662
+ href?: string | undefined;
2663
+ }, {
2664
+ text: string;
2665
+ href?: string | undefined;
2666
+ }>>;
2667
+ } & {
2668
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
2669
+ } & {
2670
+ flourishDescription: z.ZodOptional<z.ZodString>;
2671
+ flourishId: z.ZodString;
2672
+ }, "strip", z.ZodTypeAny, {
2673
+ displayBehaviour: "standalone" | "associated";
2674
+ flourishId: string;
2675
+ heading?: {
2676
+ text: string;
2677
+ href?: string | undefined;
2678
+ } | undefined;
2679
+ flourishDescription?: string | undefined;
2680
+ }, {
2681
+ displayBehaviour: "standalone" | "associated";
2682
+ flourishId: string;
2683
+ heading?: {
2684
+ text: string;
2685
+ href?: string | undefined;
2686
+ } | undefined;
2687
+ flourishDescription?: string | undefined;
2688
+ }>;
2689
+ } & {
2690
+ sliceId: z.ZodOptional<z.ZodString>;
2691
+ }, "strip", z.ZodTypeAny, {
2692
+ type: "FlourishGraphic";
2693
+ properties: {
2694
+ displayBehaviour: "standalone" | "associated";
2695
+ flourishId: string;
2696
+ heading?: {
2697
+ text: string;
2698
+ href?: string | undefined;
2699
+ } | undefined;
2700
+ flourishDescription?: string | undefined;
2701
+ };
2702
+ hidden?: boolean | undefined;
2703
+ sliceId?: string | undefined;
2704
+ }, {
2705
+ type: "FlourishGraphic";
2706
+ properties: {
2707
+ displayBehaviour: "standalone" | "associated";
2708
+ flourishId: string;
2709
+ heading?: {
2710
+ text: string;
2711
+ href?: string | undefined;
2712
+ } | undefined;
2713
+ flourishDescription?: string | undefined;
2714
+ };
2715
+ hidden?: boolean | undefined;
2716
+ sliceId?: string | undefined;
2717
+ }>, z.ZodObject<{
2718
+ type: z.ZodLiteral<"CustomIframe">;
2719
+ hidden: z.ZodOptional<z.ZodBoolean>;
2720
+ properties: z.ZodObject<{
2721
+ heading: z.ZodOptional<z.ZodObject<{
2722
+ text: z.ZodString;
2723
+ href: z.ZodOptional<z.ZodString>;
2724
+ }, "strip", z.ZodTypeAny, {
2725
+ text: string;
2726
+ href?: string | undefined;
2727
+ }, {
2728
+ text: string;
2729
+ href?: string | undefined;
2730
+ }>>;
2731
+ } & {
2732
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
2733
+ } & {
2734
+ iframeSrc: z.ZodString;
2735
+ }, "strip", z.ZodTypeAny, {
2736
+ displayBehaviour: "standalone" | "associated";
2737
+ iframeSrc: string;
2738
+ heading?: {
2739
+ text: string;
2740
+ href?: string | undefined;
2741
+ } | undefined;
2742
+ }, {
2743
+ displayBehaviour: "standalone" | "associated";
2744
+ iframeSrc: string;
2745
+ heading?: {
2746
+ text: string;
2747
+ href?: string | undefined;
2748
+ } | undefined;
2749
+ }>;
2750
+ } & {
2751
+ sliceId: z.ZodOptional<z.ZodString>;
2752
+ }, "strip", z.ZodTypeAny, {
2753
+ type: "CustomIframe";
2754
+ properties: {
2755
+ displayBehaviour: "standalone" | "associated";
2756
+ iframeSrc: string;
2757
+ heading?: {
2758
+ text: string;
2759
+ href?: string | undefined;
2760
+ } | undefined;
2761
+ };
2762
+ hidden?: boolean | undefined;
2763
+ sliceId?: string | undefined;
2764
+ }, {
2765
+ type: "CustomIframe";
2766
+ properties: {
2767
+ displayBehaviour: "standalone" | "associated";
2768
+ iframeSrc: string;
2769
+ heading?: {
2770
+ text: string;
2771
+ href?: string | undefined;
2772
+ } | undefined;
2773
+ };
2774
+ hidden?: boolean | undefined;
2775
+ sliceId?: string | undefined;
2776
+ }>, z.ZodObject<{
2777
+ type: z.ZodLiteral<"Experiment">;
2778
+ hidden: z.ZodOptional<z.ZodBoolean>;
2779
+ properties: z.ZodObject<{
2780
+ heading: z.ZodOptional<z.ZodObject<{
2781
+ text: z.ZodString;
2782
+ href: z.ZodOptional<z.ZodString>;
2783
+ }, "strip", z.ZodTypeAny, {
2784
+ text: string;
2785
+ href?: string | undefined;
2786
+ }, {
2787
+ text: string;
2788
+ href?: string | undefined;
2789
+ }>>;
2790
+ } & {
2791
+ experimentId: z.ZodString;
2792
+ experimentName: z.ZodString;
2793
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
2794
+ }, "strip", z.ZodTypeAny, {
2795
+ experimentId: string;
2796
+ experimentName: string;
2797
+ contentJson: string;
2798
+ heading?: {
2799
+ text: string;
2800
+ href?: string | undefined;
2801
+ } | undefined;
2802
+ }, {
2803
+ experimentId: string;
2804
+ experimentName: string;
2805
+ contentJson: string;
2806
+ heading?: {
2807
+ text: string;
2808
+ href?: string | undefined;
2809
+ } | undefined;
2810
+ }>;
2811
+ } & {
2812
+ sliceId: z.ZodOptional<z.ZodString>;
2813
+ }, "strip", z.ZodTypeAny, {
2814
+ type: "Experiment";
2815
+ properties: {
2816
+ experimentId: string;
2817
+ experimentName: string;
2818
+ contentJson: string;
2819
+ heading?: {
2820
+ text: string;
2821
+ href?: string | undefined;
2822
+ } | undefined;
2823
+ };
2824
+ hidden?: boolean | undefined;
2825
+ sliceId?: string | undefined;
2826
+ }, {
2827
+ type: "Experiment";
2828
+ properties: {
2829
+ experimentId: string;
2830
+ experimentName: string;
2831
+ contentJson: string;
2832
+ heading?: {
2833
+ text: string;
2834
+ href?: string | undefined;
2835
+ } | undefined;
2836
+ };
2837
+ hidden?: boolean | undefined;
2838
+ sliceId?: string | undefined;
2839
+ }>, z.ZodObject<{
2840
+ type: z.ZodLiteral<"SparkList">;
2841
+ hidden: z.ZodOptional<z.ZodBoolean>;
2842
+ properties: z.ZodObject<{} & {
2843
+ listId: z.ZodString;
2844
+ heading: z.ZodOptional<z.ZodObject<{
2845
+ text: z.ZodString;
2846
+ href: z.ZodOptional<z.ZodString>;
2847
+ }, "strip", z.ZodTypeAny, {
2848
+ text: string;
2849
+ href?: string | undefined;
2850
+ }, {
2851
+ text: string;
2852
+ href?: string | undefined;
2853
+ }>>;
2854
+ }, "strip", z.ZodTypeAny, {
2855
+ listId: string;
2856
+ heading?: {
2857
+ text: string;
2858
+ href?: string | undefined;
2859
+ } | undefined;
2860
+ }, {
2861
+ listId: string;
2862
+ heading?: {
2863
+ text: string;
2864
+ href?: string | undefined;
2865
+ } | undefined;
2866
+ }>;
2867
+ } & {
2868
+ sliceId: z.ZodOptional<z.ZodString>;
2869
+ }, "strip", z.ZodTypeAny, {
2870
+ type: "SparkList";
2871
+ properties: {
2872
+ listId: string;
2873
+ heading?: {
2874
+ text: string;
2875
+ href?: string | undefined;
2876
+ } | undefined;
2877
+ };
2878
+ hidden?: boolean | undefined;
2879
+ sliceId?: string | undefined;
2880
+ }, {
2881
+ type: "SparkList";
2882
+ properties: {
2883
+ listId: string;
2884
+ heading?: {
2885
+ text: string;
2886
+ href?: string | undefined;
2887
+ } | undefined;
2888
+ };
2889
+ hidden?: boolean | undefined;
2890
+ sliceId?: string | undefined;
2891
+ }>]>;
2892
+
2893
+ /**
2894
+ * All possible slice outputs for the Page API.
2895
+ * The same discriminated union but with each slice requiring `sliceId`.
2896
+ */
2897
+ export declare const SliceApiOutputSchema: z.ZodDiscriminatedUnion<"type", readonly [z.ZodObject<{
2898
+ type: z.ZodLiteral<"HomepageSlice">;
2899
+ hidden: z.ZodOptional<z.ZodBoolean>;
2900
+ properties: z.ZodOptional<z.ZodObject<{
2901
+ heading: z.ZodOptional<z.ZodObject<{
2902
+ text: z.ZodString;
2903
+ href: z.ZodOptional<z.ZodString>;
2904
+ }, "strip", z.ZodTypeAny, {
2905
+ text: string;
2906
+ href?: string | undefined;
2907
+ }, {
2908
+ text: string;
2909
+ href?: string | undefined;
2910
+ }>>;
2911
+ }, "strip", z.ZodTypeAny, {
2912
+ heading?: {
2913
+ text: string;
2914
+ href?: string | undefined;
2915
+ } | undefined;
2916
+ }, {
2917
+ heading?: {
2918
+ text: string;
2919
+ href?: string | undefined;
2920
+ } | undefined;
2921
+ }>>;
2922
+ } & {
2923
+ sliceId: z.ZodString;
2924
+ }, "strip", z.ZodTypeAny, {
2925
+ type: "HomepageSlice";
2926
+ sliceId: string;
2927
+ hidden?: boolean | undefined;
2928
+ properties?: {
2929
+ heading?: {
2930
+ text: string;
2931
+ href?: string | undefined;
2932
+ } | undefined;
2933
+ } | undefined;
2934
+ }, {
2935
+ type: "HomepageSlice";
2936
+ sliceId: string;
2937
+ hidden?: boolean | undefined;
2938
+ properties?: {
2939
+ heading?: {
2940
+ text: string;
2941
+ href?: string | undefined;
2942
+ } | undefined;
2943
+ } | undefined;
2944
+ }>, z.ZodObject<{
2945
+ type: z.ZodLiteral<"FlourishGraphic">;
2946
+ hidden: z.ZodOptional<z.ZodBoolean>;
2947
+ properties: z.ZodObject<{
2948
+ heading: z.ZodOptional<z.ZodObject<{
2949
+ text: z.ZodString;
2950
+ href: z.ZodOptional<z.ZodString>;
2951
+ }, "strip", z.ZodTypeAny, {
2952
+ text: string;
2953
+ href?: string | undefined;
2954
+ }, {
2955
+ text: string;
2956
+ href?: string | undefined;
2957
+ }>>;
2958
+ } & {
2959
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
2960
+ } & {
2961
+ flourishDescription: z.ZodOptional<z.ZodString>;
2962
+ flourishId: z.ZodString;
2963
+ }, "strip", z.ZodTypeAny, {
2964
+ displayBehaviour: "standalone" | "associated";
2965
+ flourishId: string;
2966
+ heading?: {
2967
+ text: string;
2968
+ href?: string | undefined;
2969
+ } | undefined;
2970
+ flourishDescription?: string | undefined;
2971
+ }, {
2972
+ displayBehaviour: "standalone" | "associated";
2973
+ flourishId: string;
2974
+ heading?: {
2975
+ text: string;
2976
+ href?: string | undefined;
2977
+ } | undefined;
2978
+ flourishDescription?: string | undefined;
2979
+ }>;
2980
+ } & {
2981
+ sliceId: z.ZodString;
2982
+ }, "strip", z.ZodTypeAny, {
2983
+ type: "FlourishGraphic";
2984
+ properties: {
2985
+ displayBehaviour: "standalone" | "associated";
2986
+ flourishId: string;
2987
+ heading?: {
2988
+ text: string;
2989
+ href?: string | undefined;
2990
+ } | undefined;
2991
+ flourishDescription?: string | undefined;
2992
+ };
2993
+ sliceId: string;
2994
+ hidden?: boolean | undefined;
2995
+ }, {
2996
+ type: "FlourishGraphic";
2997
+ properties: {
2998
+ displayBehaviour: "standalone" | "associated";
2999
+ flourishId: string;
3000
+ heading?: {
3001
+ text: string;
3002
+ href?: string | undefined;
3003
+ } | undefined;
3004
+ flourishDescription?: string | undefined;
3005
+ };
3006
+ sliceId: string;
3007
+ hidden?: boolean | undefined;
3008
+ }>, z.ZodObject<{
3009
+ type: z.ZodLiteral<"CustomIframe">;
3010
+ hidden: z.ZodOptional<z.ZodBoolean>;
3011
+ properties: z.ZodObject<{
3012
+ heading: z.ZodOptional<z.ZodObject<{
3013
+ text: z.ZodString;
3014
+ href: z.ZodOptional<z.ZodString>;
3015
+ }, "strip", z.ZodTypeAny, {
3016
+ text: string;
3017
+ href?: string | undefined;
3018
+ }, {
3019
+ text: string;
3020
+ href?: string | undefined;
3021
+ }>>;
3022
+ } & {
3023
+ displayBehaviour: z.ZodEnum<["standalone", "associated"]>;
3024
+ } & {
3025
+ iframeSrc: z.ZodString;
3026
+ }, "strip", z.ZodTypeAny, {
3027
+ displayBehaviour: "standalone" | "associated";
3028
+ iframeSrc: string;
3029
+ heading?: {
3030
+ text: string;
3031
+ href?: string | undefined;
3032
+ } | undefined;
3033
+ }, {
3034
+ displayBehaviour: "standalone" | "associated";
3035
+ iframeSrc: string;
3036
+ heading?: {
3037
+ text: string;
3038
+ href?: string | undefined;
3039
+ } | undefined;
3040
+ }>;
3041
+ } & {
3042
+ sliceId: z.ZodString;
3043
+ }, "strip", z.ZodTypeAny, {
3044
+ type: "CustomIframe";
3045
+ properties: {
3046
+ displayBehaviour: "standalone" | "associated";
3047
+ iframeSrc: string;
3048
+ heading?: {
3049
+ text: string;
3050
+ href?: string | undefined;
3051
+ } | undefined;
3052
+ };
3053
+ sliceId: string;
3054
+ hidden?: boolean | undefined;
3055
+ }, {
3056
+ type: "CustomIframe";
3057
+ properties: {
3058
+ displayBehaviour: "standalone" | "associated";
3059
+ iframeSrc: string;
3060
+ heading?: {
3061
+ text: string;
3062
+ href?: string | undefined;
3063
+ } | undefined;
3064
+ };
3065
+ sliceId: string;
3066
+ hidden?: boolean | undefined;
3067
+ }>, z.ZodObject<{
3068
+ type: z.ZodLiteral<"Experiment">;
3069
+ hidden: z.ZodOptional<z.ZodBoolean>;
3070
+ properties: z.ZodObject<{
3071
+ heading: z.ZodOptional<z.ZodObject<{
3072
+ text: z.ZodString;
3073
+ href: z.ZodOptional<z.ZodString>;
3074
+ }, "strip", z.ZodTypeAny, {
3075
+ text: string;
3076
+ href?: string | undefined;
3077
+ }, {
3078
+ text: string;
3079
+ href?: string | undefined;
3080
+ }>>;
3081
+ } & {
3082
+ experimentId: z.ZodString;
3083
+ experimentName: z.ZodString;
3084
+ contentJson: z.ZodEffects<z.ZodString, string, string>;
3085
+ }, "strip", z.ZodTypeAny, {
3086
+ experimentId: string;
3087
+ experimentName: string;
3088
+ contentJson: string;
3089
+ heading?: {
3090
+ text: string;
3091
+ href?: string | undefined;
3092
+ } | undefined;
3093
+ }, {
3094
+ experimentId: string;
3095
+ experimentName: string;
3096
+ contentJson: string;
3097
+ heading?: {
3098
+ text: string;
3099
+ href?: string | undefined;
3100
+ } | undefined;
3101
+ }>;
3102
+ } & {
3103
+ sliceId: z.ZodString;
3104
+ }, "strip", z.ZodTypeAny, {
3105
+ type: "Experiment";
3106
+ properties: {
3107
+ experimentId: string;
3108
+ experimentName: string;
3109
+ contentJson: string;
3110
+ heading?: {
3111
+ text: string;
3112
+ href?: string | undefined;
3113
+ } | undefined;
3114
+ };
3115
+ sliceId: string;
3116
+ hidden?: boolean | undefined;
3117
+ }, {
3118
+ type: "Experiment";
3119
+ properties: {
3120
+ experimentId: string;
3121
+ experimentName: string;
3122
+ contentJson: string;
3123
+ heading?: {
3124
+ text: string;
3125
+ href?: string | undefined;
3126
+ } | undefined;
3127
+ };
3128
+ sliceId: string;
3129
+ hidden?: boolean | undefined;
3130
+ }>, z.ZodObject<{
3131
+ type: z.ZodLiteral<"SparkList">;
3132
+ hidden: z.ZodOptional<z.ZodBoolean>;
3133
+ properties: z.ZodObject<{} & {
3134
+ listId: z.ZodString;
3135
+ heading: z.ZodOptional<z.ZodObject<{
3136
+ text: z.ZodString;
3137
+ href: z.ZodOptional<z.ZodString>;
3138
+ }, "strip", z.ZodTypeAny, {
3139
+ text: string;
3140
+ href?: string | undefined;
3141
+ }, {
3142
+ text: string;
3143
+ href?: string | undefined;
3144
+ }>>;
3145
+ }, "strip", z.ZodTypeAny, {
3146
+ listId: string;
3147
+ heading?: {
3148
+ text: string;
3149
+ href?: string | undefined;
3150
+ } | undefined;
3151
+ }, {
3152
+ listId: string;
3153
+ heading?: {
3154
+ text: string;
3155
+ href?: string | undefined;
3156
+ } | undefined;
3157
+ }>;
3158
+ } & {
3159
+ sliceId: z.ZodString;
3160
+ }, "strip", z.ZodTypeAny, {
3161
+ type: "SparkList";
3162
+ properties: {
3163
+ listId: string;
3164
+ heading?: {
3165
+ text: string;
3166
+ href?: string | undefined;
3167
+ } | undefined;
3168
+ };
3169
+ sliceId: string;
3170
+ hidden?: boolean | undefined;
3171
+ }, {
3172
+ type: "SparkList";
3173
+ properties: {
3174
+ listId: string;
3175
+ heading?: {
3176
+ text: string;
3177
+ href?: string | undefined;
3178
+ } | undefined;
3179
+ };
3180
+ sliceId: string;
3181
+ hidden?: boolean | undefined;
3182
+ }>]>;
3183
+
3184
+ declare const SparkListSlice: {
3185
+ InputSchema: z.ZodObject<{
3186
+ type: z.ZodLiteral<"SparkList">;
3187
+ hidden: z.ZodOptional<z.ZodBoolean>;
3188
+ properties: z.ZodObject<{} & {
3189
+ listId: z.ZodString;
3190
+ heading: z.ZodOptional<z.ZodObject<{
3191
+ text: z.ZodString;
3192
+ href: z.ZodOptional<z.ZodString>;
3193
+ }, "strip", z.ZodTypeAny, {
3194
+ text: string;
3195
+ href?: string | undefined;
3196
+ }, {
3197
+ text: string;
3198
+ href?: string | undefined;
3199
+ }>>;
3200
+ }, "strip", z.ZodTypeAny, {
3201
+ listId: string;
3202
+ heading?: {
3203
+ text: string;
3204
+ href?: string | undefined;
3205
+ } | undefined;
3206
+ }, {
3207
+ listId: string;
3208
+ heading?: {
3209
+ text: string;
3210
+ href?: string | undefined;
3211
+ } | undefined;
3212
+ }>;
3213
+ } & {
3214
+ sliceId: z.ZodOptional<z.ZodString>;
3215
+ }, "strip", z.ZodTypeAny, {
3216
+ type: "SparkList";
3217
+ properties: {
3218
+ listId: string;
3219
+ heading?: {
3220
+ text: string;
3221
+ href?: string | undefined;
3222
+ } | undefined;
3223
+ };
3224
+ hidden?: boolean | undefined;
3225
+ sliceId?: string | undefined;
3226
+ }, {
3227
+ type: "SparkList";
3228
+ properties: {
3229
+ listId: string;
3230
+ heading?: {
3231
+ text: string;
3232
+ href?: string | undefined;
3233
+ } | undefined;
3234
+ };
3235
+ hidden?: boolean | undefined;
3236
+ sliceId?: string | undefined;
3237
+ }>;
3238
+ OutputSchema: z.ZodObject<{
3239
+ type: z.ZodLiteral<"SparkList">;
3240
+ hidden: z.ZodOptional<z.ZodBoolean>;
3241
+ properties: z.ZodObject<{} & {
3242
+ listId: z.ZodString;
3243
+ heading: z.ZodOptional<z.ZodObject<{
3244
+ text: z.ZodString;
3245
+ href: z.ZodOptional<z.ZodString>;
3246
+ }, "strip", z.ZodTypeAny, {
3247
+ text: string;
3248
+ href?: string | undefined;
3249
+ }, {
3250
+ text: string;
3251
+ href?: string | undefined;
3252
+ }>>;
3253
+ }, "strip", z.ZodTypeAny, {
3254
+ listId: string;
3255
+ heading?: {
3256
+ text: string;
3257
+ href?: string | undefined;
3258
+ } | undefined;
3259
+ }, {
3260
+ listId: string;
3261
+ heading?: {
3262
+ text: string;
3263
+ href?: string | undefined;
3264
+ } | undefined;
3265
+ }>;
3266
+ } & {
3267
+ sliceId: z.ZodString;
3268
+ }, "strip", z.ZodTypeAny, {
3269
+ type: "SparkList";
3270
+ properties: {
3271
+ listId: string;
3272
+ heading?: {
3273
+ text: string;
3274
+ href?: string | undefined;
3275
+ } | undefined;
3276
+ };
3277
+ sliceId: string;
3278
+ hidden?: boolean | undefined;
3279
+ }, {
3280
+ type: "SparkList";
3281
+ properties: {
3282
+ listId: string;
3283
+ heading?: {
3284
+ text: string;
3285
+ href?: string | undefined;
3286
+ } | undefined;
3287
+ };
3288
+ sliceId: string;
3289
+ hidden?: boolean | undefined;
3290
+ }>;
3291
+ };
3292
+
3293
+ declare type SparkListSliceType = z.infer<typeof SparkListSlice.OutputSchema>;
3294
+ export { SparkListSliceType }
3295
+ export { SparkListSliceType as SparkListSliceType_alias_1 }
3296
+
3297
+ export { }