paperlab 0.5.2 → 0.6.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,2297 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The zod schema is the single source of truth: it validates the public API,
5
+ * generates editor panels, defines the `.paper` preset format, and feeds the docs.
6
+ * If a feature can't serialize into this schema, it waits.
7
+ *
8
+ * Every schema here exports BOTH of its types, and the difference is
9
+ * load-bearing. `z.infer` is the parsed config — every default filled in,
10
+ * every field present — and it is what the renderer reads. `z.input` is what
11
+ * a caller is allowed to write, where anything with a default is optional,
12
+ * and it is what every public prop must take. Handing a component the
13
+ * inferred type instead demands that the caller supply every field of every
14
+ * nested object, which turns the documented one-liner into a type error.
15
+ */
16
+ declare const sheetSchema: z.ZodObject<{
17
+ width: z.ZodDefault<z.ZodNumber>;
18
+ height: z.ZodDefault<z.ZodNumber>;
19
+ thickness: z.ZodDefault<z.ZodNumber>;
20
+ segments: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodNumber]>>;
21
+ cornerRadius: z.ZodDefault<z.ZodNumber>;
22
+ }, z.core.$strip>;
23
+ type SheetConfig = z.infer<typeof sheetSchema>;
24
+ declare const stockNames: readonly ["printer", "thermal", "kraft", "newsprint", "vellum", "photo-gloss", "sticker"];
25
+ declare const stockSchema: z.ZodEnum<{
26
+ printer: "printer";
27
+ thermal: "thermal";
28
+ kraft: "kraft";
29
+ newsprint: "newsprint";
30
+ vellum: "vellum";
31
+ "photo-gloss": "photo-gloss";
32
+ sticker: "sticker";
33
+ }>;
34
+ type StockName = z.infer<typeof stockSchema>;
35
+ /**
36
+ * A watercolour wash, painted under whatever else the sheet carries.
37
+ *
38
+ * It is a FIELD on every content type rather than a content type of its own,
39
+ * and that is the whole design. A wash is a ground, not a subject: the thing
40
+ * people want is a letter written over one, a card laid on one, a poster with
41
+ * one behind the type. Made a sixth member of the union it would have been
42
+ * mutually exclusive with the text it exists to sit behind, and the only way
43
+ * to get both would have been to bake the words into an uploaded picture —
44
+ * which is exactly the trick this library exists to avoid.
45
+ *
46
+ * Painted rather than shipped as artwork, for the same reason `DEMO_CARDS`
47
+ * are typeset rather than photographed. A bitmap is ~100KB that cannot cross
48
+ * a share link, does not survive an export to someone else's codebase, and
49
+ * does not know what stock it is lying on. A wash described in nine numbers
50
+ * travels anywhere the config does, tints against the paper under it, and
51
+ * curls with the mesh because it IS the texture.
52
+ */
53
+ declare const washSchema: z.ZodObject<{
54
+ color: z.ZodDefault<z.ZodString>;
55
+ secondary: z.ZodDefault<z.ZodString>;
56
+ blooms: z.ZodDefault<z.ZodNumber>;
57
+ spread: z.ZodDefault<z.ZodNumber>;
58
+ bleed: z.ZodDefault<z.ZodNumber>;
59
+ intensity: z.ZodDefault<z.ZodNumber>;
60
+ edge: z.ZodDefault<z.ZodNumber>;
61
+ granulation: z.ZodDefault<z.ZodNumber>;
62
+ seed: z.ZodDefault<z.ZodNumber>;
63
+ }, z.core.$strip>;
64
+ type WashConfig = z.infer<typeof washSchema>;
65
+ /** What can print on the reverse side (letter front / blank back, printed front / kraft back). */
66
+ declare const backContentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
67
+ type: z.ZodLiteral<"blank">;
68
+ wash: z.ZodOptional<z.ZodObject<{
69
+ color: z.ZodDefault<z.ZodString>;
70
+ secondary: z.ZodDefault<z.ZodString>;
71
+ blooms: z.ZodDefault<z.ZodNumber>;
72
+ spread: z.ZodDefault<z.ZodNumber>;
73
+ bleed: z.ZodDefault<z.ZodNumber>;
74
+ intensity: z.ZodDefault<z.ZodNumber>;
75
+ edge: z.ZodDefault<z.ZodNumber>;
76
+ granulation: z.ZodDefault<z.ZodNumber>;
77
+ seed: z.ZodDefault<z.ZodNumber>;
78
+ }, z.core.$strip>>;
79
+ }, z.core.$strip>, z.ZodObject<{
80
+ type: z.ZodLiteral<"image">;
81
+ src: z.ZodDefault<z.ZodString>;
82
+ fit: z.ZodDefault<z.ZodEnum<{
83
+ cover: "cover";
84
+ contain: "contain";
85
+ }>>;
86
+ alt: z.ZodOptional<z.ZodString>;
87
+ wash: z.ZodOptional<z.ZodObject<{
88
+ color: z.ZodDefault<z.ZodString>;
89
+ secondary: z.ZodDefault<z.ZodString>;
90
+ blooms: z.ZodDefault<z.ZodNumber>;
91
+ spread: z.ZodDefault<z.ZodNumber>;
92
+ bleed: z.ZodDefault<z.ZodNumber>;
93
+ intensity: z.ZodDefault<z.ZodNumber>;
94
+ edge: z.ZodDefault<z.ZodNumber>;
95
+ granulation: z.ZodDefault<z.ZodNumber>;
96
+ seed: z.ZodDefault<z.ZodNumber>;
97
+ }, z.core.$strip>>;
98
+ }, z.core.$strip>, z.ZodObject<{
99
+ type: z.ZodLiteral<"text">;
100
+ text: z.ZodDefault<z.ZodString>;
101
+ font: z.ZodDefault<z.ZodString>;
102
+ size: z.ZodDefault<z.ZodNumber>;
103
+ weight: z.ZodDefault<z.ZodNumber>;
104
+ color: z.ZodDefault<z.ZodString>;
105
+ align: z.ZodDefault<z.ZodEnum<{
106
+ left: "left";
107
+ right: "right";
108
+ center: "center";
109
+ }>>;
110
+ padding: z.ZodDefault<z.ZodNumber>;
111
+ lineHeight: z.ZodDefault<z.ZodNumber>;
112
+ tracking: z.ZodDefault<z.ZodNumber>;
113
+ valign: z.ZodDefault<z.ZodEnum<{
114
+ top: "top";
115
+ center: "center";
116
+ }>>;
117
+ wash: z.ZodOptional<z.ZodObject<{
118
+ color: z.ZodDefault<z.ZodString>;
119
+ secondary: z.ZodDefault<z.ZodString>;
120
+ blooms: z.ZodDefault<z.ZodNumber>;
121
+ spread: z.ZodDefault<z.ZodNumber>;
122
+ bleed: z.ZodDefault<z.ZodNumber>;
123
+ intensity: z.ZodDefault<z.ZodNumber>;
124
+ edge: z.ZodDefault<z.ZodNumber>;
125
+ granulation: z.ZodDefault<z.ZodNumber>;
126
+ seed: z.ZodDefault<z.ZodNumber>;
127
+ }, z.core.$strip>>;
128
+ }, z.core.$strip>, z.ZodObject<{
129
+ type: z.ZodLiteral<"card">;
130
+ title: z.ZodDefault<z.ZodString>;
131
+ body: z.ZodDefault<z.ZodString>;
132
+ note: z.ZodDefault<z.ZodString>;
133
+ rule: z.ZodDefault<z.ZodBoolean>;
134
+ ruled: z.ZodDefault<z.ZodBoolean>;
135
+ font: z.ZodDefault<z.ZodString>;
136
+ size: z.ZodDefault<z.ZodNumber>;
137
+ color: z.ZodDefault<z.ZodString>;
138
+ align: z.ZodDefault<z.ZodEnum<{
139
+ left: "left";
140
+ center: "center";
141
+ }>>;
142
+ padding: z.ZodDefault<z.ZodNumber>;
143
+ wash: z.ZodOptional<z.ZodObject<{
144
+ color: z.ZodDefault<z.ZodString>;
145
+ secondary: z.ZodDefault<z.ZodString>;
146
+ blooms: z.ZodDefault<z.ZodNumber>;
147
+ spread: z.ZodDefault<z.ZodNumber>;
148
+ bleed: z.ZodDefault<z.ZodNumber>;
149
+ intensity: z.ZodDefault<z.ZodNumber>;
150
+ edge: z.ZodDefault<z.ZodNumber>;
151
+ granulation: z.ZodDefault<z.ZodNumber>;
152
+ seed: z.ZodDefault<z.ZodNumber>;
153
+ }, z.core.$strip>>;
154
+ }, z.core.$strip>, z.ZodObject<{
155
+ type: z.ZodLiteral<"receipt">;
156
+ store: z.ZodDefault<z.ZodString>;
157
+ address: z.ZodDefault<z.ZodString>;
158
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
159
+ name: z.ZodString;
160
+ price: z.ZodNumber;
161
+ }, z.core.$strip>>>;
162
+ taxRate: z.ZodDefault<z.ZodNumber>;
163
+ barcode: z.ZodDefault<z.ZodBoolean>;
164
+ timestamp: z.ZodOptional<z.ZodString>;
165
+ footer: z.ZodDefault<z.ZodString>;
166
+ wash: z.ZodOptional<z.ZodObject<{
167
+ color: z.ZodDefault<z.ZodString>;
168
+ secondary: z.ZodDefault<z.ZodString>;
169
+ blooms: z.ZodDefault<z.ZodNumber>;
170
+ spread: z.ZodDefault<z.ZodNumber>;
171
+ bleed: z.ZodDefault<z.ZodNumber>;
172
+ intensity: z.ZodDefault<z.ZodNumber>;
173
+ edge: z.ZodDefault<z.ZodNumber>;
174
+ granulation: z.ZodDefault<z.ZodNumber>;
175
+ seed: z.ZodDefault<z.ZodNumber>;
176
+ }, z.core.$strip>>;
177
+ }, z.core.$strip>], "type">;
178
+ type BackContentConfig = z.infer<typeof backContentSchema>;
179
+ declare const contentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
180
+ type: z.ZodLiteral<"blank">;
181
+ wash: z.ZodOptional<z.ZodObject<{
182
+ color: z.ZodDefault<z.ZodString>;
183
+ secondary: z.ZodDefault<z.ZodString>;
184
+ blooms: z.ZodDefault<z.ZodNumber>;
185
+ spread: z.ZodDefault<z.ZodNumber>;
186
+ bleed: z.ZodDefault<z.ZodNumber>;
187
+ intensity: z.ZodDefault<z.ZodNumber>;
188
+ edge: z.ZodDefault<z.ZodNumber>;
189
+ granulation: z.ZodDefault<z.ZodNumber>;
190
+ seed: z.ZodDefault<z.ZodNumber>;
191
+ }, z.core.$strip>>;
192
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
193
+ type: z.ZodLiteral<"blank">;
194
+ wash: z.ZodOptional<z.ZodObject<{
195
+ color: z.ZodDefault<z.ZodString>;
196
+ secondary: z.ZodDefault<z.ZodString>;
197
+ blooms: z.ZodDefault<z.ZodNumber>;
198
+ spread: z.ZodDefault<z.ZodNumber>;
199
+ bleed: z.ZodDefault<z.ZodNumber>;
200
+ intensity: z.ZodDefault<z.ZodNumber>;
201
+ edge: z.ZodDefault<z.ZodNumber>;
202
+ granulation: z.ZodDefault<z.ZodNumber>;
203
+ seed: z.ZodDefault<z.ZodNumber>;
204
+ }, z.core.$strip>>;
205
+ }, z.core.$strip>, z.ZodObject<{
206
+ type: z.ZodLiteral<"image">;
207
+ src: z.ZodDefault<z.ZodString>;
208
+ fit: z.ZodDefault<z.ZodEnum<{
209
+ cover: "cover";
210
+ contain: "contain";
211
+ }>>;
212
+ alt: z.ZodOptional<z.ZodString>;
213
+ wash: z.ZodOptional<z.ZodObject<{
214
+ color: z.ZodDefault<z.ZodString>;
215
+ secondary: z.ZodDefault<z.ZodString>;
216
+ blooms: z.ZodDefault<z.ZodNumber>;
217
+ spread: z.ZodDefault<z.ZodNumber>;
218
+ bleed: z.ZodDefault<z.ZodNumber>;
219
+ intensity: z.ZodDefault<z.ZodNumber>;
220
+ edge: z.ZodDefault<z.ZodNumber>;
221
+ granulation: z.ZodDefault<z.ZodNumber>;
222
+ seed: z.ZodDefault<z.ZodNumber>;
223
+ }, z.core.$strip>>;
224
+ }, z.core.$strip>, z.ZodObject<{
225
+ type: z.ZodLiteral<"text">;
226
+ text: z.ZodDefault<z.ZodString>;
227
+ font: z.ZodDefault<z.ZodString>;
228
+ size: z.ZodDefault<z.ZodNumber>;
229
+ weight: z.ZodDefault<z.ZodNumber>;
230
+ color: z.ZodDefault<z.ZodString>;
231
+ align: z.ZodDefault<z.ZodEnum<{
232
+ left: "left";
233
+ right: "right";
234
+ center: "center";
235
+ }>>;
236
+ padding: z.ZodDefault<z.ZodNumber>;
237
+ lineHeight: z.ZodDefault<z.ZodNumber>;
238
+ tracking: z.ZodDefault<z.ZodNumber>;
239
+ valign: z.ZodDefault<z.ZodEnum<{
240
+ top: "top";
241
+ center: "center";
242
+ }>>;
243
+ wash: z.ZodOptional<z.ZodObject<{
244
+ color: z.ZodDefault<z.ZodString>;
245
+ secondary: z.ZodDefault<z.ZodString>;
246
+ blooms: z.ZodDefault<z.ZodNumber>;
247
+ spread: z.ZodDefault<z.ZodNumber>;
248
+ bleed: z.ZodDefault<z.ZodNumber>;
249
+ intensity: z.ZodDefault<z.ZodNumber>;
250
+ edge: z.ZodDefault<z.ZodNumber>;
251
+ granulation: z.ZodDefault<z.ZodNumber>;
252
+ seed: z.ZodDefault<z.ZodNumber>;
253
+ }, z.core.$strip>>;
254
+ }, z.core.$strip>, z.ZodObject<{
255
+ type: z.ZodLiteral<"card">;
256
+ title: z.ZodDefault<z.ZodString>;
257
+ body: z.ZodDefault<z.ZodString>;
258
+ note: z.ZodDefault<z.ZodString>;
259
+ rule: z.ZodDefault<z.ZodBoolean>;
260
+ ruled: z.ZodDefault<z.ZodBoolean>;
261
+ font: z.ZodDefault<z.ZodString>;
262
+ size: z.ZodDefault<z.ZodNumber>;
263
+ color: z.ZodDefault<z.ZodString>;
264
+ align: z.ZodDefault<z.ZodEnum<{
265
+ left: "left";
266
+ center: "center";
267
+ }>>;
268
+ padding: z.ZodDefault<z.ZodNumber>;
269
+ wash: z.ZodOptional<z.ZodObject<{
270
+ color: z.ZodDefault<z.ZodString>;
271
+ secondary: z.ZodDefault<z.ZodString>;
272
+ blooms: z.ZodDefault<z.ZodNumber>;
273
+ spread: z.ZodDefault<z.ZodNumber>;
274
+ bleed: z.ZodDefault<z.ZodNumber>;
275
+ intensity: z.ZodDefault<z.ZodNumber>;
276
+ edge: z.ZodDefault<z.ZodNumber>;
277
+ granulation: z.ZodDefault<z.ZodNumber>;
278
+ seed: z.ZodDefault<z.ZodNumber>;
279
+ }, z.core.$strip>>;
280
+ }, z.core.$strip>, z.ZodObject<{
281
+ type: z.ZodLiteral<"receipt">;
282
+ store: z.ZodDefault<z.ZodString>;
283
+ address: z.ZodDefault<z.ZodString>;
284
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
285
+ name: z.ZodString;
286
+ price: z.ZodNumber;
287
+ }, z.core.$strip>>>;
288
+ taxRate: z.ZodDefault<z.ZodNumber>;
289
+ barcode: z.ZodDefault<z.ZodBoolean>;
290
+ timestamp: z.ZodOptional<z.ZodString>;
291
+ footer: z.ZodDefault<z.ZodString>;
292
+ wash: z.ZodOptional<z.ZodObject<{
293
+ color: z.ZodDefault<z.ZodString>;
294
+ secondary: z.ZodDefault<z.ZodString>;
295
+ blooms: z.ZodDefault<z.ZodNumber>;
296
+ spread: z.ZodDefault<z.ZodNumber>;
297
+ bleed: z.ZodDefault<z.ZodNumber>;
298
+ intensity: z.ZodDefault<z.ZodNumber>;
299
+ edge: z.ZodDefault<z.ZodNumber>;
300
+ granulation: z.ZodDefault<z.ZodNumber>;
301
+ seed: z.ZodDefault<z.ZodNumber>;
302
+ }, z.core.$strip>>;
303
+ }, z.core.$strip>], "type">>;
304
+ }, z.core.$strip>, z.ZodObject<{
305
+ type: z.ZodLiteral<"image">;
306
+ src: z.ZodDefault<z.ZodString>;
307
+ fit: z.ZodDefault<z.ZodEnum<{
308
+ cover: "cover";
309
+ contain: "contain";
310
+ }>>;
311
+ alt: z.ZodOptional<z.ZodString>;
312
+ wash: z.ZodOptional<z.ZodObject<{
313
+ color: z.ZodDefault<z.ZodString>;
314
+ secondary: z.ZodDefault<z.ZodString>;
315
+ blooms: z.ZodDefault<z.ZodNumber>;
316
+ spread: z.ZodDefault<z.ZodNumber>;
317
+ bleed: z.ZodDefault<z.ZodNumber>;
318
+ intensity: z.ZodDefault<z.ZodNumber>;
319
+ edge: z.ZodDefault<z.ZodNumber>;
320
+ granulation: z.ZodDefault<z.ZodNumber>;
321
+ seed: z.ZodDefault<z.ZodNumber>;
322
+ }, z.core.$strip>>;
323
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
324
+ type: z.ZodLiteral<"blank">;
325
+ wash: z.ZodOptional<z.ZodObject<{
326
+ color: z.ZodDefault<z.ZodString>;
327
+ secondary: z.ZodDefault<z.ZodString>;
328
+ blooms: z.ZodDefault<z.ZodNumber>;
329
+ spread: z.ZodDefault<z.ZodNumber>;
330
+ bleed: z.ZodDefault<z.ZodNumber>;
331
+ intensity: z.ZodDefault<z.ZodNumber>;
332
+ edge: z.ZodDefault<z.ZodNumber>;
333
+ granulation: z.ZodDefault<z.ZodNumber>;
334
+ seed: z.ZodDefault<z.ZodNumber>;
335
+ }, z.core.$strip>>;
336
+ }, z.core.$strip>, z.ZodObject<{
337
+ type: z.ZodLiteral<"image">;
338
+ src: z.ZodDefault<z.ZodString>;
339
+ fit: z.ZodDefault<z.ZodEnum<{
340
+ cover: "cover";
341
+ contain: "contain";
342
+ }>>;
343
+ alt: z.ZodOptional<z.ZodString>;
344
+ wash: z.ZodOptional<z.ZodObject<{
345
+ color: z.ZodDefault<z.ZodString>;
346
+ secondary: z.ZodDefault<z.ZodString>;
347
+ blooms: z.ZodDefault<z.ZodNumber>;
348
+ spread: z.ZodDefault<z.ZodNumber>;
349
+ bleed: z.ZodDefault<z.ZodNumber>;
350
+ intensity: z.ZodDefault<z.ZodNumber>;
351
+ edge: z.ZodDefault<z.ZodNumber>;
352
+ granulation: z.ZodDefault<z.ZodNumber>;
353
+ seed: z.ZodDefault<z.ZodNumber>;
354
+ }, z.core.$strip>>;
355
+ }, z.core.$strip>, z.ZodObject<{
356
+ type: z.ZodLiteral<"text">;
357
+ text: z.ZodDefault<z.ZodString>;
358
+ font: z.ZodDefault<z.ZodString>;
359
+ size: z.ZodDefault<z.ZodNumber>;
360
+ weight: z.ZodDefault<z.ZodNumber>;
361
+ color: z.ZodDefault<z.ZodString>;
362
+ align: z.ZodDefault<z.ZodEnum<{
363
+ left: "left";
364
+ right: "right";
365
+ center: "center";
366
+ }>>;
367
+ padding: z.ZodDefault<z.ZodNumber>;
368
+ lineHeight: z.ZodDefault<z.ZodNumber>;
369
+ tracking: z.ZodDefault<z.ZodNumber>;
370
+ valign: z.ZodDefault<z.ZodEnum<{
371
+ top: "top";
372
+ center: "center";
373
+ }>>;
374
+ wash: z.ZodOptional<z.ZodObject<{
375
+ color: z.ZodDefault<z.ZodString>;
376
+ secondary: z.ZodDefault<z.ZodString>;
377
+ blooms: z.ZodDefault<z.ZodNumber>;
378
+ spread: z.ZodDefault<z.ZodNumber>;
379
+ bleed: z.ZodDefault<z.ZodNumber>;
380
+ intensity: z.ZodDefault<z.ZodNumber>;
381
+ edge: z.ZodDefault<z.ZodNumber>;
382
+ granulation: z.ZodDefault<z.ZodNumber>;
383
+ seed: z.ZodDefault<z.ZodNumber>;
384
+ }, z.core.$strip>>;
385
+ }, z.core.$strip>, z.ZodObject<{
386
+ type: z.ZodLiteral<"card">;
387
+ title: z.ZodDefault<z.ZodString>;
388
+ body: z.ZodDefault<z.ZodString>;
389
+ note: z.ZodDefault<z.ZodString>;
390
+ rule: z.ZodDefault<z.ZodBoolean>;
391
+ ruled: z.ZodDefault<z.ZodBoolean>;
392
+ font: z.ZodDefault<z.ZodString>;
393
+ size: z.ZodDefault<z.ZodNumber>;
394
+ color: z.ZodDefault<z.ZodString>;
395
+ align: z.ZodDefault<z.ZodEnum<{
396
+ left: "left";
397
+ center: "center";
398
+ }>>;
399
+ padding: z.ZodDefault<z.ZodNumber>;
400
+ wash: z.ZodOptional<z.ZodObject<{
401
+ color: z.ZodDefault<z.ZodString>;
402
+ secondary: z.ZodDefault<z.ZodString>;
403
+ blooms: z.ZodDefault<z.ZodNumber>;
404
+ spread: z.ZodDefault<z.ZodNumber>;
405
+ bleed: z.ZodDefault<z.ZodNumber>;
406
+ intensity: z.ZodDefault<z.ZodNumber>;
407
+ edge: z.ZodDefault<z.ZodNumber>;
408
+ granulation: z.ZodDefault<z.ZodNumber>;
409
+ seed: z.ZodDefault<z.ZodNumber>;
410
+ }, z.core.$strip>>;
411
+ }, z.core.$strip>, z.ZodObject<{
412
+ type: z.ZodLiteral<"receipt">;
413
+ store: z.ZodDefault<z.ZodString>;
414
+ address: z.ZodDefault<z.ZodString>;
415
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
416
+ name: z.ZodString;
417
+ price: z.ZodNumber;
418
+ }, z.core.$strip>>>;
419
+ taxRate: z.ZodDefault<z.ZodNumber>;
420
+ barcode: z.ZodDefault<z.ZodBoolean>;
421
+ timestamp: z.ZodOptional<z.ZodString>;
422
+ footer: z.ZodDefault<z.ZodString>;
423
+ wash: z.ZodOptional<z.ZodObject<{
424
+ color: z.ZodDefault<z.ZodString>;
425
+ secondary: z.ZodDefault<z.ZodString>;
426
+ blooms: z.ZodDefault<z.ZodNumber>;
427
+ spread: z.ZodDefault<z.ZodNumber>;
428
+ bleed: z.ZodDefault<z.ZodNumber>;
429
+ intensity: z.ZodDefault<z.ZodNumber>;
430
+ edge: z.ZodDefault<z.ZodNumber>;
431
+ granulation: z.ZodDefault<z.ZodNumber>;
432
+ seed: z.ZodDefault<z.ZodNumber>;
433
+ }, z.core.$strip>>;
434
+ }, z.core.$strip>], "type">>;
435
+ }, z.core.$strip>, z.ZodObject<{
436
+ type: z.ZodLiteral<"text">;
437
+ text: z.ZodDefault<z.ZodString>;
438
+ font: z.ZodDefault<z.ZodString>;
439
+ size: z.ZodDefault<z.ZodNumber>;
440
+ weight: z.ZodDefault<z.ZodNumber>;
441
+ color: z.ZodDefault<z.ZodString>;
442
+ align: z.ZodDefault<z.ZodEnum<{
443
+ left: "left";
444
+ right: "right";
445
+ center: "center";
446
+ }>>;
447
+ padding: z.ZodDefault<z.ZodNumber>;
448
+ lineHeight: z.ZodDefault<z.ZodNumber>;
449
+ tracking: z.ZodDefault<z.ZodNumber>;
450
+ valign: z.ZodDefault<z.ZodEnum<{
451
+ top: "top";
452
+ center: "center";
453
+ }>>;
454
+ wash: z.ZodOptional<z.ZodObject<{
455
+ color: z.ZodDefault<z.ZodString>;
456
+ secondary: z.ZodDefault<z.ZodString>;
457
+ blooms: z.ZodDefault<z.ZodNumber>;
458
+ spread: z.ZodDefault<z.ZodNumber>;
459
+ bleed: z.ZodDefault<z.ZodNumber>;
460
+ intensity: z.ZodDefault<z.ZodNumber>;
461
+ edge: z.ZodDefault<z.ZodNumber>;
462
+ granulation: z.ZodDefault<z.ZodNumber>;
463
+ seed: z.ZodDefault<z.ZodNumber>;
464
+ }, z.core.$strip>>;
465
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
466
+ type: z.ZodLiteral<"blank">;
467
+ wash: z.ZodOptional<z.ZodObject<{
468
+ color: z.ZodDefault<z.ZodString>;
469
+ secondary: z.ZodDefault<z.ZodString>;
470
+ blooms: z.ZodDefault<z.ZodNumber>;
471
+ spread: z.ZodDefault<z.ZodNumber>;
472
+ bleed: z.ZodDefault<z.ZodNumber>;
473
+ intensity: z.ZodDefault<z.ZodNumber>;
474
+ edge: z.ZodDefault<z.ZodNumber>;
475
+ granulation: z.ZodDefault<z.ZodNumber>;
476
+ seed: z.ZodDefault<z.ZodNumber>;
477
+ }, z.core.$strip>>;
478
+ }, z.core.$strip>, z.ZodObject<{
479
+ type: z.ZodLiteral<"image">;
480
+ src: z.ZodDefault<z.ZodString>;
481
+ fit: z.ZodDefault<z.ZodEnum<{
482
+ cover: "cover";
483
+ contain: "contain";
484
+ }>>;
485
+ alt: z.ZodOptional<z.ZodString>;
486
+ wash: z.ZodOptional<z.ZodObject<{
487
+ color: z.ZodDefault<z.ZodString>;
488
+ secondary: z.ZodDefault<z.ZodString>;
489
+ blooms: z.ZodDefault<z.ZodNumber>;
490
+ spread: z.ZodDefault<z.ZodNumber>;
491
+ bleed: z.ZodDefault<z.ZodNumber>;
492
+ intensity: z.ZodDefault<z.ZodNumber>;
493
+ edge: z.ZodDefault<z.ZodNumber>;
494
+ granulation: z.ZodDefault<z.ZodNumber>;
495
+ seed: z.ZodDefault<z.ZodNumber>;
496
+ }, z.core.$strip>>;
497
+ }, z.core.$strip>, z.ZodObject<{
498
+ type: z.ZodLiteral<"text">;
499
+ text: z.ZodDefault<z.ZodString>;
500
+ font: z.ZodDefault<z.ZodString>;
501
+ size: z.ZodDefault<z.ZodNumber>;
502
+ weight: z.ZodDefault<z.ZodNumber>;
503
+ color: z.ZodDefault<z.ZodString>;
504
+ align: z.ZodDefault<z.ZodEnum<{
505
+ left: "left";
506
+ right: "right";
507
+ center: "center";
508
+ }>>;
509
+ padding: z.ZodDefault<z.ZodNumber>;
510
+ lineHeight: z.ZodDefault<z.ZodNumber>;
511
+ tracking: z.ZodDefault<z.ZodNumber>;
512
+ valign: z.ZodDefault<z.ZodEnum<{
513
+ top: "top";
514
+ center: "center";
515
+ }>>;
516
+ wash: z.ZodOptional<z.ZodObject<{
517
+ color: z.ZodDefault<z.ZodString>;
518
+ secondary: z.ZodDefault<z.ZodString>;
519
+ blooms: z.ZodDefault<z.ZodNumber>;
520
+ spread: z.ZodDefault<z.ZodNumber>;
521
+ bleed: z.ZodDefault<z.ZodNumber>;
522
+ intensity: z.ZodDefault<z.ZodNumber>;
523
+ edge: z.ZodDefault<z.ZodNumber>;
524
+ granulation: z.ZodDefault<z.ZodNumber>;
525
+ seed: z.ZodDefault<z.ZodNumber>;
526
+ }, z.core.$strip>>;
527
+ }, z.core.$strip>, z.ZodObject<{
528
+ type: z.ZodLiteral<"card">;
529
+ title: z.ZodDefault<z.ZodString>;
530
+ body: z.ZodDefault<z.ZodString>;
531
+ note: z.ZodDefault<z.ZodString>;
532
+ rule: z.ZodDefault<z.ZodBoolean>;
533
+ ruled: z.ZodDefault<z.ZodBoolean>;
534
+ font: z.ZodDefault<z.ZodString>;
535
+ size: z.ZodDefault<z.ZodNumber>;
536
+ color: z.ZodDefault<z.ZodString>;
537
+ align: z.ZodDefault<z.ZodEnum<{
538
+ left: "left";
539
+ center: "center";
540
+ }>>;
541
+ padding: z.ZodDefault<z.ZodNumber>;
542
+ wash: z.ZodOptional<z.ZodObject<{
543
+ color: z.ZodDefault<z.ZodString>;
544
+ secondary: z.ZodDefault<z.ZodString>;
545
+ blooms: z.ZodDefault<z.ZodNumber>;
546
+ spread: z.ZodDefault<z.ZodNumber>;
547
+ bleed: z.ZodDefault<z.ZodNumber>;
548
+ intensity: z.ZodDefault<z.ZodNumber>;
549
+ edge: z.ZodDefault<z.ZodNumber>;
550
+ granulation: z.ZodDefault<z.ZodNumber>;
551
+ seed: z.ZodDefault<z.ZodNumber>;
552
+ }, z.core.$strip>>;
553
+ }, z.core.$strip>, z.ZodObject<{
554
+ type: z.ZodLiteral<"receipt">;
555
+ store: z.ZodDefault<z.ZodString>;
556
+ address: z.ZodDefault<z.ZodString>;
557
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
558
+ name: z.ZodString;
559
+ price: z.ZodNumber;
560
+ }, z.core.$strip>>>;
561
+ taxRate: z.ZodDefault<z.ZodNumber>;
562
+ barcode: z.ZodDefault<z.ZodBoolean>;
563
+ timestamp: z.ZodOptional<z.ZodString>;
564
+ footer: z.ZodDefault<z.ZodString>;
565
+ wash: z.ZodOptional<z.ZodObject<{
566
+ color: z.ZodDefault<z.ZodString>;
567
+ secondary: z.ZodDefault<z.ZodString>;
568
+ blooms: z.ZodDefault<z.ZodNumber>;
569
+ spread: z.ZodDefault<z.ZodNumber>;
570
+ bleed: z.ZodDefault<z.ZodNumber>;
571
+ intensity: z.ZodDefault<z.ZodNumber>;
572
+ edge: z.ZodDefault<z.ZodNumber>;
573
+ granulation: z.ZodDefault<z.ZodNumber>;
574
+ seed: z.ZodDefault<z.ZodNumber>;
575
+ }, z.core.$strip>>;
576
+ }, z.core.$strip>], "type">>;
577
+ }, z.core.$strip>, z.ZodObject<{
578
+ type: z.ZodLiteral<"card">;
579
+ title: z.ZodDefault<z.ZodString>;
580
+ body: z.ZodDefault<z.ZodString>;
581
+ note: z.ZodDefault<z.ZodString>;
582
+ rule: z.ZodDefault<z.ZodBoolean>;
583
+ ruled: z.ZodDefault<z.ZodBoolean>;
584
+ font: z.ZodDefault<z.ZodString>;
585
+ size: z.ZodDefault<z.ZodNumber>;
586
+ color: z.ZodDefault<z.ZodString>;
587
+ align: z.ZodDefault<z.ZodEnum<{
588
+ left: "left";
589
+ center: "center";
590
+ }>>;
591
+ padding: z.ZodDefault<z.ZodNumber>;
592
+ wash: z.ZodOptional<z.ZodObject<{
593
+ color: z.ZodDefault<z.ZodString>;
594
+ secondary: z.ZodDefault<z.ZodString>;
595
+ blooms: z.ZodDefault<z.ZodNumber>;
596
+ spread: z.ZodDefault<z.ZodNumber>;
597
+ bleed: z.ZodDefault<z.ZodNumber>;
598
+ intensity: z.ZodDefault<z.ZodNumber>;
599
+ edge: z.ZodDefault<z.ZodNumber>;
600
+ granulation: z.ZodDefault<z.ZodNumber>;
601
+ seed: z.ZodDefault<z.ZodNumber>;
602
+ }, z.core.$strip>>;
603
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
604
+ type: z.ZodLiteral<"blank">;
605
+ wash: z.ZodOptional<z.ZodObject<{
606
+ color: z.ZodDefault<z.ZodString>;
607
+ secondary: z.ZodDefault<z.ZodString>;
608
+ blooms: z.ZodDefault<z.ZodNumber>;
609
+ spread: z.ZodDefault<z.ZodNumber>;
610
+ bleed: z.ZodDefault<z.ZodNumber>;
611
+ intensity: z.ZodDefault<z.ZodNumber>;
612
+ edge: z.ZodDefault<z.ZodNumber>;
613
+ granulation: z.ZodDefault<z.ZodNumber>;
614
+ seed: z.ZodDefault<z.ZodNumber>;
615
+ }, z.core.$strip>>;
616
+ }, z.core.$strip>, z.ZodObject<{
617
+ type: z.ZodLiteral<"image">;
618
+ src: z.ZodDefault<z.ZodString>;
619
+ fit: z.ZodDefault<z.ZodEnum<{
620
+ cover: "cover";
621
+ contain: "contain";
622
+ }>>;
623
+ alt: z.ZodOptional<z.ZodString>;
624
+ wash: z.ZodOptional<z.ZodObject<{
625
+ color: z.ZodDefault<z.ZodString>;
626
+ secondary: z.ZodDefault<z.ZodString>;
627
+ blooms: z.ZodDefault<z.ZodNumber>;
628
+ spread: z.ZodDefault<z.ZodNumber>;
629
+ bleed: z.ZodDefault<z.ZodNumber>;
630
+ intensity: z.ZodDefault<z.ZodNumber>;
631
+ edge: z.ZodDefault<z.ZodNumber>;
632
+ granulation: z.ZodDefault<z.ZodNumber>;
633
+ seed: z.ZodDefault<z.ZodNumber>;
634
+ }, z.core.$strip>>;
635
+ }, z.core.$strip>, z.ZodObject<{
636
+ type: z.ZodLiteral<"text">;
637
+ text: z.ZodDefault<z.ZodString>;
638
+ font: z.ZodDefault<z.ZodString>;
639
+ size: z.ZodDefault<z.ZodNumber>;
640
+ weight: z.ZodDefault<z.ZodNumber>;
641
+ color: z.ZodDefault<z.ZodString>;
642
+ align: z.ZodDefault<z.ZodEnum<{
643
+ left: "left";
644
+ right: "right";
645
+ center: "center";
646
+ }>>;
647
+ padding: z.ZodDefault<z.ZodNumber>;
648
+ lineHeight: z.ZodDefault<z.ZodNumber>;
649
+ tracking: z.ZodDefault<z.ZodNumber>;
650
+ valign: z.ZodDefault<z.ZodEnum<{
651
+ top: "top";
652
+ center: "center";
653
+ }>>;
654
+ wash: z.ZodOptional<z.ZodObject<{
655
+ color: z.ZodDefault<z.ZodString>;
656
+ secondary: z.ZodDefault<z.ZodString>;
657
+ blooms: z.ZodDefault<z.ZodNumber>;
658
+ spread: z.ZodDefault<z.ZodNumber>;
659
+ bleed: z.ZodDefault<z.ZodNumber>;
660
+ intensity: z.ZodDefault<z.ZodNumber>;
661
+ edge: z.ZodDefault<z.ZodNumber>;
662
+ granulation: z.ZodDefault<z.ZodNumber>;
663
+ seed: z.ZodDefault<z.ZodNumber>;
664
+ }, z.core.$strip>>;
665
+ }, z.core.$strip>, z.ZodObject<{
666
+ type: z.ZodLiteral<"card">;
667
+ title: z.ZodDefault<z.ZodString>;
668
+ body: z.ZodDefault<z.ZodString>;
669
+ note: z.ZodDefault<z.ZodString>;
670
+ rule: z.ZodDefault<z.ZodBoolean>;
671
+ ruled: z.ZodDefault<z.ZodBoolean>;
672
+ font: z.ZodDefault<z.ZodString>;
673
+ size: z.ZodDefault<z.ZodNumber>;
674
+ color: z.ZodDefault<z.ZodString>;
675
+ align: z.ZodDefault<z.ZodEnum<{
676
+ left: "left";
677
+ center: "center";
678
+ }>>;
679
+ padding: z.ZodDefault<z.ZodNumber>;
680
+ wash: z.ZodOptional<z.ZodObject<{
681
+ color: z.ZodDefault<z.ZodString>;
682
+ secondary: z.ZodDefault<z.ZodString>;
683
+ blooms: z.ZodDefault<z.ZodNumber>;
684
+ spread: z.ZodDefault<z.ZodNumber>;
685
+ bleed: z.ZodDefault<z.ZodNumber>;
686
+ intensity: z.ZodDefault<z.ZodNumber>;
687
+ edge: z.ZodDefault<z.ZodNumber>;
688
+ granulation: z.ZodDefault<z.ZodNumber>;
689
+ seed: z.ZodDefault<z.ZodNumber>;
690
+ }, z.core.$strip>>;
691
+ }, z.core.$strip>, z.ZodObject<{
692
+ type: z.ZodLiteral<"receipt">;
693
+ store: z.ZodDefault<z.ZodString>;
694
+ address: z.ZodDefault<z.ZodString>;
695
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
696
+ name: z.ZodString;
697
+ price: z.ZodNumber;
698
+ }, z.core.$strip>>>;
699
+ taxRate: z.ZodDefault<z.ZodNumber>;
700
+ barcode: z.ZodDefault<z.ZodBoolean>;
701
+ timestamp: z.ZodOptional<z.ZodString>;
702
+ footer: z.ZodDefault<z.ZodString>;
703
+ wash: z.ZodOptional<z.ZodObject<{
704
+ color: z.ZodDefault<z.ZodString>;
705
+ secondary: z.ZodDefault<z.ZodString>;
706
+ blooms: z.ZodDefault<z.ZodNumber>;
707
+ spread: z.ZodDefault<z.ZodNumber>;
708
+ bleed: z.ZodDefault<z.ZodNumber>;
709
+ intensity: z.ZodDefault<z.ZodNumber>;
710
+ edge: z.ZodDefault<z.ZodNumber>;
711
+ granulation: z.ZodDefault<z.ZodNumber>;
712
+ seed: z.ZodDefault<z.ZodNumber>;
713
+ }, z.core.$strip>>;
714
+ }, z.core.$strip>], "type">>;
715
+ }, z.core.$strip>, z.ZodObject<{
716
+ type: z.ZodLiteral<"receipt">;
717
+ store: z.ZodDefault<z.ZodString>;
718
+ address: z.ZodDefault<z.ZodString>;
719
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
720
+ name: z.ZodString;
721
+ price: z.ZodNumber;
722
+ }, z.core.$strip>>>;
723
+ taxRate: z.ZodDefault<z.ZodNumber>;
724
+ barcode: z.ZodDefault<z.ZodBoolean>;
725
+ timestamp: z.ZodOptional<z.ZodString>;
726
+ footer: z.ZodDefault<z.ZodString>;
727
+ wash: z.ZodOptional<z.ZodObject<{
728
+ color: z.ZodDefault<z.ZodString>;
729
+ secondary: z.ZodDefault<z.ZodString>;
730
+ blooms: z.ZodDefault<z.ZodNumber>;
731
+ spread: z.ZodDefault<z.ZodNumber>;
732
+ bleed: z.ZodDefault<z.ZodNumber>;
733
+ intensity: z.ZodDefault<z.ZodNumber>;
734
+ edge: z.ZodDefault<z.ZodNumber>;
735
+ granulation: z.ZodDefault<z.ZodNumber>;
736
+ seed: z.ZodDefault<z.ZodNumber>;
737
+ }, z.core.$strip>>;
738
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
739
+ type: z.ZodLiteral<"blank">;
740
+ wash: z.ZodOptional<z.ZodObject<{
741
+ color: z.ZodDefault<z.ZodString>;
742
+ secondary: z.ZodDefault<z.ZodString>;
743
+ blooms: z.ZodDefault<z.ZodNumber>;
744
+ spread: z.ZodDefault<z.ZodNumber>;
745
+ bleed: z.ZodDefault<z.ZodNumber>;
746
+ intensity: z.ZodDefault<z.ZodNumber>;
747
+ edge: z.ZodDefault<z.ZodNumber>;
748
+ granulation: z.ZodDefault<z.ZodNumber>;
749
+ seed: z.ZodDefault<z.ZodNumber>;
750
+ }, z.core.$strip>>;
751
+ }, z.core.$strip>, z.ZodObject<{
752
+ type: z.ZodLiteral<"image">;
753
+ src: z.ZodDefault<z.ZodString>;
754
+ fit: z.ZodDefault<z.ZodEnum<{
755
+ cover: "cover";
756
+ contain: "contain";
757
+ }>>;
758
+ alt: z.ZodOptional<z.ZodString>;
759
+ wash: z.ZodOptional<z.ZodObject<{
760
+ color: z.ZodDefault<z.ZodString>;
761
+ secondary: z.ZodDefault<z.ZodString>;
762
+ blooms: z.ZodDefault<z.ZodNumber>;
763
+ spread: z.ZodDefault<z.ZodNumber>;
764
+ bleed: z.ZodDefault<z.ZodNumber>;
765
+ intensity: z.ZodDefault<z.ZodNumber>;
766
+ edge: z.ZodDefault<z.ZodNumber>;
767
+ granulation: z.ZodDefault<z.ZodNumber>;
768
+ seed: z.ZodDefault<z.ZodNumber>;
769
+ }, z.core.$strip>>;
770
+ }, z.core.$strip>, z.ZodObject<{
771
+ type: z.ZodLiteral<"text">;
772
+ text: z.ZodDefault<z.ZodString>;
773
+ font: z.ZodDefault<z.ZodString>;
774
+ size: z.ZodDefault<z.ZodNumber>;
775
+ weight: z.ZodDefault<z.ZodNumber>;
776
+ color: z.ZodDefault<z.ZodString>;
777
+ align: z.ZodDefault<z.ZodEnum<{
778
+ left: "left";
779
+ right: "right";
780
+ center: "center";
781
+ }>>;
782
+ padding: z.ZodDefault<z.ZodNumber>;
783
+ lineHeight: z.ZodDefault<z.ZodNumber>;
784
+ tracking: z.ZodDefault<z.ZodNumber>;
785
+ valign: z.ZodDefault<z.ZodEnum<{
786
+ top: "top";
787
+ center: "center";
788
+ }>>;
789
+ wash: z.ZodOptional<z.ZodObject<{
790
+ color: z.ZodDefault<z.ZodString>;
791
+ secondary: z.ZodDefault<z.ZodString>;
792
+ blooms: z.ZodDefault<z.ZodNumber>;
793
+ spread: z.ZodDefault<z.ZodNumber>;
794
+ bleed: z.ZodDefault<z.ZodNumber>;
795
+ intensity: z.ZodDefault<z.ZodNumber>;
796
+ edge: z.ZodDefault<z.ZodNumber>;
797
+ granulation: z.ZodDefault<z.ZodNumber>;
798
+ seed: z.ZodDefault<z.ZodNumber>;
799
+ }, z.core.$strip>>;
800
+ }, z.core.$strip>, z.ZodObject<{
801
+ type: z.ZodLiteral<"card">;
802
+ title: z.ZodDefault<z.ZodString>;
803
+ body: z.ZodDefault<z.ZodString>;
804
+ note: z.ZodDefault<z.ZodString>;
805
+ rule: z.ZodDefault<z.ZodBoolean>;
806
+ ruled: z.ZodDefault<z.ZodBoolean>;
807
+ font: z.ZodDefault<z.ZodString>;
808
+ size: z.ZodDefault<z.ZodNumber>;
809
+ color: z.ZodDefault<z.ZodString>;
810
+ align: z.ZodDefault<z.ZodEnum<{
811
+ left: "left";
812
+ center: "center";
813
+ }>>;
814
+ padding: z.ZodDefault<z.ZodNumber>;
815
+ wash: z.ZodOptional<z.ZodObject<{
816
+ color: z.ZodDefault<z.ZodString>;
817
+ secondary: z.ZodDefault<z.ZodString>;
818
+ blooms: z.ZodDefault<z.ZodNumber>;
819
+ spread: z.ZodDefault<z.ZodNumber>;
820
+ bleed: z.ZodDefault<z.ZodNumber>;
821
+ intensity: z.ZodDefault<z.ZodNumber>;
822
+ edge: z.ZodDefault<z.ZodNumber>;
823
+ granulation: z.ZodDefault<z.ZodNumber>;
824
+ seed: z.ZodDefault<z.ZodNumber>;
825
+ }, z.core.$strip>>;
826
+ }, z.core.$strip>, z.ZodObject<{
827
+ type: z.ZodLiteral<"receipt">;
828
+ store: z.ZodDefault<z.ZodString>;
829
+ address: z.ZodDefault<z.ZodString>;
830
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
831
+ name: z.ZodString;
832
+ price: z.ZodNumber;
833
+ }, z.core.$strip>>>;
834
+ taxRate: z.ZodDefault<z.ZodNumber>;
835
+ barcode: z.ZodDefault<z.ZodBoolean>;
836
+ timestamp: z.ZodOptional<z.ZodString>;
837
+ footer: z.ZodDefault<z.ZodString>;
838
+ wash: z.ZodOptional<z.ZodObject<{
839
+ color: z.ZodDefault<z.ZodString>;
840
+ secondary: z.ZodDefault<z.ZodString>;
841
+ blooms: z.ZodDefault<z.ZodNumber>;
842
+ spread: z.ZodDefault<z.ZodNumber>;
843
+ bleed: z.ZodDefault<z.ZodNumber>;
844
+ intensity: z.ZodDefault<z.ZodNumber>;
845
+ edge: z.ZodDefault<z.ZodNumber>;
846
+ granulation: z.ZodDefault<z.ZodNumber>;
847
+ seed: z.ZodDefault<z.ZodNumber>;
848
+ }, z.core.$strip>>;
849
+ }, z.core.$strip>], "type">>;
850
+ }, z.core.$strip>], "type">;
851
+ type ContentConfig = z.infer<typeof contentSchema>;
852
+ /** What a caller may WRITE — defaults still unfilled. This is the prop type. */
853
+ type ContentConfigInput = z.input<typeof contentSchema>;
854
+ /**
855
+ * Every kind of thing that can print on a sheet, in declaration order.
856
+ *
857
+ * Read off the union rather than written out beside it. The sibling name
858
+ * lists here (`stockNames`, `physicsNames`) are the SOURCE their schema is
859
+ * built from, so a hand-written array is the single source of truth; this
860
+ * one is not — the union is — and a second copy would be free to drift the
861
+ * day a sixth content type lands.
862
+ */
863
+ declare const contentNames: readonly ContentConfig["type"][];
864
+ /**
865
+ * One variant's schema, by its `type`.
866
+ *
867
+ * Exists so that a caller GENERATING UI from the schema — the editor's
868
+ * inspector already does this for behaviors, layouts and the stage — can
869
+ * reach a content variant without reaching into the union's internals.
870
+ * Which member carries which discriminator is the union's own fact to
871
+ * state, not a walk's to rediscover.
872
+ */
873
+ declare function contentSchemaFor(type: ContentConfig['type']): (typeof contentSchema)['options'][number];
874
+ declare const paperEdges: readonly ["top", "right", "bottom", "left"];
875
+ /**
876
+ * Fragment-side effects, composed in registration order into one shader
877
+ * program. Stocks contribute defaults (thermal → banding + yellowing);
878
+ * explicit surface config overrides per effect.
879
+ */
880
+ declare const surfaceSchema: z.ZodObject<{
881
+ grain: z.ZodOptional<z.ZodNumber>;
882
+ translucency: z.ZodOptional<z.ZodNumber>;
883
+ deckle: z.ZodOptional<z.ZodObject<{
884
+ edges: z.ZodDefault<z.ZodArray<z.ZodEnum<{
885
+ bottom: "bottom";
886
+ top: "top";
887
+ left: "left";
888
+ right: "right";
889
+ }>>>;
890
+ roughness: z.ZodDefault<z.ZodNumber>;
891
+ }, z.core.$strip>>;
892
+ creaseLines: z.ZodOptional<z.ZodObject<{
893
+ angle: z.ZodDefault<z.ZodNumber>;
894
+ positions: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
895
+ strength: z.ZodDefault<z.ZodNumber>;
896
+ }, z.core.$strip>>;
897
+ aging: z.ZodOptional<z.ZodNumber>;
898
+ showThrough: z.ZodOptional<z.ZodNumber>;
899
+ perforation: z.ZodOptional<z.ZodObject<{
900
+ edges: z.ZodDefault<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
901
+ bottom: "bottom";
902
+ top: "top";
903
+ left: "left";
904
+ right: "right";
905
+ }>>, z.ZodLiteral<"all">]>>;
906
+ holeRadius: z.ZodDefault<z.ZodNumber>;
907
+ spacing: z.ZodDefault<z.ZodNumber>;
908
+ state: z.ZodDefault<z.ZodObject<{
909
+ top: z.ZodOptional<z.ZodEnum<{
910
+ intact: "intact";
911
+ torn: "torn";
912
+ }>>;
913
+ right: z.ZodOptional<z.ZodEnum<{
914
+ intact: "intact";
915
+ torn: "torn";
916
+ }>>;
917
+ bottom: z.ZodOptional<z.ZodEnum<{
918
+ intact: "intact";
919
+ torn: "torn";
920
+ }>>;
921
+ left: z.ZodOptional<z.ZodEnum<{
922
+ intact: "intact";
923
+ torn: "torn";
924
+ }>>;
925
+ }, z.core.$strip>>;
926
+ }, z.core.$strip>>;
927
+ }, z.core.$strip>;
928
+ type SurfaceConfig = z.infer<typeof surfaceSchema>;
929
+ type SurfaceConfigInput = z.input<typeof surfaceSchema>;
930
+ type PaperEdge = (typeof paperEdges)[number];
931
+ /**
932
+ * A crease the paper carries: a line it has been folded along and did not
933
+ * fully come back from.
934
+ *
935
+ * `angle` and `offset` name the line exactly as {@link foldOptionsSchema}
936
+ * does — angle is the direction the fold TRAVELS and the crease line runs
937
+ * perpendicular to it, offset is the signed distance of that line from the
938
+ * sheet's centre along the travel direction. Naming the line in the fold
939
+ * deformer's own terms is what lets a remembered crease and a live fold
940
+ * recognise each other as the same crease rather than stack into two.
941
+ */
942
+ declare const creaseSchema: z.ZodObject<{
943
+ angle: z.ZodDefault<z.ZodNumber>;
944
+ offset: z.ZodDefault<z.ZodNumber>;
945
+ depth: z.ZodDefault<z.ZodNumber>;
946
+ }, z.core.$strip>;
947
+ type CreaseConfig = z.infer<typeof creaseSchema>;
948
+ type CreaseConfigInput = z.input<typeof creaseSchema>;
949
+ /**
950
+ * What the sheet remembers having been done to it.
951
+ *
952
+ * Paper is PLASTIC where cloth is elastic: fold it and it keeps the fold.
953
+ * Every deformer in the library is a pure function of its options, so a
954
+ * sheet folded to 180° and back to 0° comes out of the stack pristine —
955
+ * which is right for cloth and wrong for the one material Paperlab models.
956
+ * This is the layer that remembers, and it lives beside the stack rather
957
+ * than inside it precisely so deformers stay pure.
958
+ */
959
+ declare const memorySchema: z.ZodObject<{
960
+ set: z.ZodOptional<z.ZodNumber>;
961
+ creases: z.ZodDefault<z.ZodArray<z.ZodObject<{
962
+ angle: z.ZodDefault<z.ZodNumber>;
963
+ offset: z.ZodDefault<z.ZodNumber>;
964
+ depth: z.ZodDefault<z.ZodNumber>;
965
+ }, z.core.$strip>>>;
966
+ }, z.core.$strip>;
967
+ type MemoryConfig = z.infer<typeof memorySchema>;
968
+ type MemoryConfigInput = z.input<typeof memorySchema>;
969
+ declare const behaviorConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
970
+ progress: z.ZodDefault<z.ZodNumber>;
971
+ corner: z.ZodDefault<z.ZodEnum<{
972
+ "top-left": "top-left";
973
+ "top-right": "top-right";
974
+ "bottom-left": "bottom-left";
975
+ "bottom-right": "bottom-right";
976
+ auto: "auto";
977
+ }>>;
978
+ radius: z.ZodDefault<z.ZodNumber>;
979
+ type: z.ZodLiteral<"peel">;
980
+ }, z.core.$strip>, z.ZodObject<{
981
+ progress: z.ZodDefault<z.ZodNumber>;
982
+ tightness: z.ZodDefault<z.ZodNumber>;
983
+ sway: z.ZodDefault<z.ZodNumber>;
984
+ from: z.ZodDefault<z.ZodEnum<{
985
+ bottom: "bottom";
986
+ top: "top";
987
+ }>>;
988
+ core: z.ZodDefault<z.ZodNumber>;
989
+ tail: z.ZodDefault<z.ZodNumber>;
990
+ floor: z.ZodOptional<z.ZodNumber>;
991
+ fixed: z.ZodDefault<z.ZodBoolean>;
992
+ type: z.ZodLiteral<"unroll">;
993
+ }, z.core.$strip>, z.ZodObject<{
994
+ progress: z.ZodDefault<z.ZodNumber>;
995
+ spine: z.ZodDefault<z.ZodEnum<{
996
+ left: "left";
997
+ right: "right";
998
+ }>>;
999
+ radius: z.ZodDefault<z.ZodNumber>;
1000
+ type: z.ZodLiteral<"flip">;
1001
+ }, z.core.$strip>, z.ZodObject<{
1002
+ progress: z.ZodDefault<z.ZodNumber>;
1003
+ crease: z.ZodDefault<z.ZodNumber>;
1004
+ type: z.ZodLiteral<"letter-fold">;
1005
+ }, z.core.$strip>, z.ZodObject<{
1006
+ wind: z.ZodDefault<z.ZodNumber>;
1007
+ sag: z.ZodDefault<z.ZodNumber>;
1008
+ type: z.ZodLiteral<"hang">;
1009
+ }, z.core.$strip>, z.ZodObject<{
1010
+ flutter: z.ZodDefault<z.ZodNumber>;
1011
+ curve: z.ZodDefault<z.ZodNumber>;
1012
+ type: z.ZodLiteral<"fly">;
1013
+ }, z.core.$strip>, z.ZodObject<{
1014
+ flutter: z.ZodDefault<z.ZodNumber>;
1015
+ curl: z.ZodDefault<z.ZodNumber>;
1016
+ type: z.ZodLiteral<"fall">;
1017
+ }, z.core.$strip>, z.ZodObject<{
1018
+ grab: z.ZodDefault<z.ZodEnum<{
1019
+ "top-left": "top-left";
1020
+ "top-right": "top-right";
1021
+ "bottom-left": "bottom-left";
1022
+ "bottom-right": "bottom-right";
1023
+ auto: "auto";
1024
+ }>>;
1025
+ stiffness: z.ZodDefault<z.ZodNumber>;
1026
+ flutter: z.ZodDefault<z.ZodNumber>;
1027
+ lag: z.ZodDefault<z.ZodNumber>;
1028
+ drive: z.ZodDefault<z.ZodNumber>;
1029
+ type: z.ZodLiteral<"carry">;
1030
+ }, z.core.$strip>, z.ZodObject<{
1031
+ wind: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1032
+ gustiness: z.ZodDefault<z.ZodNumber>;
1033
+ tumble: z.ZodDefault<z.ZodNumber>;
1034
+ path: z.ZodDefault<z.ZodEnum<{
1035
+ drift: "drift";
1036
+ loop: "loop";
1037
+ }>>;
1038
+ respawn: z.ZodDefault<z.ZodBoolean>;
1039
+ range: z.ZodDefault<z.ZodNumber>;
1040
+ type: z.ZodLiteral<"flight">;
1041
+ }, z.core.$strip>, z.ZodObject<{
1042
+ progress: z.ZodDefault<z.ZodNumber>;
1043
+ coarseness: z.ZodDefault<z.ZodNumber>;
1044
+ ball: z.ZodDefault<z.ZodNumber>;
1045
+ seed: z.ZodDefault<z.ZodNumber>;
1046
+ type: z.ZodLiteral<"crumple">;
1047
+ }, z.core.$strip>, z.ZodObject<{
1048
+ relax: z.ZodDefault<z.ZodNumber>;
1049
+ lift: z.ZodDefault<z.ZodNumber>;
1050
+ corner: z.ZodDefault<z.ZodEnum<{
1051
+ "top-left": "top-left";
1052
+ "top-right": "top-right";
1053
+ "bottom-left": "bottom-left";
1054
+ "bottom-right": "bottom-right";
1055
+ }>>;
1056
+ slack: z.ZodDefault<z.ZodNumber>;
1057
+ type: z.ZodLiteral<"settle">;
1058
+ }, z.core.$strip>, z.ZodObject<{
1059
+ pool: z.ZodDefault<z.ZodNumber>;
1060
+ curl: z.ZodDefault<z.ZodNumber>;
1061
+ drape: z.ZodDefault<z.ZodNumber>;
1062
+ type: z.ZodLiteral<"ribbon">;
1063
+ }, z.core.$strip>], "type">;
1064
+ type BehaviorConfig = z.infer<typeof behaviorConfigSchema>;
1065
+ type BehaviorConfigInput = z.input<typeof behaviorConfigSchema>;
1066
+ /** Advanced escape hatch: a raw deformer stack (editing one forks the behavior). */
1067
+ declare const deformerInstanceSchema: z.ZodObject<{
1068
+ type: z.ZodString;
1069
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1070
+ enabled: z.ZodDefault<z.ZodBoolean>;
1071
+ }, z.core.$strip>;
1072
+ type DeformerInstanceConfig = z.infer<typeof deformerInstanceSchema>;
1073
+ type DeformerInstanceConfigInput = z.input<typeof deformerInstanceSchema>;
1074
+ /** Kept in sync with `idleNames` in physics/idle.ts (asserted by test). */
1075
+ declare const physicsNames: readonly ["none", "float", "tumble", "dangle", "taped", "breeze"];
1076
+ declare const clothConfigSchema: z.ZodObject<{
1077
+ type: z.ZodLiteral<"cloth">;
1078
+ pins: z.ZodDefault<z.ZodEnum<{
1079
+ corner: "corner";
1080
+ none: "none";
1081
+ "top-edge": "top-edge";
1082
+ "top-corners": "top-corners";
1083
+ }>>;
1084
+ wind: z.ZodDefault<z.ZodNumber>;
1085
+ stiffness: z.ZodDefault<z.ZodNumber>;
1086
+ gravity: z.ZodDefault<z.ZodNumber>;
1087
+ floor: z.ZodDefault<z.ZodNumber>;
1088
+ }, z.core.$strip>;
1089
+ type ClothConfig = z.infer<typeof clothConfigSchema>;
1090
+ /**
1091
+ * A strip of paper paying off a roll, and the pile it makes when it lands.
1092
+ *
1093
+ * The one simulation with a driving body: `scroll` turns the roll, the roll
1094
+ * extrudes paper, and the paper is left to fall. Bind `scroll` to the page —
1095
+ * it is a MONOTONIC world-unit figure, not a 0..1 progress, because the sim
1096
+ * differentiates it and only ever reads the delta.
1097
+ */
1098
+ declare const stripConfigSchema: z.ZodObject<{
1099
+ type: z.ZodLiteral<"strip">;
1100
+ scroll: z.ZodDefault<z.ZodNumber>;
1101
+ tightness: z.ZodDefault<z.ZodNumber>;
1102
+ core: z.ZodDefault<z.ZodNumber>;
1103
+ tail: z.ZodDefault<z.ZodNumber>;
1104
+ perforation: z.ZodDefault<z.ZodNumber>;
1105
+ crease: z.ZodDefault<z.ZodNumber>;
1106
+ stiffness: z.ZodDefault<z.ZodNumber>;
1107
+ drag: z.ZodDefault<z.ZodNumber>;
1108
+ gravity: z.ZodDefault<z.ZodNumber>;
1109
+ floor: z.ZodDefault<z.ZodNumber>;
1110
+ inertia: z.ZodDefault<z.ZodNumber>;
1111
+ }, z.core.$strip>;
1112
+ type StripConfig = z.infer<typeof stripConfigSchema>;
1113
+ declare const physicsSchema: z.ZodUnion<readonly [z.ZodEnum<{
1114
+ none: "none";
1115
+ tumble: "tumble";
1116
+ float: "float";
1117
+ dangle: "dangle";
1118
+ taped: "taped";
1119
+ breeze: "breeze";
1120
+ }>, z.ZodPipe<z.ZodLiteral<"cloth">, z.ZodTransform<{
1121
+ type: "cloth";
1122
+ pins: "corner" | "none" | "top-edge" | "top-corners";
1123
+ wind: number;
1124
+ stiffness: number;
1125
+ gravity: number;
1126
+ floor: number;
1127
+ }, "cloth">>, z.ZodPipe<z.ZodLiteral<"strip">, z.ZodTransform<{
1128
+ type: "strip";
1129
+ scroll: number;
1130
+ tightness: number;
1131
+ core: number;
1132
+ tail: number;
1133
+ perforation: number;
1134
+ crease: number;
1135
+ stiffness: number;
1136
+ drag: number;
1137
+ gravity: number;
1138
+ floor: number;
1139
+ inertia: number;
1140
+ }, "strip">>, z.ZodObject<{
1141
+ type: z.ZodLiteral<"cloth">;
1142
+ pins: z.ZodDefault<z.ZodEnum<{
1143
+ corner: "corner";
1144
+ none: "none";
1145
+ "top-edge": "top-edge";
1146
+ "top-corners": "top-corners";
1147
+ }>>;
1148
+ wind: z.ZodDefault<z.ZodNumber>;
1149
+ stiffness: z.ZodDefault<z.ZodNumber>;
1150
+ gravity: z.ZodDefault<z.ZodNumber>;
1151
+ floor: z.ZodDefault<z.ZodNumber>;
1152
+ }, z.core.$strip>, z.ZodObject<{
1153
+ type: z.ZodLiteral<"strip">;
1154
+ scroll: z.ZodDefault<z.ZodNumber>;
1155
+ tightness: z.ZodDefault<z.ZodNumber>;
1156
+ core: z.ZodDefault<z.ZodNumber>;
1157
+ tail: z.ZodDefault<z.ZodNumber>;
1158
+ perforation: z.ZodDefault<z.ZodNumber>;
1159
+ crease: z.ZodDefault<z.ZodNumber>;
1160
+ stiffness: z.ZodDefault<z.ZodNumber>;
1161
+ drag: z.ZodDefault<z.ZodNumber>;
1162
+ gravity: z.ZodDefault<z.ZodNumber>;
1163
+ floor: z.ZodDefault<z.ZodNumber>;
1164
+ inertia: z.ZodDefault<z.ZodNumber>;
1165
+ }, z.core.$strip>]>;
1166
+ type PhysicsConfig = z.infer<typeof physicsSchema>;
1167
+ type PhysicsConfigInput = z.input<typeof physicsSchema>;
1168
+ declare const lightingNames: readonly ["studio", "window", "leaves", "goldenhour", "noir", "nave", "raking", "lightbox"];
1169
+ /**
1170
+ * The film the picture is printed on — the tone curve that maps unbounded
1171
+ * scene light onto a screen.
1172
+ *
1173
+ * This matters more here than in most 3D work because the subject is almost
1174
+ * white. A sheet of printer stock sits at `#fbfaf7`, and a lit one runs past
1175
+ * 1.0 constantly, so the whole image lives in the part of the curve where
1176
+ * tone mappers disagree most.
1177
+ *
1178
+ * - `neutral` — **the default.** Khronos PBR Neutral, built specifically to
1179
+ * preserve hue and saturation through the highlight roll-off. On a warm
1180
+ * backlit hall it is the only one of the three that keeps the light warm.
1181
+ * - `agx` — filmic, with a long, very graceful roll-off. It also desaturates
1182
+ * hard as it approaches white, which is a look; on a scene whose subject
1183
+ * IS warm light through paper it bleaches the thing you came for.
1184
+ * - `filmic` — ACES. High contrast, drifts bright neutrals toward
1185
+ * yellow-green, and washes out badly once a source is bright enough to
1186
+ * clip. This is what every preset was pinned to before.
1187
+ *
1188
+ * Measured on `nave` rather than argued: rendered through all three with the
1189
+ * source authored as a real HDR emitter, `neutral` holds the cream glow,
1190
+ * `agx` and `filmic` both bleach it to grey-white.
1191
+ */
1192
+ declare const filmNames: readonly ["agx", "neutral", "filmic"];
1193
+ /** Scene-level presentation, serialized with the paper. */
1194
+ /**
1195
+ * Overrides on top of a named preset — the Blender-panel half of lighting.
1196
+ *
1197
+ * Every field is optional ON PURPOSE. An unset field means "whatever the
1198
+ * preset says", so a shared link carries the two sliders you actually moved
1199
+ * rather than a frozen copy of a rig you never touched, and re-basing onto
1200
+ * another preset keeps your intent instead of your numbers.
1201
+ */
1202
+ declare const lightSchema: z.ZodObject<{
1203
+ exposure: z.ZodOptional<z.ZodNumber>;
1204
+ film: z.ZodOptional<z.ZodEnum<{
1205
+ agx: "agx";
1206
+ neutral: "neutral";
1207
+ filmic: "filmic";
1208
+ }>>;
1209
+ key: z.ZodOptional<z.ZodNumber>;
1210
+ color: z.ZodOptional<z.ZodString>;
1211
+ direction: z.ZodOptional<z.ZodNumber>;
1212
+ height: z.ZodOptional<z.ZodNumber>;
1213
+ ambient: z.ZodOptional<z.ZodNumber>;
1214
+ studio: z.ZodOptional<z.ZodNumber>;
1215
+ haze: z.ZodOptional<z.ZodNumber>;
1216
+ }, z.core.$strip>;
1217
+ type LightOverrides = z.infer<typeof lightSchema>;
1218
+ type LightOverridesInput = z.input<typeof lightSchema>;
1219
+ /**
1220
+ * What is behind the sheet.
1221
+ *
1222
+ * Optional, and that is deliberate: an unset backdrop means the canvas is
1223
+ * left exactly as it was found. `<Paper>` has always rendered onto whatever
1224
+ * is behind it, and a default that painted the frame would change the look
1225
+ * of every sheet already on a page.
1226
+ *
1227
+ * It is part of the CONFIG rather than a preview trick in the editor,
1228
+ * because the whole export story is that the code you copy makes the picture
1229
+ * you were looking at. A backdrop that existed only in the editor would make
1230
+ * the most-photographed part of a composition the one thing that does not
1231
+ * travel.
1232
+ */
1233
+ declare const backdropSchema: z.ZodObject<{
1234
+ color: z.ZodDefault<z.ZodString>;
1235
+ image: z.ZodDefault<z.ZodString>;
1236
+ fit: z.ZodDefault<z.ZodEnum<{
1237
+ cover: "cover";
1238
+ contain: "contain";
1239
+ }>>;
1240
+ fade: z.ZodDefault<z.ZodNumber>;
1241
+ blur: z.ZodDefault<z.ZodNumber>;
1242
+ }, z.core.$strip>;
1243
+ type BackdropConfig = z.infer<typeof backdropSchema>;
1244
+ declare const sceneSchema: z.ZodObject<{
1245
+ lighting: z.ZodDefault<z.ZodEnum<{
1246
+ studio: "studio";
1247
+ window: "window";
1248
+ leaves: "leaves";
1249
+ goldenhour: "goldenhour";
1250
+ noir: "noir";
1251
+ nave: "nave";
1252
+ raking: "raking";
1253
+ lightbox: "lightbox";
1254
+ }>>;
1255
+ backdrop: z.ZodOptional<z.ZodObject<{
1256
+ color: z.ZodDefault<z.ZodString>;
1257
+ image: z.ZodDefault<z.ZodString>;
1258
+ fit: z.ZodDefault<z.ZodEnum<{
1259
+ cover: "cover";
1260
+ contain: "contain";
1261
+ }>>;
1262
+ fade: z.ZodDefault<z.ZodNumber>;
1263
+ blur: z.ZodDefault<z.ZodNumber>;
1264
+ }, z.core.$strip>>;
1265
+ turn: z.ZodDefault<z.ZodNumber>;
1266
+ light: z.ZodDefault<z.ZodObject<{
1267
+ exposure: z.ZodOptional<z.ZodNumber>;
1268
+ film: z.ZodOptional<z.ZodEnum<{
1269
+ agx: "agx";
1270
+ neutral: "neutral";
1271
+ filmic: "filmic";
1272
+ }>>;
1273
+ key: z.ZodOptional<z.ZodNumber>;
1274
+ color: z.ZodOptional<z.ZodString>;
1275
+ direction: z.ZodOptional<z.ZodNumber>;
1276
+ height: z.ZodOptional<z.ZodNumber>;
1277
+ ambient: z.ZodOptional<z.ZodNumber>;
1278
+ studio: z.ZodOptional<z.ZodNumber>;
1279
+ haze: z.ZodOptional<z.ZodNumber>;
1280
+ }, z.core.$strip>>;
1281
+ }, z.core.$strip>;
1282
+ type SceneConfig = z.infer<typeof sceneSchema>;
1283
+ type SceneConfigInput = z.input<typeof sceneSchema>;
1284
+ type LightingName = (typeof lightingNames)[number];
1285
+ type FilmName = (typeof filmNames)[number];
1286
+ /**
1287
+ * A state is a set of parameter overrides on the base preset — never a
1288
+ * separate preset. The base stays the single source of truth; states are
1289
+ * diffs. Triggers are fixed and built-in for v1 (pointer + pick/drop flow);
1290
+ * `custom:*` names are the escape hatch for editor v2.
1291
+ */
1292
+ declare const coreStateNames: readonly ["rest", "hover", "pressed", "picked", "placed"];
1293
+ type CoreStateName = (typeof coreStateNames)[number];
1294
+ type StateName = CoreStateName | `custom:${string}`;
1295
+ declare const stateTransitionSchema: z.ZodObject<{
1296
+ duration: z.ZodDefault<z.ZodNumber>;
1297
+ ease: z.ZodDefault<z.ZodString>;
1298
+ }, z.core.$strip>;
1299
+ declare const stateDefSchema: z.ZodObject<{
1300
+ overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1301
+ transition: z.ZodPrefault<z.ZodObject<{
1302
+ duration: z.ZodDefault<z.ZodNumber>;
1303
+ ease: z.ZodDefault<z.ZodString>;
1304
+ }, z.core.$strip>>;
1305
+ onEnter: z.ZodDefault<z.ZodArray<z.ZodString>>;
1306
+ }, z.core.$strip>;
1307
+ declare const paperStatesSchema: z.ZodObject<{
1308
+ initial: z.ZodDefault<z.ZodString>;
1309
+ states: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1310
+ overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1311
+ transition: z.ZodPrefault<z.ZodObject<{
1312
+ duration: z.ZodDefault<z.ZodNumber>;
1313
+ ease: z.ZodDefault<z.ZodString>;
1314
+ }, z.core.$strip>>;
1315
+ onEnter: z.ZodDefault<z.ZodArray<z.ZodString>>;
1316
+ }, z.core.$strip>>>;
1317
+ pickThreshold: z.ZodDefault<z.ZodNumber>;
1318
+ }, z.core.$strip>;
1319
+ type StateTransitionConfig = z.infer<typeof stateTransitionSchema>;
1320
+ type StateDef = z.infer<typeof stateDefSchema>;
1321
+ type PaperStates = z.infer<typeof paperStatesSchema>;
1322
+ type PaperStatesInput = z.input<typeof paperStatesSchema>;
1323
+ declare const paperConfigSchema: z.ZodObject<{
1324
+ meta: z.ZodPrefault<z.ZodObject<{
1325
+ name: z.ZodDefault<z.ZodString>;
1326
+ author: z.ZodOptional<z.ZodString>;
1327
+ version: z.ZodDefault<z.ZodString>;
1328
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1329
+ }, z.core.$strip>>;
1330
+ sheet: z.ZodPrefault<z.ZodObject<{
1331
+ width: z.ZodDefault<z.ZodNumber>;
1332
+ height: z.ZodDefault<z.ZodNumber>;
1333
+ thickness: z.ZodDefault<z.ZodNumber>;
1334
+ segments: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodNumber]>>;
1335
+ cornerRadius: z.ZodDefault<z.ZodNumber>;
1336
+ }, z.core.$strip>>;
1337
+ stock: z.ZodDefault<z.ZodEnum<{
1338
+ printer: "printer";
1339
+ thermal: "thermal";
1340
+ kraft: "kraft";
1341
+ newsprint: "newsprint";
1342
+ vellum: "vellum";
1343
+ "photo-gloss": "photo-gloss";
1344
+ sticker: "sticker";
1345
+ }>>;
1346
+ content: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1347
+ type: z.ZodLiteral<"blank">;
1348
+ wash: z.ZodOptional<z.ZodObject<{
1349
+ color: z.ZodDefault<z.ZodString>;
1350
+ secondary: z.ZodDefault<z.ZodString>;
1351
+ blooms: z.ZodDefault<z.ZodNumber>;
1352
+ spread: z.ZodDefault<z.ZodNumber>;
1353
+ bleed: z.ZodDefault<z.ZodNumber>;
1354
+ intensity: z.ZodDefault<z.ZodNumber>;
1355
+ edge: z.ZodDefault<z.ZodNumber>;
1356
+ granulation: z.ZodDefault<z.ZodNumber>;
1357
+ seed: z.ZodDefault<z.ZodNumber>;
1358
+ }, z.core.$strip>>;
1359
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1360
+ type: z.ZodLiteral<"blank">;
1361
+ wash: z.ZodOptional<z.ZodObject<{
1362
+ color: z.ZodDefault<z.ZodString>;
1363
+ secondary: z.ZodDefault<z.ZodString>;
1364
+ blooms: z.ZodDefault<z.ZodNumber>;
1365
+ spread: z.ZodDefault<z.ZodNumber>;
1366
+ bleed: z.ZodDefault<z.ZodNumber>;
1367
+ intensity: z.ZodDefault<z.ZodNumber>;
1368
+ edge: z.ZodDefault<z.ZodNumber>;
1369
+ granulation: z.ZodDefault<z.ZodNumber>;
1370
+ seed: z.ZodDefault<z.ZodNumber>;
1371
+ }, z.core.$strip>>;
1372
+ }, z.core.$strip>, z.ZodObject<{
1373
+ type: z.ZodLiteral<"image">;
1374
+ src: z.ZodDefault<z.ZodString>;
1375
+ fit: z.ZodDefault<z.ZodEnum<{
1376
+ cover: "cover";
1377
+ contain: "contain";
1378
+ }>>;
1379
+ alt: z.ZodOptional<z.ZodString>;
1380
+ wash: z.ZodOptional<z.ZodObject<{
1381
+ color: z.ZodDefault<z.ZodString>;
1382
+ secondary: z.ZodDefault<z.ZodString>;
1383
+ blooms: z.ZodDefault<z.ZodNumber>;
1384
+ spread: z.ZodDefault<z.ZodNumber>;
1385
+ bleed: z.ZodDefault<z.ZodNumber>;
1386
+ intensity: z.ZodDefault<z.ZodNumber>;
1387
+ edge: z.ZodDefault<z.ZodNumber>;
1388
+ granulation: z.ZodDefault<z.ZodNumber>;
1389
+ seed: z.ZodDefault<z.ZodNumber>;
1390
+ }, z.core.$strip>>;
1391
+ }, z.core.$strip>, z.ZodObject<{
1392
+ type: z.ZodLiteral<"text">;
1393
+ text: z.ZodDefault<z.ZodString>;
1394
+ font: z.ZodDefault<z.ZodString>;
1395
+ size: z.ZodDefault<z.ZodNumber>;
1396
+ weight: z.ZodDefault<z.ZodNumber>;
1397
+ color: z.ZodDefault<z.ZodString>;
1398
+ align: z.ZodDefault<z.ZodEnum<{
1399
+ left: "left";
1400
+ right: "right";
1401
+ center: "center";
1402
+ }>>;
1403
+ padding: z.ZodDefault<z.ZodNumber>;
1404
+ lineHeight: z.ZodDefault<z.ZodNumber>;
1405
+ tracking: z.ZodDefault<z.ZodNumber>;
1406
+ valign: z.ZodDefault<z.ZodEnum<{
1407
+ top: "top";
1408
+ center: "center";
1409
+ }>>;
1410
+ wash: z.ZodOptional<z.ZodObject<{
1411
+ color: z.ZodDefault<z.ZodString>;
1412
+ secondary: z.ZodDefault<z.ZodString>;
1413
+ blooms: z.ZodDefault<z.ZodNumber>;
1414
+ spread: z.ZodDefault<z.ZodNumber>;
1415
+ bleed: z.ZodDefault<z.ZodNumber>;
1416
+ intensity: z.ZodDefault<z.ZodNumber>;
1417
+ edge: z.ZodDefault<z.ZodNumber>;
1418
+ granulation: z.ZodDefault<z.ZodNumber>;
1419
+ seed: z.ZodDefault<z.ZodNumber>;
1420
+ }, z.core.$strip>>;
1421
+ }, z.core.$strip>, z.ZodObject<{
1422
+ type: z.ZodLiteral<"card">;
1423
+ title: z.ZodDefault<z.ZodString>;
1424
+ body: z.ZodDefault<z.ZodString>;
1425
+ note: z.ZodDefault<z.ZodString>;
1426
+ rule: z.ZodDefault<z.ZodBoolean>;
1427
+ ruled: z.ZodDefault<z.ZodBoolean>;
1428
+ font: z.ZodDefault<z.ZodString>;
1429
+ size: z.ZodDefault<z.ZodNumber>;
1430
+ color: z.ZodDefault<z.ZodString>;
1431
+ align: z.ZodDefault<z.ZodEnum<{
1432
+ left: "left";
1433
+ center: "center";
1434
+ }>>;
1435
+ padding: z.ZodDefault<z.ZodNumber>;
1436
+ wash: z.ZodOptional<z.ZodObject<{
1437
+ color: z.ZodDefault<z.ZodString>;
1438
+ secondary: z.ZodDefault<z.ZodString>;
1439
+ blooms: z.ZodDefault<z.ZodNumber>;
1440
+ spread: z.ZodDefault<z.ZodNumber>;
1441
+ bleed: z.ZodDefault<z.ZodNumber>;
1442
+ intensity: z.ZodDefault<z.ZodNumber>;
1443
+ edge: z.ZodDefault<z.ZodNumber>;
1444
+ granulation: z.ZodDefault<z.ZodNumber>;
1445
+ seed: z.ZodDefault<z.ZodNumber>;
1446
+ }, z.core.$strip>>;
1447
+ }, z.core.$strip>, z.ZodObject<{
1448
+ type: z.ZodLiteral<"receipt">;
1449
+ store: z.ZodDefault<z.ZodString>;
1450
+ address: z.ZodDefault<z.ZodString>;
1451
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1452
+ name: z.ZodString;
1453
+ price: z.ZodNumber;
1454
+ }, z.core.$strip>>>;
1455
+ taxRate: z.ZodDefault<z.ZodNumber>;
1456
+ barcode: z.ZodDefault<z.ZodBoolean>;
1457
+ timestamp: z.ZodOptional<z.ZodString>;
1458
+ footer: z.ZodDefault<z.ZodString>;
1459
+ wash: z.ZodOptional<z.ZodObject<{
1460
+ color: z.ZodDefault<z.ZodString>;
1461
+ secondary: z.ZodDefault<z.ZodString>;
1462
+ blooms: z.ZodDefault<z.ZodNumber>;
1463
+ spread: z.ZodDefault<z.ZodNumber>;
1464
+ bleed: z.ZodDefault<z.ZodNumber>;
1465
+ intensity: z.ZodDefault<z.ZodNumber>;
1466
+ edge: z.ZodDefault<z.ZodNumber>;
1467
+ granulation: z.ZodDefault<z.ZodNumber>;
1468
+ seed: z.ZodDefault<z.ZodNumber>;
1469
+ }, z.core.$strip>>;
1470
+ }, z.core.$strip>], "type">>;
1471
+ }, z.core.$strip>, z.ZodObject<{
1472
+ type: z.ZodLiteral<"image">;
1473
+ src: z.ZodDefault<z.ZodString>;
1474
+ fit: z.ZodDefault<z.ZodEnum<{
1475
+ cover: "cover";
1476
+ contain: "contain";
1477
+ }>>;
1478
+ alt: z.ZodOptional<z.ZodString>;
1479
+ wash: z.ZodOptional<z.ZodObject<{
1480
+ color: z.ZodDefault<z.ZodString>;
1481
+ secondary: z.ZodDefault<z.ZodString>;
1482
+ blooms: z.ZodDefault<z.ZodNumber>;
1483
+ spread: z.ZodDefault<z.ZodNumber>;
1484
+ bleed: z.ZodDefault<z.ZodNumber>;
1485
+ intensity: z.ZodDefault<z.ZodNumber>;
1486
+ edge: z.ZodDefault<z.ZodNumber>;
1487
+ granulation: z.ZodDefault<z.ZodNumber>;
1488
+ seed: z.ZodDefault<z.ZodNumber>;
1489
+ }, z.core.$strip>>;
1490
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1491
+ type: z.ZodLiteral<"blank">;
1492
+ wash: z.ZodOptional<z.ZodObject<{
1493
+ color: z.ZodDefault<z.ZodString>;
1494
+ secondary: z.ZodDefault<z.ZodString>;
1495
+ blooms: z.ZodDefault<z.ZodNumber>;
1496
+ spread: z.ZodDefault<z.ZodNumber>;
1497
+ bleed: z.ZodDefault<z.ZodNumber>;
1498
+ intensity: z.ZodDefault<z.ZodNumber>;
1499
+ edge: z.ZodDefault<z.ZodNumber>;
1500
+ granulation: z.ZodDefault<z.ZodNumber>;
1501
+ seed: z.ZodDefault<z.ZodNumber>;
1502
+ }, z.core.$strip>>;
1503
+ }, z.core.$strip>, z.ZodObject<{
1504
+ type: z.ZodLiteral<"image">;
1505
+ src: z.ZodDefault<z.ZodString>;
1506
+ fit: z.ZodDefault<z.ZodEnum<{
1507
+ cover: "cover";
1508
+ contain: "contain";
1509
+ }>>;
1510
+ alt: z.ZodOptional<z.ZodString>;
1511
+ wash: z.ZodOptional<z.ZodObject<{
1512
+ color: z.ZodDefault<z.ZodString>;
1513
+ secondary: z.ZodDefault<z.ZodString>;
1514
+ blooms: z.ZodDefault<z.ZodNumber>;
1515
+ spread: z.ZodDefault<z.ZodNumber>;
1516
+ bleed: z.ZodDefault<z.ZodNumber>;
1517
+ intensity: z.ZodDefault<z.ZodNumber>;
1518
+ edge: z.ZodDefault<z.ZodNumber>;
1519
+ granulation: z.ZodDefault<z.ZodNumber>;
1520
+ seed: z.ZodDefault<z.ZodNumber>;
1521
+ }, z.core.$strip>>;
1522
+ }, z.core.$strip>, z.ZodObject<{
1523
+ type: z.ZodLiteral<"text">;
1524
+ text: z.ZodDefault<z.ZodString>;
1525
+ font: z.ZodDefault<z.ZodString>;
1526
+ size: z.ZodDefault<z.ZodNumber>;
1527
+ weight: z.ZodDefault<z.ZodNumber>;
1528
+ color: z.ZodDefault<z.ZodString>;
1529
+ align: z.ZodDefault<z.ZodEnum<{
1530
+ left: "left";
1531
+ right: "right";
1532
+ center: "center";
1533
+ }>>;
1534
+ padding: z.ZodDefault<z.ZodNumber>;
1535
+ lineHeight: z.ZodDefault<z.ZodNumber>;
1536
+ tracking: z.ZodDefault<z.ZodNumber>;
1537
+ valign: z.ZodDefault<z.ZodEnum<{
1538
+ top: "top";
1539
+ center: "center";
1540
+ }>>;
1541
+ wash: z.ZodOptional<z.ZodObject<{
1542
+ color: z.ZodDefault<z.ZodString>;
1543
+ secondary: z.ZodDefault<z.ZodString>;
1544
+ blooms: z.ZodDefault<z.ZodNumber>;
1545
+ spread: z.ZodDefault<z.ZodNumber>;
1546
+ bleed: z.ZodDefault<z.ZodNumber>;
1547
+ intensity: z.ZodDefault<z.ZodNumber>;
1548
+ edge: z.ZodDefault<z.ZodNumber>;
1549
+ granulation: z.ZodDefault<z.ZodNumber>;
1550
+ seed: z.ZodDefault<z.ZodNumber>;
1551
+ }, z.core.$strip>>;
1552
+ }, z.core.$strip>, z.ZodObject<{
1553
+ type: z.ZodLiteral<"card">;
1554
+ title: z.ZodDefault<z.ZodString>;
1555
+ body: z.ZodDefault<z.ZodString>;
1556
+ note: z.ZodDefault<z.ZodString>;
1557
+ rule: z.ZodDefault<z.ZodBoolean>;
1558
+ ruled: z.ZodDefault<z.ZodBoolean>;
1559
+ font: z.ZodDefault<z.ZodString>;
1560
+ size: z.ZodDefault<z.ZodNumber>;
1561
+ color: z.ZodDefault<z.ZodString>;
1562
+ align: z.ZodDefault<z.ZodEnum<{
1563
+ left: "left";
1564
+ center: "center";
1565
+ }>>;
1566
+ padding: z.ZodDefault<z.ZodNumber>;
1567
+ wash: z.ZodOptional<z.ZodObject<{
1568
+ color: z.ZodDefault<z.ZodString>;
1569
+ secondary: z.ZodDefault<z.ZodString>;
1570
+ blooms: z.ZodDefault<z.ZodNumber>;
1571
+ spread: z.ZodDefault<z.ZodNumber>;
1572
+ bleed: z.ZodDefault<z.ZodNumber>;
1573
+ intensity: z.ZodDefault<z.ZodNumber>;
1574
+ edge: z.ZodDefault<z.ZodNumber>;
1575
+ granulation: z.ZodDefault<z.ZodNumber>;
1576
+ seed: z.ZodDefault<z.ZodNumber>;
1577
+ }, z.core.$strip>>;
1578
+ }, z.core.$strip>, z.ZodObject<{
1579
+ type: z.ZodLiteral<"receipt">;
1580
+ store: z.ZodDefault<z.ZodString>;
1581
+ address: z.ZodDefault<z.ZodString>;
1582
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1583
+ name: z.ZodString;
1584
+ price: z.ZodNumber;
1585
+ }, z.core.$strip>>>;
1586
+ taxRate: z.ZodDefault<z.ZodNumber>;
1587
+ barcode: z.ZodDefault<z.ZodBoolean>;
1588
+ timestamp: z.ZodOptional<z.ZodString>;
1589
+ footer: z.ZodDefault<z.ZodString>;
1590
+ wash: z.ZodOptional<z.ZodObject<{
1591
+ color: z.ZodDefault<z.ZodString>;
1592
+ secondary: z.ZodDefault<z.ZodString>;
1593
+ blooms: z.ZodDefault<z.ZodNumber>;
1594
+ spread: z.ZodDefault<z.ZodNumber>;
1595
+ bleed: z.ZodDefault<z.ZodNumber>;
1596
+ intensity: z.ZodDefault<z.ZodNumber>;
1597
+ edge: z.ZodDefault<z.ZodNumber>;
1598
+ granulation: z.ZodDefault<z.ZodNumber>;
1599
+ seed: z.ZodDefault<z.ZodNumber>;
1600
+ }, z.core.$strip>>;
1601
+ }, z.core.$strip>], "type">>;
1602
+ }, z.core.$strip>, z.ZodObject<{
1603
+ type: z.ZodLiteral<"text">;
1604
+ text: z.ZodDefault<z.ZodString>;
1605
+ font: z.ZodDefault<z.ZodString>;
1606
+ size: z.ZodDefault<z.ZodNumber>;
1607
+ weight: z.ZodDefault<z.ZodNumber>;
1608
+ color: z.ZodDefault<z.ZodString>;
1609
+ align: z.ZodDefault<z.ZodEnum<{
1610
+ left: "left";
1611
+ right: "right";
1612
+ center: "center";
1613
+ }>>;
1614
+ padding: z.ZodDefault<z.ZodNumber>;
1615
+ lineHeight: z.ZodDefault<z.ZodNumber>;
1616
+ tracking: z.ZodDefault<z.ZodNumber>;
1617
+ valign: z.ZodDefault<z.ZodEnum<{
1618
+ top: "top";
1619
+ center: "center";
1620
+ }>>;
1621
+ wash: z.ZodOptional<z.ZodObject<{
1622
+ color: z.ZodDefault<z.ZodString>;
1623
+ secondary: z.ZodDefault<z.ZodString>;
1624
+ blooms: z.ZodDefault<z.ZodNumber>;
1625
+ spread: z.ZodDefault<z.ZodNumber>;
1626
+ bleed: z.ZodDefault<z.ZodNumber>;
1627
+ intensity: z.ZodDefault<z.ZodNumber>;
1628
+ edge: z.ZodDefault<z.ZodNumber>;
1629
+ granulation: z.ZodDefault<z.ZodNumber>;
1630
+ seed: z.ZodDefault<z.ZodNumber>;
1631
+ }, z.core.$strip>>;
1632
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1633
+ type: z.ZodLiteral<"blank">;
1634
+ wash: z.ZodOptional<z.ZodObject<{
1635
+ color: z.ZodDefault<z.ZodString>;
1636
+ secondary: z.ZodDefault<z.ZodString>;
1637
+ blooms: z.ZodDefault<z.ZodNumber>;
1638
+ spread: z.ZodDefault<z.ZodNumber>;
1639
+ bleed: z.ZodDefault<z.ZodNumber>;
1640
+ intensity: z.ZodDefault<z.ZodNumber>;
1641
+ edge: z.ZodDefault<z.ZodNumber>;
1642
+ granulation: z.ZodDefault<z.ZodNumber>;
1643
+ seed: z.ZodDefault<z.ZodNumber>;
1644
+ }, z.core.$strip>>;
1645
+ }, z.core.$strip>, z.ZodObject<{
1646
+ type: z.ZodLiteral<"image">;
1647
+ src: z.ZodDefault<z.ZodString>;
1648
+ fit: z.ZodDefault<z.ZodEnum<{
1649
+ cover: "cover";
1650
+ contain: "contain";
1651
+ }>>;
1652
+ alt: z.ZodOptional<z.ZodString>;
1653
+ wash: z.ZodOptional<z.ZodObject<{
1654
+ color: z.ZodDefault<z.ZodString>;
1655
+ secondary: z.ZodDefault<z.ZodString>;
1656
+ blooms: z.ZodDefault<z.ZodNumber>;
1657
+ spread: z.ZodDefault<z.ZodNumber>;
1658
+ bleed: z.ZodDefault<z.ZodNumber>;
1659
+ intensity: z.ZodDefault<z.ZodNumber>;
1660
+ edge: z.ZodDefault<z.ZodNumber>;
1661
+ granulation: z.ZodDefault<z.ZodNumber>;
1662
+ seed: z.ZodDefault<z.ZodNumber>;
1663
+ }, z.core.$strip>>;
1664
+ }, z.core.$strip>, z.ZodObject<{
1665
+ type: z.ZodLiteral<"text">;
1666
+ text: z.ZodDefault<z.ZodString>;
1667
+ font: z.ZodDefault<z.ZodString>;
1668
+ size: z.ZodDefault<z.ZodNumber>;
1669
+ weight: z.ZodDefault<z.ZodNumber>;
1670
+ color: z.ZodDefault<z.ZodString>;
1671
+ align: z.ZodDefault<z.ZodEnum<{
1672
+ left: "left";
1673
+ right: "right";
1674
+ center: "center";
1675
+ }>>;
1676
+ padding: z.ZodDefault<z.ZodNumber>;
1677
+ lineHeight: z.ZodDefault<z.ZodNumber>;
1678
+ tracking: z.ZodDefault<z.ZodNumber>;
1679
+ valign: z.ZodDefault<z.ZodEnum<{
1680
+ top: "top";
1681
+ center: "center";
1682
+ }>>;
1683
+ wash: z.ZodOptional<z.ZodObject<{
1684
+ color: z.ZodDefault<z.ZodString>;
1685
+ secondary: z.ZodDefault<z.ZodString>;
1686
+ blooms: z.ZodDefault<z.ZodNumber>;
1687
+ spread: z.ZodDefault<z.ZodNumber>;
1688
+ bleed: z.ZodDefault<z.ZodNumber>;
1689
+ intensity: z.ZodDefault<z.ZodNumber>;
1690
+ edge: z.ZodDefault<z.ZodNumber>;
1691
+ granulation: z.ZodDefault<z.ZodNumber>;
1692
+ seed: z.ZodDefault<z.ZodNumber>;
1693
+ }, z.core.$strip>>;
1694
+ }, z.core.$strip>, z.ZodObject<{
1695
+ type: z.ZodLiteral<"card">;
1696
+ title: z.ZodDefault<z.ZodString>;
1697
+ body: z.ZodDefault<z.ZodString>;
1698
+ note: z.ZodDefault<z.ZodString>;
1699
+ rule: z.ZodDefault<z.ZodBoolean>;
1700
+ ruled: z.ZodDefault<z.ZodBoolean>;
1701
+ font: z.ZodDefault<z.ZodString>;
1702
+ size: z.ZodDefault<z.ZodNumber>;
1703
+ color: z.ZodDefault<z.ZodString>;
1704
+ align: z.ZodDefault<z.ZodEnum<{
1705
+ left: "left";
1706
+ center: "center";
1707
+ }>>;
1708
+ padding: z.ZodDefault<z.ZodNumber>;
1709
+ wash: z.ZodOptional<z.ZodObject<{
1710
+ color: z.ZodDefault<z.ZodString>;
1711
+ secondary: z.ZodDefault<z.ZodString>;
1712
+ blooms: z.ZodDefault<z.ZodNumber>;
1713
+ spread: z.ZodDefault<z.ZodNumber>;
1714
+ bleed: z.ZodDefault<z.ZodNumber>;
1715
+ intensity: z.ZodDefault<z.ZodNumber>;
1716
+ edge: z.ZodDefault<z.ZodNumber>;
1717
+ granulation: z.ZodDefault<z.ZodNumber>;
1718
+ seed: z.ZodDefault<z.ZodNumber>;
1719
+ }, z.core.$strip>>;
1720
+ }, z.core.$strip>, z.ZodObject<{
1721
+ type: z.ZodLiteral<"receipt">;
1722
+ store: z.ZodDefault<z.ZodString>;
1723
+ address: z.ZodDefault<z.ZodString>;
1724
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1725
+ name: z.ZodString;
1726
+ price: z.ZodNumber;
1727
+ }, z.core.$strip>>>;
1728
+ taxRate: z.ZodDefault<z.ZodNumber>;
1729
+ barcode: z.ZodDefault<z.ZodBoolean>;
1730
+ timestamp: z.ZodOptional<z.ZodString>;
1731
+ footer: z.ZodDefault<z.ZodString>;
1732
+ wash: z.ZodOptional<z.ZodObject<{
1733
+ color: z.ZodDefault<z.ZodString>;
1734
+ secondary: z.ZodDefault<z.ZodString>;
1735
+ blooms: z.ZodDefault<z.ZodNumber>;
1736
+ spread: z.ZodDefault<z.ZodNumber>;
1737
+ bleed: z.ZodDefault<z.ZodNumber>;
1738
+ intensity: z.ZodDefault<z.ZodNumber>;
1739
+ edge: z.ZodDefault<z.ZodNumber>;
1740
+ granulation: z.ZodDefault<z.ZodNumber>;
1741
+ seed: z.ZodDefault<z.ZodNumber>;
1742
+ }, z.core.$strip>>;
1743
+ }, z.core.$strip>], "type">>;
1744
+ }, z.core.$strip>, z.ZodObject<{
1745
+ type: z.ZodLiteral<"card">;
1746
+ title: z.ZodDefault<z.ZodString>;
1747
+ body: z.ZodDefault<z.ZodString>;
1748
+ note: z.ZodDefault<z.ZodString>;
1749
+ rule: z.ZodDefault<z.ZodBoolean>;
1750
+ ruled: z.ZodDefault<z.ZodBoolean>;
1751
+ font: z.ZodDefault<z.ZodString>;
1752
+ size: z.ZodDefault<z.ZodNumber>;
1753
+ color: z.ZodDefault<z.ZodString>;
1754
+ align: z.ZodDefault<z.ZodEnum<{
1755
+ left: "left";
1756
+ center: "center";
1757
+ }>>;
1758
+ padding: z.ZodDefault<z.ZodNumber>;
1759
+ wash: z.ZodOptional<z.ZodObject<{
1760
+ color: z.ZodDefault<z.ZodString>;
1761
+ secondary: z.ZodDefault<z.ZodString>;
1762
+ blooms: z.ZodDefault<z.ZodNumber>;
1763
+ spread: z.ZodDefault<z.ZodNumber>;
1764
+ bleed: z.ZodDefault<z.ZodNumber>;
1765
+ intensity: z.ZodDefault<z.ZodNumber>;
1766
+ edge: z.ZodDefault<z.ZodNumber>;
1767
+ granulation: z.ZodDefault<z.ZodNumber>;
1768
+ seed: z.ZodDefault<z.ZodNumber>;
1769
+ }, z.core.$strip>>;
1770
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1771
+ type: z.ZodLiteral<"blank">;
1772
+ wash: z.ZodOptional<z.ZodObject<{
1773
+ color: z.ZodDefault<z.ZodString>;
1774
+ secondary: z.ZodDefault<z.ZodString>;
1775
+ blooms: z.ZodDefault<z.ZodNumber>;
1776
+ spread: z.ZodDefault<z.ZodNumber>;
1777
+ bleed: z.ZodDefault<z.ZodNumber>;
1778
+ intensity: z.ZodDefault<z.ZodNumber>;
1779
+ edge: z.ZodDefault<z.ZodNumber>;
1780
+ granulation: z.ZodDefault<z.ZodNumber>;
1781
+ seed: z.ZodDefault<z.ZodNumber>;
1782
+ }, z.core.$strip>>;
1783
+ }, z.core.$strip>, z.ZodObject<{
1784
+ type: z.ZodLiteral<"image">;
1785
+ src: z.ZodDefault<z.ZodString>;
1786
+ fit: z.ZodDefault<z.ZodEnum<{
1787
+ cover: "cover";
1788
+ contain: "contain";
1789
+ }>>;
1790
+ alt: z.ZodOptional<z.ZodString>;
1791
+ wash: z.ZodOptional<z.ZodObject<{
1792
+ color: z.ZodDefault<z.ZodString>;
1793
+ secondary: z.ZodDefault<z.ZodString>;
1794
+ blooms: z.ZodDefault<z.ZodNumber>;
1795
+ spread: z.ZodDefault<z.ZodNumber>;
1796
+ bleed: z.ZodDefault<z.ZodNumber>;
1797
+ intensity: z.ZodDefault<z.ZodNumber>;
1798
+ edge: z.ZodDefault<z.ZodNumber>;
1799
+ granulation: z.ZodDefault<z.ZodNumber>;
1800
+ seed: z.ZodDefault<z.ZodNumber>;
1801
+ }, z.core.$strip>>;
1802
+ }, z.core.$strip>, z.ZodObject<{
1803
+ type: z.ZodLiteral<"text">;
1804
+ text: z.ZodDefault<z.ZodString>;
1805
+ font: z.ZodDefault<z.ZodString>;
1806
+ size: z.ZodDefault<z.ZodNumber>;
1807
+ weight: z.ZodDefault<z.ZodNumber>;
1808
+ color: z.ZodDefault<z.ZodString>;
1809
+ align: z.ZodDefault<z.ZodEnum<{
1810
+ left: "left";
1811
+ right: "right";
1812
+ center: "center";
1813
+ }>>;
1814
+ padding: z.ZodDefault<z.ZodNumber>;
1815
+ lineHeight: z.ZodDefault<z.ZodNumber>;
1816
+ tracking: z.ZodDefault<z.ZodNumber>;
1817
+ valign: z.ZodDefault<z.ZodEnum<{
1818
+ top: "top";
1819
+ center: "center";
1820
+ }>>;
1821
+ wash: z.ZodOptional<z.ZodObject<{
1822
+ color: z.ZodDefault<z.ZodString>;
1823
+ secondary: z.ZodDefault<z.ZodString>;
1824
+ blooms: z.ZodDefault<z.ZodNumber>;
1825
+ spread: z.ZodDefault<z.ZodNumber>;
1826
+ bleed: z.ZodDefault<z.ZodNumber>;
1827
+ intensity: z.ZodDefault<z.ZodNumber>;
1828
+ edge: z.ZodDefault<z.ZodNumber>;
1829
+ granulation: z.ZodDefault<z.ZodNumber>;
1830
+ seed: z.ZodDefault<z.ZodNumber>;
1831
+ }, z.core.$strip>>;
1832
+ }, z.core.$strip>, z.ZodObject<{
1833
+ type: z.ZodLiteral<"card">;
1834
+ title: z.ZodDefault<z.ZodString>;
1835
+ body: z.ZodDefault<z.ZodString>;
1836
+ note: z.ZodDefault<z.ZodString>;
1837
+ rule: z.ZodDefault<z.ZodBoolean>;
1838
+ ruled: z.ZodDefault<z.ZodBoolean>;
1839
+ font: z.ZodDefault<z.ZodString>;
1840
+ size: z.ZodDefault<z.ZodNumber>;
1841
+ color: z.ZodDefault<z.ZodString>;
1842
+ align: z.ZodDefault<z.ZodEnum<{
1843
+ left: "left";
1844
+ center: "center";
1845
+ }>>;
1846
+ padding: z.ZodDefault<z.ZodNumber>;
1847
+ wash: z.ZodOptional<z.ZodObject<{
1848
+ color: z.ZodDefault<z.ZodString>;
1849
+ secondary: z.ZodDefault<z.ZodString>;
1850
+ blooms: z.ZodDefault<z.ZodNumber>;
1851
+ spread: z.ZodDefault<z.ZodNumber>;
1852
+ bleed: z.ZodDefault<z.ZodNumber>;
1853
+ intensity: z.ZodDefault<z.ZodNumber>;
1854
+ edge: z.ZodDefault<z.ZodNumber>;
1855
+ granulation: z.ZodDefault<z.ZodNumber>;
1856
+ seed: z.ZodDefault<z.ZodNumber>;
1857
+ }, z.core.$strip>>;
1858
+ }, z.core.$strip>, z.ZodObject<{
1859
+ type: z.ZodLiteral<"receipt">;
1860
+ store: z.ZodDefault<z.ZodString>;
1861
+ address: z.ZodDefault<z.ZodString>;
1862
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1863
+ name: z.ZodString;
1864
+ price: z.ZodNumber;
1865
+ }, z.core.$strip>>>;
1866
+ taxRate: z.ZodDefault<z.ZodNumber>;
1867
+ barcode: z.ZodDefault<z.ZodBoolean>;
1868
+ timestamp: z.ZodOptional<z.ZodString>;
1869
+ footer: z.ZodDefault<z.ZodString>;
1870
+ wash: z.ZodOptional<z.ZodObject<{
1871
+ color: z.ZodDefault<z.ZodString>;
1872
+ secondary: z.ZodDefault<z.ZodString>;
1873
+ blooms: z.ZodDefault<z.ZodNumber>;
1874
+ spread: z.ZodDefault<z.ZodNumber>;
1875
+ bleed: z.ZodDefault<z.ZodNumber>;
1876
+ intensity: z.ZodDefault<z.ZodNumber>;
1877
+ edge: z.ZodDefault<z.ZodNumber>;
1878
+ granulation: z.ZodDefault<z.ZodNumber>;
1879
+ seed: z.ZodDefault<z.ZodNumber>;
1880
+ }, z.core.$strip>>;
1881
+ }, z.core.$strip>], "type">>;
1882
+ }, z.core.$strip>, z.ZodObject<{
1883
+ type: z.ZodLiteral<"receipt">;
1884
+ store: z.ZodDefault<z.ZodString>;
1885
+ address: z.ZodDefault<z.ZodString>;
1886
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1887
+ name: z.ZodString;
1888
+ price: z.ZodNumber;
1889
+ }, z.core.$strip>>>;
1890
+ taxRate: z.ZodDefault<z.ZodNumber>;
1891
+ barcode: z.ZodDefault<z.ZodBoolean>;
1892
+ timestamp: z.ZodOptional<z.ZodString>;
1893
+ footer: z.ZodDefault<z.ZodString>;
1894
+ wash: z.ZodOptional<z.ZodObject<{
1895
+ color: z.ZodDefault<z.ZodString>;
1896
+ secondary: z.ZodDefault<z.ZodString>;
1897
+ blooms: z.ZodDefault<z.ZodNumber>;
1898
+ spread: z.ZodDefault<z.ZodNumber>;
1899
+ bleed: z.ZodDefault<z.ZodNumber>;
1900
+ intensity: z.ZodDefault<z.ZodNumber>;
1901
+ edge: z.ZodDefault<z.ZodNumber>;
1902
+ granulation: z.ZodDefault<z.ZodNumber>;
1903
+ seed: z.ZodDefault<z.ZodNumber>;
1904
+ }, z.core.$strip>>;
1905
+ back: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1906
+ type: z.ZodLiteral<"blank">;
1907
+ wash: z.ZodOptional<z.ZodObject<{
1908
+ color: z.ZodDefault<z.ZodString>;
1909
+ secondary: z.ZodDefault<z.ZodString>;
1910
+ blooms: z.ZodDefault<z.ZodNumber>;
1911
+ spread: z.ZodDefault<z.ZodNumber>;
1912
+ bleed: z.ZodDefault<z.ZodNumber>;
1913
+ intensity: z.ZodDefault<z.ZodNumber>;
1914
+ edge: z.ZodDefault<z.ZodNumber>;
1915
+ granulation: z.ZodDefault<z.ZodNumber>;
1916
+ seed: z.ZodDefault<z.ZodNumber>;
1917
+ }, z.core.$strip>>;
1918
+ }, z.core.$strip>, z.ZodObject<{
1919
+ type: z.ZodLiteral<"image">;
1920
+ src: z.ZodDefault<z.ZodString>;
1921
+ fit: z.ZodDefault<z.ZodEnum<{
1922
+ cover: "cover";
1923
+ contain: "contain";
1924
+ }>>;
1925
+ alt: z.ZodOptional<z.ZodString>;
1926
+ wash: z.ZodOptional<z.ZodObject<{
1927
+ color: z.ZodDefault<z.ZodString>;
1928
+ secondary: z.ZodDefault<z.ZodString>;
1929
+ blooms: z.ZodDefault<z.ZodNumber>;
1930
+ spread: z.ZodDefault<z.ZodNumber>;
1931
+ bleed: z.ZodDefault<z.ZodNumber>;
1932
+ intensity: z.ZodDefault<z.ZodNumber>;
1933
+ edge: z.ZodDefault<z.ZodNumber>;
1934
+ granulation: z.ZodDefault<z.ZodNumber>;
1935
+ seed: z.ZodDefault<z.ZodNumber>;
1936
+ }, z.core.$strip>>;
1937
+ }, z.core.$strip>, z.ZodObject<{
1938
+ type: z.ZodLiteral<"text">;
1939
+ text: z.ZodDefault<z.ZodString>;
1940
+ font: z.ZodDefault<z.ZodString>;
1941
+ size: z.ZodDefault<z.ZodNumber>;
1942
+ weight: z.ZodDefault<z.ZodNumber>;
1943
+ color: z.ZodDefault<z.ZodString>;
1944
+ align: z.ZodDefault<z.ZodEnum<{
1945
+ left: "left";
1946
+ right: "right";
1947
+ center: "center";
1948
+ }>>;
1949
+ padding: z.ZodDefault<z.ZodNumber>;
1950
+ lineHeight: z.ZodDefault<z.ZodNumber>;
1951
+ tracking: z.ZodDefault<z.ZodNumber>;
1952
+ valign: z.ZodDefault<z.ZodEnum<{
1953
+ top: "top";
1954
+ center: "center";
1955
+ }>>;
1956
+ wash: z.ZodOptional<z.ZodObject<{
1957
+ color: z.ZodDefault<z.ZodString>;
1958
+ secondary: z.ZodDefault<z.ZodString>;
1959
+ blooms: z.ZodDefault<z.ZodNumber>;
1960
+ spread: z.ZodDefault<z.ZodNumber>;
1961
+ bleed: z.ZodDefault<z.ZodNumber>;
1962
+ intensity: z.ZodDefault<z.ZodNumber>;
1963
+ edge: z.ZodDefault<z.ZodNumber>;
1964
+ granulation: z.ZodDefault<z.ZodNumber>;
1965
+ seed: z.ZodDefault<z.ZodNumber>;
1966
+ }, z.core.$strip>>;
1967
+ }, z.core.$strip>, z.ZodObject<{
1968
+ type: z.ZodLiteral<"card">;
1969
+ title: z.ZodDefault<z.ZodString>;
1970
+ body: z.ZodDefault<z.ZodString>;
1971
+ note: z.ZodDefault<z.ZodString>;
1972
+ rule: z.ZodDefault<z.ZodBoolean>;
1973
+ ruled: z.ZodDefault<z.ZodBoolean>;
1974
+ font: z.ZodDefault<z.ZodString>;
1975
+ size: z.ZodDefault<z.ZodNumber>;
1976
+ color: z.ZodDefault<z.ZodString>;
1977
+ align: z.ZodDefault<z.ZodEnum<{
1978
+ left: "left";
1979
+ center: "center";
1980
+ }>>;
1981
+ padding: z.ZodDefault<z.ZodNumber>;
1982
+ wash: z.ZodOptional<z.ZodObject<{
1983
+ color: z.ZodDefault<z.ZodString>;
1984
+ secondary: z.ZodDefault<z.ZodString>;
1985
+ blooms: z.ZodDefault<z.ZodNumber>;
1986
+ spread: z.ZodDefault<z.ZodNumber>;
1987
+ bleed: z.ZodDefault<z.ZodNumber>;
1988
+ intensity: z.ZodDefault<z.ZodNumber>;
1989
+ edge: z.ZodDefault<z.ZodNumber>;
1990
+ granulation: z.ZodDefault<z.ZodNumber>;
1991
+ seed: z.ZodDefault<z.ZodNumber>;
1992
+ }, z.core.$strip>>;
1993
+ }, z.core.$strip>, z.ZodObject<{
1994
+ type: z.ZodLiteral<"receipt">;
1995
+ store: z.ZodDefault<z.ZodString>;
1996
+ address: z.ZodDefault<z.ZodString>;
1997
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1998
+ name: z.ZodString;
1999
+ price: z.ZodNumber;
2000
+ }, z.core.$strip>>>;
2001
+ taxRate: z.ZodDefault<z.ZodNumber>;
2002
+ barcode: z.ZodDefault<z.ZodBoolean>;
2003
+ timestamp: z.ZodOptional<z.ZodString>;
2004
+ footer: z.ZodDefault<z.ZodString>;
2005
+ wash: z.ZodOptional<z.ZodObject<{
2006
+ color: z.ZodDefault<z.ZodString>;
2007
+ secondary: z.ZodDefault<z.ZodString>;
2008
+ blooms: z.ZodDefault<z.ZodNumber>;
2009
+ spread: z.ZodDefault<z.ZodNumber>;
2010
+ bleed: z.ZodDefault<z.ZodNumber>;
2011
+ intensity: z.ZodDefault<z.ZodNumber>;
2012
+ edge: z.ZodDefault<z.ZodNumber>;
2013
+ granulation: z.ZodDefault<z.ZodNumber>;
2014
+ seed: z.ZodDefault<z.ZodNumber>;
2015
+ }, z.core.$strip>>;
2016
+ }, z.core.$strip>], "type">>;
2017
+ }, z.core.$strip>], "type">>;
2018
+ behavior: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2019
+ progress: z.ZodDefault<z.ZodNumber>;
2020
+ corner: z.ZodDefault<z.ZodEnum<{
2021
+ "top-left": "top-left";
2022
+ "top-right": "top-right";
2023
+ "bottom-left": "bottom-left";
2024
+ "bottom-right": "bottom-right";
2025
+ auto: "auto";
2026
+ }>>;
2027
+ radius: z.ZodDefault<z.ZodNumber>;
2028
+ type: z.ZodLiteral<"peel">;
2029
+ }, z.core.$strip>, z.ZodObject<{
2030
+ progress: z.ZodDefault<z.ZodNumber>;
2031
+ tightness: z.ZodDefault<z.ZodNumber>;
2032
+ sway: z.ZodDefault<z.ZodNumber>;
2033
+ from: z.ZodDefault<z.ZodEnum<{
2034
+ bottom: "bottom";
2035
+ top: "top";
2036
+ }>>;
2037
+ core: z.ZodDefault<z.ZodNumber>;
2038
+ tail: z.ZodDefault<z.ZodNumber>;
2039
+ floor: z.ZodOptional<z.ZodNumber>;
2040
+ fixed: z.ZodDefault<z.ZodBoolean>;
2041
+ type: z.ZodLiteral<"unroll">;
2042
+ }, z.core.$strip>, z.ZodObject<{
2043
+ progress: z.ZodDefault<z.ZodNumber>;
2044
+ spine: z.ZodDefault<z.ZodEnum<{
2045
+ left: "left";
2046
+ right: "right";
2047
+ }>>;
2048
+ radius: z.ZodDefault<z.ZodNumber>;
2049
+ type: z.ZodLiteral<"flip">;
2050
+ }, z.core.$strip>, z.ZodObject<{
2051
+ progress: z.ZodDefault<z.ZodNumber>;
2052
+ crease: z.ZodDefault<z.ZodNumber>;
2053
+ type: z.ZodLiteral<"letter-fold">;
2054
+ }, z.core.$strip>, z.ZodObject<{
2055
+ wind: z.ZodDefault<z.ZodNumber>;
2056
+ sag: z.ZodDefault<z.ZodNumber>;
2057
+ type: z.ZodLiteral<"hang">;
2058
+ }, z.core.$strip>, z.ZodObject<{
2059
+ flutter: z.ZodDefault<z.ZodNumber>;
2060
+ curve: z.ZodDefault<z.ZodNumber>;
2061
+ type: z.ZodLiteral<"fly">;
2062
+ }, z.core.$strip>, z.ZodObject<{
2063
+ flutter: z.ZodDefault<z.ZodNumber>;
2064
+ curl: z.ZodDefault<z.ZodNumber>;
2065
+ type: z.ZodLiteral<"fall">;
2066
+ }, z.core.$strip>, z.ZodObject<{
2067
+ grab: z.ZodDefault<z.ZodEnum<{
2068
+ "top-left": "top-left";
2069
+ "top-right": "top-right";
2070
+ "bottom-left": "bottom-left";
2071
+ "bottom-right": "bottom-right";
2072
+ auto: "auto";
2073
+ }>>;
2074
+ stiffness: z.ZodDefault<z.ZodNumber>;
2075
+ flutter: z.ZodDefault<z.ZodNumber>;
2076
+ lag: z.ZodDefault<z.ZodNumber>;
2077
+ drive: z.ZodDefault<z.ZodNumber>;
2078
+ type: z.ZodLiteral<"carry">;
2079
+ }, z.core.$strip>, z.ZodObject<{
2080
+ wind: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2081
+ gustiness: z.ZodDefault<z.ZodNumber>;
2082
+ tumble: z.ZodDefault<z.ZodNumber>;
2083
+ path: z.ZodDefault<z.ZodEnum<{
2084
+ drift: "drift";
2085
+ loop: "loop";
2086
+ }>>;
2087
+ respawn: z.ZodDefault<z.ZodBoolean>;
2088
+ range: z.ZodDefault<z.ZodNumber>;
2089
+ type: z.ZodLiteral<"flight">;
2090
+ }, z.core.$strip>, z.ZodObject<{
2091
+ progress: z.ZodDefault<z.ZodNumber>;
2092
+ coarseness: z.ZodDefault<z.ZodNumber>;
2093
+ ball: z.ZodDefault<z.ZodNumber>;
2094
+ seed: z.ZodDefault<z.ZodNumber>;
2095
+ type: z.ZodLiteral<"crumple">;
2096
+ }, z.core.$strip>, z.ZodObject<{
2097
+ relax: z.ZodDefault<z.ZodNumber>;
2098
+ lift: z.ZodDefault<z.ZodNumber>;
2099
+ corner: z.ZodDefault<z.ZodEnum<{
2100
+ "top-left": "top-left";
2101
+ "top-right": "top-right";
2102
+ "bottom-left": "bottom-left";
2103
+ "bottom-right": "bottom-right";
2104
+ }>>;
2105
+ slack: z.ZodDefault<z.ZodNumber>;
2106
+ type: z.ZodLiteral<"settle">;
2107
+ }, z.core.$strip>, z.ZodObject<{
2108
+ pool: z.ZodDefault<z.ZodNumber>;
2109
+ curl: z.ZodDefault<z.ZodNumber>;
2110
+ drape: z.ZodDefault<z.ZodNumber>;
2111
+ type: z.ZodLiteral<"ribbon">;
2112
+ }, z.core.$strip>], "type">>;
2113
+ deformers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2114
+ type: z.ZodString;
2115
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2116
+ enabled: z.ZodDefault<z.ZodBoolean>;
2117
+ }, z.core.$strip>>>;
2118
+ surface: z.ZodDefault<z.ZodObject<{
2119
+ grain: z.ZodOptional<z.ZodNumber>;
2120
+ translucency: z.ZodOptional<z.ZodNumber>;
2121
+ deckle: z.ZodOptional<z.ZodObject<{
2122
+ edges: z.ZodDefault<z.ZodArray<z.ZodEnum<{
2123
+ bottom: "bottom";
2124
+ top: "top";
2125
+ left: "left";
2126
+ right: "right";
2127
+ }>>>;
2128
+ roughness: z.ZodDefault<z.ZodNumber>;
2129
+ }, z.core.$strip>>;
2130
+ creaseLines: z.ZodOptional<z.ZodObject<{
2131
+ angle: z.ZodDefault<z.ZodNumber>;
2132
+ positions: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
2133
+ strength: z.ZodDefault<z.ZodNumber>;
2134
+ }, z.core.$strip>>;
2135
+ aging: z.ZodOptional<z.ZodNumber>;
2136
+ showThrough: z.ZodOptional<z.ZodNumber>;
2137
+ perforation: z.ZodOptional<z.ZodObject<{
2138
+ edges: z.ZodDefault<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
2139
+ bottom: "bottom";
2140
+ top: "top";
2141
+ left: "left";
2142
+ right: "right";
2143
+ }>>, z.ZodLiteral<"all">]>>;
2144
+ holeRadius: z.ZodDefault<z.ZodNumber>;
2145
+ spacing: z.ZodDefault<z.ZodNumber>;
2146
+ state: z.ZodDefault<z.ZodObject<{
2147
+ top: z.ZodOptional<z.ZodEnum<{
2148
+ intact: "intact";
2149
+ torn: "torn";
2150
+ }>>;
2151
+ right: z.ZodOptional<z.ZodEnum<{
2152
+ intact: "intact";
2153
+ torn: "torn";
2154
+ }>>;
2155
+ bottom: z.ZodOptional<z.ZodEnum<{
2156
+ intact: "intact";
2157
+ torn: "torn";
2158
+ }>>;
2159
+ left: z.ZodOptional<z.ZodEnum<{
2160
+ intact: "intact";
2161
+ torn: "torn";
2162
+ }>>;
2163
+ }, z.core.$strip>>;
2164
+ }, z.core.$strip>>;
2165
+ }, z.core.$strip>>;
2166
+ memory: z.ZodPrefault<z.ZodObject<{
2167
+ set: z.ZodOptional<z.ZodNumber>;
2168
+ creases: z.ZodDefault<z.ZodArray<z.ZodObject<{
2169
+ angle: z.ZodDefault<z.ZodNumber>;
2170
+ offset: z.ZodDefault<z.ZodNumber>;
2171
+ depth: z.ZodDefault<z.ZodNumber>;
2172
+ }, z.core.$strip>>>;
2173
+ }, z.core.$strip>>;
2174
+ physics: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
2175
+ none: "none";
2176
+ tumble: "tumble";
2177
+ float: "float";
2178
+ dangle: "dangle";
2179
+ taped: "taped";
2180
+ breeze: "breeze";
2181
+ }>, z.ZodPipe<z.ZodLiteral<"cloth">, z.ZodTransform<{
2182
+ type: "cloth";
2183
+ pins: "corner" | "none" | "top-edge" | "top-corners";
2184
+ wind: number;
2185
+ stiffness: number;
2186
+ gravity: number;
2187
+ floor: number;
2188
+ }, "cloth">>, z.ZodPipe<z.ZodLiteral<"strip">, z.ZodTransform<{
2189
+ type: "strip";
2190
+ scroll: number;
2191
+ tightness: number;
2192
+ core: number;
2193
+ tail: number;
2194
+ perforation: number;
2195
+ crease: number;
2196
+ stiffness: number;
2197
+ drag: number;
2198
+ gravity: number;
2199
+ floor: number;
2200
+ inertia: number;
2201
+ }, "strip">>, z.ZodObject<{
2202
+ type: z.ZodLiteral<"cloth">;
2203
+ pins: z.ZodDefault<z.ZodEnum<{
2204
+ corner: "corner";
2205
+ none: "none";
2206
+ "top-edge": "top-edge";
2207
+ "top-corners": "top-corners";
2208
+ }>>;
2209
+ wind: z.ZodDefault<z.ZodNumber>;
2210
+ stiffness: z.ZodDefault<z.ZodNumber>;
2211
+ gravity: z.ZodDefault<z.ZodNumber>;
2212
+ floor: z.ZodDefault<z.ZodNumber>;
2213
+ }, z.core.$strip>, z.ZodObject<{
2214
+ type: z.ZodLiteral<"strip">;
2215
+ scroll: z.ZodDefault<z.ZodNumber>;
2216
+ tightness: z.ZodDefault<z.ZodNumber>;
2217
+ core: z.ZodDefault<z.ZodNumber>;
2218
+ tail: z.ZodDefault<z.ZodNumber>;
2219
+ perforation: z.ZodDefault<z.ZodNumber>;
2220
+ crease: z.ZodDefault<z.ZodNumber>;
2221
+ stiffness: z.ZodDefault<z.ZodNumber>;
2222
+ drag: z.ZodDefault<z.ZodNumber>;
2223
+ gravity: z.ZodDefault<z.ZodNumber>;
2224
+ floor: z.ZodDefault<z.ZodNumber>;
2225
+ inertia: z.ZodDefault<z.ZodNumber>;
2226
+ }, z.core.$strip>]>>;
2227
+ scene: z.ZodPrefault<z.ZodObject<{
2228
+ lighting: z.ZodDefault<z.ZodEnum<{
2229
+ studio: "studio";
2230
+ window: "window";
2231
+ leaves: "leaves";
2232
+ goldenhour: "goldenhour";
2233
+ noir: "noir";
2234
+ nave: "nave";
2235
+ raking: "raking";
2236
+ lightbox: "lightbox";
2237
+ }>>;
2238
+ backdrop: z.ZodOptional<z.ZodObject<{
2239
+ color: z.ZodDefault<z.ZodString>;
2240
+ image: z.ZodDefault<z.ZodString>;
2241
+ fit: z.ZodDefault<z.ZodEnum<{
2242
+ cover: "cover";
2243
+ contain: "contain";
2244
+ }>>;
2245
+ fade: z.ZodDefault<z.ZodNumber>;
2246
+ blur: z.ZodDefault<z.ZodNumber>;
2247
+ }, z.core.$strip>>;
2248
+ turn: z.ZodDefault<z.ZodNumber>;
2249
+ light: z.ZodDefault<z.ZodObject<{
2250
+ exposure: z.ZodOptional<z.ZodNumber>;
2251
+ film: z.ZodOptional<z.ZodEnum<{
2252
+ agx: "agx";
2253
+ neutral: "neutral";
2254
+ filmic: "filmic";
2255
+ }>>;
2256
+ key: z.ZodOptional<z.ZodNumber>;
2257
+ color: z.ZodOptional<z.ZodString>;
2258
+ direction: z.ZodOptional<z.ZodNumber>;
2259
+ height: z.ZodOptional<z.ZodNumber>;
2260
+ ambient: z.ZodOptional<z.ZodNumber>;
2261
+ studio: z.ZodOptional<z.ZodNumber>;
2262
+ haze: z.ZodOptional<z.ZodNumber>;
2263
+ }, z.core.$strip>>;
2264
+ }, z.core.$strip>>;
2265
+ onTwos: z.ZodDefault<z.ZodBoolean>;
2266
+ states: z.ZodOptional<z.ZodObject<{
2267
+ initial: z.ZodDefault<z.ZodString>;
2268
+ states: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
2269
+ overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2270
+ transition: z.ZodPrefault<z.ZodObject<{
2271
+ duration: z.ZodDefault<z.ZodNumber>;
2272
+ ease: z.ZodDefault<z.ZodString>;
2273
+ }, z.core.$strip>>;
2274
+ onEnter: z.ZodDefault<z.ZodArray<z.ZodString>>;
2275
+ }, z.core.$strip>>>;
2276
+ pickThreshold: z.ZodDefault<z.ZodNumber>;
2277
+ }, z.core.$strip>>;
2278
+ }, z.core.$strip>;
2279
+ type PaperConfig = z.infer<typeof paperConfigSchema>;
2280
+ type PaperConfigInput = z.input<typeof paperConfigSchema>;
2281
+
2282
+ /** A field slot references a preset — the spec's component/instance model. */
2283
+ interface FieldPaperSlot {
2284
+ preset?: string | PaperConfigInput;
2285
+ /**
2286
+ * INPUT type, not the parsed one. A slot's content is written by a caller,
2287
+ * and the parsed type demands every default be supplied — which turned a
2288
+ * two-line content literal into a type error and is exactly the failure
2289
+ * `config/props.test.ts` was added to catch on the props. Parsed here
2290
+ * (`contentSchema.parse`) so consumers downstream still get a full config.
2291
+ */
2292
+ content?: ContentConfigInput;
2293
+ /** Per-instance state overrides, merged over the preset's states. */
2294
+ states?: PaperStatesInput;
2295
+ }
2296
+
2297
+ export { stockNames as $, type StripConfig as A, type BehaviorConfigInput as B, type ContentConfigInput as C, type DeformerInstanceConfigInput as D, type SurfaceConfig as E, type FieldPaperSlot as F, backdropSchema as G, behaviorConfigSchema as H, clothConfigSchema as I, contentNames as J, contentSchemaFor as K, type LightingName as L, type MemoryConfigInput as M, coreStateNames as N, creaseSchema as O, type PaperConfig as P, lightSchema as Q, lightingNames as R, type SheetConfig as S, memorySchema as T, paperConfigSchema as U, paperEdges as V, type WashConfig as W, paperStatesSchema as X, physicsNames as Y, sceneSchema as Z, stateDefSchema as _, type PaperConfigInput as a, stripConfigSchema as a0, washSchema as a1, type StockName as b, type SurfaceConfigInput as c, type SceneConfigInput as d, type PhysicsConfigInput as e, type CreaseConfig as f, type ContentConfig as g, type PaperStatesInput as h, type FilmName as i, type LightOverrides as j, type BackdropConfig as k, type BackContentConfig as l, type BehaviorConfig as m, type ClothConfig as n, type CoreStateName as o, type CreaseConfigInput as p, type DeformerInstanceConfig as q, type LightOverridesInput as r, type MemoryConfig as s, type PaperEdge as t, type PaperStates as u, type PhysicsConfig as v, type SceneConfig as w, type StateDef as x, type StateName as y, type StateTransitionConfig as z };