@segnavia/format 0.0.0-stage → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1027 @@
1
+ import { TextDirection, firstStrongDirection, languageDirection, resolveDirection } from "./direction.js";
2
+ import { MARK_GAP_MM, MARK_LENGTH_MM, MM_PER_PT, PAPER_MM, PX_PER_MM, PaperBox, printBoxes, printPadding, printProperties, roundMillimeters, sheetMm, toMillimeters } from "./paper.js";
3
+ import { Imposed, MillimeterEdges, PageFit, PagePlacementKind, PagePlacementLayout, Placement, fitPage, impose, mirrorPlacement, pagePlacementLayout } from "./imposition.js";
4
+ import { z } from "zod";
5
+ //#region src/index.d.ts
6
+ export declare const Size: z.ZodObject<{
7
+ width: z.ZodNumber;
8
+ height: z.ZodNumber;
9
+ }, z.core.$strip>;
10
+ export type Size = z.infer<typeof Size>;
11
+ export declare const Scripts: z.ZodEnum<{
12
+ refuse: "refuse";
13
+ sandboxed: "sandboxed";
14
+ }>;
15
+ export type Scripts = z.infer<typeof Scripts>;
16
+ export declare const Direction: z.ZodEnum<{
17
+ ltr: "ltr";
18
+ rtl: "rtl";
19
+ auto: "auto";
20
+ }>;
21
+ export declare const NAMED_PAPERS: readonly ["letter", "legal", "tabloid", "a3", "a4", "a5"];
22
+ export declare const Paper: z.ZodUnion<readonly [z.ZodEnum<{
23
+ letter: "letter";
24
+ legal: "legal";
25
+ tabloid: "tabloid";
26
+ a3: "a3";
27
+ a4: "a4";
28
+ a5: "a5";
29
+ }>, z.ZodObject<{
30
+ width: z.ZodNumber;
31
+ height: z.ZodNumber;
32
+ unit: z.ZodEnum<{
33
+ mm: "mm";
34
+ in: "in";
35
+ pt: "pt";
36
+ }>;
37
+ }, z.core.$strip>]>;
38
+ export type Paper = z.infer<typeof Paper>;
39
+ export declare const Margin: z.ZodObject<{
40
+ top: z.ZodDefault<z.ZodNumber>;
41
+ right: z.ZodDefault<z.ZodNumber>;
42
+ bottom: z.ZodDefault<z.ZodNumber>;
43
+ left: z.ZodDefault<z.ZodNumber>;
44
+ }, z.core.$strip>;
45
+ export declare const Print: z.ZodObject<{
46
+ paper: z.ZodUnion<readonly [z.ZodEnum<{
47
+ letter: "letter";
48
+ legal: "legal";
49
+ tabloid: "tabloid";
50
+ a3: "a3";
51
+ a4: "a4";
52
+ a5: "a5";
53
+ }>, z.ZodObject<{
54
+ width: z.ZodNumber;
55
+ height: z.ZodNumber;
56
+ unit: z.ZodEnum<{
57
+ mm: "mm";
58
+ in: "in";
59
+ pt: "pt";
60
+ }>;
61
+ }, z.core.$strip>]>;
62
+ orientation: z.ZodDefault<z.ZodEnum<{
63
+ portrait: "portrait";
64
+ landscape: "landscape";
65
+ }>>;
66
+ margin: z.ZodOptional<z.ZodObject<{
67
+ top: z.ZodDefault<z.ZodNumber>;
68
+ right: z.ZodDefault<z.ZodNumber>;
69
+ bottom: z.ZodDefault<z.ZodNumber>;
70
+ left: z.ZodDefault<z.ZodNumber>;
71
+ }, z.core.$strip>>;
72
+ bleed: z.ZodDefault<z.ZodNumber>;
73
+ safe: z.ZodDefault<z.ZodNumber>;
74
+ marks: z.ZodDefault<z.ZodBoolean>;
75
+ }, z.core.$strip>;
76
+ export type Print = z.infer<typeof Print>;
77
+ export type PrintInput = z.input<typeof Print>;
78
+ export declare const MAX_IMPOSITION_CELLS = 10000;
79
+ export declare const Imposition: z.ZodObject<{
80
+ paper: z.ZodUnion<readonly [z.ZodEnum<{
81
+ letter: "letter";
82
+ legal: "legal";
83
+ tabloid: "tabloid";
84
+ a3: "a3";
85
+ a4: "a4";
86
+ a5: "a5";
87
+ }>, z.ZodObject<{
88
+ width: z.ZodNumber;
89
+ height: z.ZodNumber;
90
+ unit: z.ZodEnum<{
91
+ mm: "mm";
92
+ in: "in";
93
+ pt: "pt";
94
+ }>;
95
+ }, z.core.$strip>]>;
96
+ orientation: z.ZodDefault<z.ZodEnum<{
97
+ portrait: "portrait";
98
+ landscape: "landscape";
99
+ }>>;
100
+ unit: z.ZodDefault<z.ZodEnum<{
101
+ mm: "mm";
102
+ in: "in";
103
+ pt: "pt";
104
+ }>>;
105
+ margin: z.ZodDefault<z.ZodObject<{
106
+ top: z.ZodDefault<z.ZodNumber>;
107
+ right: z.ZodDefault<z.ZodNumber>;
108
+ bottom: z.ZodDefault<z.ZodNumber>;
109
+ left: z.ZodDefault<z.ZodNumber>;
110
+ }, z.core.$strip>>;
111
+ columns: z.ZodNumber;
112
+ rows: z.ZodNumber;
113
+ cell: z.ZodObject<{
114
+ width: z.ZodNumber;
115
+ height: z.ZodNumber;
116
+ }, z.core.$strip>;
117
+ gap: z.ZodDefault<z.ZodObject<{
118
+ column: z.ZodDefault<z.ZodNumber>;
119
+ row: z.ZodDefault<z.ZodNumber>;
120
+ }, z.core.$strip>>;
121
+ bleed: z.ZodDefault<z.ZodNumber>;
122
+ safe: z.ZodDefault<z.ZodNumber>;
123
+ fit: z.ZodDefault<z.ZodEnum<{
124
+ contain: "contain";
125
+ cover: "cover";
126
+ }>>;
127
+ fill: z.ZodDefault<z.ZodEnum<{
128
+ sequence: "sequence";
129
+ repeat: "repeat";
130
+ }>>;
131
+ sides: z.ZodDefault<z.ZodEnum<{
132
+ one: "one";
133
+ two: "two";
134
+ }>>;
135
+ flip: z.ZodDefault<z.ZodEnum<{
136
+ long: "long";
137
+ short: "short";
138
+ }>>;
139
+ skip: z.ZodDefault<z.ZodNumber>;
140
+ dir: z.ZodDefault<z.ZodEnum<{
141
+ ltr: "ltr";
142
+ rtl: "rtl";
143
+ }>>;
144
+ }, z.core.$strip>;
145
+ export type Imposition = z.infer<typeof Imposition>;
146
+ export type ImpositionInput = z.input<typeof Imposition>;
147
+ export declare const PageSize: z.ZodUnion<readonly [z.ZodLiteral<"fluid">, z.ZodObject<{
148
+ width: z.ZodNumber;
149
+ height: z.ZodNumber;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ width: z.ZodNumber;
152
+ height: z.ZodLiteral<"auto">;
153
+ }, z.core.$strip>]>;
154
+ export type PageSize = z.infer<typeof PageSize>;
155
+ export declare const Page: z.ZodObject<{
156
+ html: z.ZodString;
157
+ size: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"fluid">, z.ZodObject<{
158
+ width: z.ZodNumber;
159
+ height: z.ZodNumber;
160
+ }, z.core.$strip>, z.ZodObject<{
161
+ width: z.ZodNumber;
162
+ height: z.ZodLiteral<"auto">;
163
+ }, z.core.$strip>]>>;
164
+ scripts: z.ZodDefault<z.ZodEnum<{
165
+ refuse: "refuse";
166
+ sandboxed: "sandboxed";
167
+ }>>;
168
+ dir: z.ZodOptional<z.ZodEnum<{
169
+ ltr: "ltr";
170
+ rtl: "rtl";
171
+ auto: "auto";
172
+ }>>;
173
+ lang: z.ZodOptional<z.ZodString>;
174
+ print: z.ZodOptional<z.ZodObject<{
175
+ paper: z.ZodUnion<readonly [z.ZodEnum<{
176
+ letter: "letter";
177
+ legal: "legal";
178
+ tabloid: "tabloid";
179
+ a3: "a3";
180
+ a4: "a4";
181
+ a5: "a5";
182
+ }>, z.ZodObject<{
183
+ width: z.ZodNumber;
184
+ height: z.ZodNumber;
185
+ unit: z.ZodEnum<{
186
+ mm: "mm";
187
+ in: "in";
188
+ pt: "pt";
189
+ }>;
190
+ }, z.core.$strip>]>;
191
+ orientation: z.ZodDefault<z.ZodEnum<{
192
+ portrait: "portrait";
193
+ landscape: "landscape";
194
+ }>>;
195
+ margin: z.ZodOptional<z.ZodObject<{
196
+ top: z.ZodDefault<z.ZodNumber>;
197
+ right: z.ZodDefault<z.ZodNumber>;
198
+ bottom: z.ZodDefault<z.ZodNumber>;
199
+ left: z.ZodDefault<z.ZodNumber>;
200
+ }, z.core.$strip>>;
201
+ bleed: z.ZodDefault<z.ZodNumber>;
202
+ safe: z.ZodDefault<z.ZodNumber>;
203
+ marks: z.ZodDefault<z.ZodBoolean>;
204
+ }, z.core.$strip>>;
205
+ }, z.core.$strip>;
206
+ export type Page = z.infer<typeof Page>;
207
+ export type PageInput = z.input<typeof Page>;
208
+ export declare const Box: z.ZodObject<{
209
+ x: z.ZodNumber;
210
+ y: z.ZodNumber;
211
+ width: z.ZodNumber;
212
+ height: z.ZodNumber;
213
+ }, z.core.$strip>;
214
+ export type Box = z.infer<typeof Box>;
215
+ export declare const Point: z.ZodObject<{
216
+ x: z.ZodNumber;
217
+ y: z.ZodNumber;
218
+ }, z.core.$strip>;
219
+ export declare const Annotation: z.ZodObject<{
220
+ ring: z.ZodNullable<z.ZodObject<{
221
+ x: z.ZodNumber;
222
+ y: z.ZodNumber;
223
+ width: z.ZodNumber;
224
+ height: z.ZodNumber;
225
+ }, z.core.$strip>>;
226
+ badge: z.ZodNullable<z.ZodObject<{
227
+ center: z.ZodObject<{
228
+ x: z.ZodNumber;
229
+ y: z.ZodNumber;
230
+ }, z.core.$strip>;
231
+ number: z.ZodNumber;
232
+ }, z.core.$strip>>;
233
+ arrow: z.ZodNullable<z.ZodObject<{
234
+ head: z.ZodObject<{
235
+ x: z.ZodNumber;
236
+ y: z.ZodNumber;
237
+ }, z.core.$strip>;
238
+ tail: z.ZodObject<{
239
+ x: z.ZodNumber;
240
+ y: z.ZodNumber;
241
+ }, z.core.$strip>;
242
+ label: z.ZodNullable<z.ZodString>;
243
+ }, z.core.$strip>>;
244
+ }, z.core.$strip>;
245
+ export type Annotation = z.infer<typeof Annotation>;
246
+ export declare const SHOT_KEY: RegExp;
247
+ export declare const Shot: z.ZodObject<{
248
+ key: z.ZodString;
249
+ title: z.ZodString;
250
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
251
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
252
+ file: z.ZodString;
253
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
254
+ size: z.ZodObject<{
255
+ width: z.ZodNumber;
256
+ height: z.ZodNumber;
257
+ }, z.core.$strip>;
258
+ scale: z.ZodNumber;
259
+ dir: z.ZodDefault<z.ZodEnum<{
260
+ ltr: "ltr";
261
+ rtl: "rtl";
262
+ }>>;
263
+ annotations: z.ZodArray<z.ZodObject<{
264
+ ring: z.ZodNullable<z.ZodObject<{
265
+ x: z.ZodNumber;
266
+ y: z.ZodNumber;
267
+ width: z.ZodNumber;
268
+ height: z.ZodNumber;
269
+ }, z.core.$strip>>;
270
+ badge: z.ZodNullable<z.ZodObject<{
271
+ center: z.ZodObject<{
272
+ x: z.ZodNumber;
273
+ y: z.ZodNumber;
274
+ }, z.core.$strip>;
275
+ number: z.ZodNumber;
276
+ }, z.core.$strip>>;
277
+ arrow: z.ZodNullable<z.ZodObject<{
278
+ head: z.ZodObject<{
279
+ x: z.ZodNumber;
280
+ y: z.ZodNumber;
281
+ }, z.core.$strip>;
282
+ tail: z.ZodObject<{
283
+ x: z.ZodNumber;
284
+ y: z.ZodNumber;
285
+ }, z.core.$strip>;
286
+ label: z.ZodNullable<z.ZodString>;
287
+ }, z.core.$strip>>;
288
+ }, z.core.$strip>>;
289
+ capturedAt: z.ZodString;
290
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
291
+ }, z.core.$strip>;
292
+ export type Shot = z.infer<typeof Shot>;
293
+ export declare const PublishedShot: z.ZodObject<{
294
+ src: z.ZodString;
295
+ shot: z.ZodObject<{
296
+ key: z.ZodString;
297
+ title: z.ZodString;
298
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
299
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
300
+ file: z.ZodString;
301
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
302
+ size: z.ZodObject<{
303
+ width: z.ZodNumber;
304
+ height: z.ZodNumber;
305
+ }, z.core.$strip>;
306
+ scale: z.ZodNumber;
307
+ dir: z.ZodDefault<z.ZodEnum<{
308
+ ltr: "ltr";
309
+ rtl: "rtl";
310
+ }>>;
311
+ annotations: z.ZodArray<z.ZodObject<{
312
+ ring: z.ZodNullable<z.ZodObject<{
313
+ x: z.ZodNumber;
314
+ y: z.ZodNumber;
315
+ width: z.ZodNumber;
316
+ height: z.ZodNumber;
317
+ }, z.core.$strip>>;
318
+ badge: z.ZodNullable<z.ZodObject<{
319
+ center: z.ZodObject<{
320
+ x: z.ZodNumber;
321
+ y: z.ZodNumber;
322
+ }, z.core.$strip>;
323
+ number: z.ZodNumber;
324
+ }, z.core.$strip>>;
325
+ arrow: z.ZodNullable<z.ZodObject<{
326
+ head: z.ZodObject<{
327
+ x: z.ZodNumber;
328
+ y: z.ZodNumber;
329
+ }, z.core.$strip>;
330
+ tail: z.ZodObject<{
331
+ x: z.ZodNumber;
332
+ y: z.ZodNumber;
333
+ }, z.core.$strip>;
334
+ label: z.ZodNullable<z.ZodString>;
335
+ }, z.core.$strip>>;
336
+ }, z.core.$strip>>;
337
+ capturedAt: z.ZodString;
338
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
339
+ }, z.core.$strip>;
340
+ }, z.core.$strip>;
341
+ export type PublishedShot = z.infer<typeof PublishedShot>;
342
+ export declare const Word: z.ZodObject<{
343
+ text: z.ZodString;
344
+ startMs: z.ZodNumber;
345
+ endMs: z.ZodNumber;
346
+ }, z.core.$strip>;
347
+ export type Word = z.infer<typeof Word>;
348
+ export declare const Cue: z.ZodObject<{
349
+ word: z.ZodNumber;
350
+ annotation: z.ZodNumber;
351
+ untilWord: z.ZodOptional<z.ZodNumber>;
352
+ }, z.core.$strip>;
353
+ export type Cue = z.infer<typeof Cue>;
354
+ export declare const Narration: z.ZodObject<{
355
+ text: z.ZodString;
356
+ lang: z.ZodOptional<z.ZodString>;
357
+ dir: z.ZodOptional<z.ZodEnum<{
358
+ ltr: "ltr";
359
+ rtl: "rtl";
360
+ auto: "auto";
361
+ }>>;
362
+ voice: z.ZodOptional<z.ZodString>;
363
+ words: z.ZodArray<z.ZodObject<{
364
+ text: z.ZodString;
365
+ startMs: z.ZodNumber;
366
+ endMs: z.ZodNumber;
367
+ }, z.core.$strip>>;
368
+ durationMs: z.ZodNumber;
369
+ audio: z.ZodNullable<z.ZodString>;
370
+ live: z.ZodDefault<z.ZodBoolean>;
371
+ cues: z.ZodDefault<z.ZodArray<z.ZodObject<{
372
+ word: z.ZodNumber;
373
+ annotation: z.ZodNumber;
374
+ untilWord: z.ZodOptional<z.ZodNumber>;
375
+ }, z.core.$strip>>>;
376
+ }, z.core.$strip>;
377
+ export type Narration = z.infer<typeof Narration>;
378
+ export declare const SlideContent: z.ZodDiscriminatedUnion<[z.ZodObject<{
379
+ kind: z.ZodLiteral<"html">;
380
+ html: z.ZodString;
381
+ }, z.core.$strip>, z.ZodObject<{
382
+ kind: z.ZodLiteral<"url">;
383
+ src: z.ZodString;
384
+ }, z.core.$strip>, z.ZodObject<{
385
+ kind: z.ZodLiteral<"shot">;
386
+ src: z.ZodString;
387
+ shot: z.ZodObject<{
388
+ key: z.ZodString;
389
+ title: z.ZodString;
390
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
391
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
392
+ file: z.ZodString;
393
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
394
+ size: z.ZodObject<{
395
+ width: z.ZodNumber;
396
+ height: z.ZodNumber;
397
+ }, z.core.$strip>;
398
+ scale: z.ZodNumber;
399
+ dir: z.ZodDefault<z.ZodEnum<{
400
+ ltr: "ltr";
401
+ rtl: "rtl";
402
+ }>>;
403
+ annotations: z.ZodArray<z.ZodObject<{
404
+ ring: z.ZodNullable<z.ZodObject<{
405
+ x: z.ZodNumber;
406
+ y: z.ZodNumber;
407
+ width: z.ZodNumber;
408
+ height: z.ZodNumber;
409
+ }, z.core.$strip>>;
410
+ badge: z.ZodNullable<z.ZodObject<{
411
+ center: z.ZodObject<{
412
+ x: z.ZodNumber;
413
+ y: z.ZodNumber;
414
+ }, z.core.$strip>;
415
+ number: z.ZodNumber;
416
+ }, z.core.$strip>>;
417
+ arrow: z.ZodNullable<z.ZodObject<{
418
+ head: z.ZodObject<{
419
+ x: z.ZodNumber;
420
+ y: z.ZodNumber;
421
+ }, z.core.$strip>;
422
+ tail: z.ZodObject<{
423
+ x: z.ZodNumber;
424
+ y: z.ZodNumber;
425
+ }, z.core.$strip>;
426
+ label: z.ZodNullable<z.ZodString>;
427
+ }, z.core.$strip>>;
428
+ }, z.core.$strip>>;
429
+ capturedAt: z.ZodString;
430
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
431
+ }, z.core.$strip>;
432
+ }, z.core.$strip>, z.ZodObject<{
433
+ kind: z.ZodLiteral<"shot-ref">;
434
+ href: z.ZodString;
435
+ }, z.core.$strip>, z.ZodObject<{
436
+ kind: z.ZodLiteral<"image">;
437
+ src: z.ZodString;
438
+ alt: z.ZodString;
439
+ }, z.core.$strip>], "kind">;
440
+ export type SlideContent = z.infer<typeof SlideContent>;
441
+ export declare const Slide: z.ZodObject<{
442
+ id: z.ZodString;
443
+ content: z.ZodDiscriminatedUnion<[z.ZodObject<{
444
+ kind: z.ZodLiteral<"html">;
445
+ html: z.ZodString;
446
+ }, z.core.$strip>, z.ZodObject<{
447
+ kind: z.ZodLiteral<"url">;
448
+ src: z.ZodString;
449
+ }, z.core.$strip>, z.ZodObject<{
450
+ kind: z.ZodLiteral<"shot">;
451
+ src: z.ZodString;
452
+ shot: z.ZodObject<{
453
+ key: z.ZodString;
454
+ title: z.ZodString;
455
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
456
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
457
+ file: z.ZodString;
458
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
459
+ size: z.ZodObject<{
460
+ width: z.ZodNumber;
461
+ height: z.ZodNumber;
462
+ }, z.core.$strip>;
463
+ scale: z.ZodNumber;
464
+ dir: z.ZodDefault<z.ZodEnum<{
465
+ ltr: "ltr";
466
+ rtl: "rtl";
467
+ }>>;
468
+ annotations: z.ZodArray<z.ZodObject<{
469
+ ring: z.ZodNullable<z.ZodObject<{
470
+ x: z.ZodNumber;
471
+ y: z.ZodNumber;
472
+ width: z.ZodNumber;
473
+ height: z.ZodNumber;
474
+ }, z.core.$strip>>;
475
+ badge: z.ZodNullable<z.ZodObject<{
476
+ center: z.ZodObject<{
477
+ x: z.ZodNumber;
478
+ y: z.ZodNumber;
479
+ }, z.core.$strip>;
480
+ number: z.ZodNumber;
481
+ }, z.core.$strip>>;
482
+ arrow: z.ZodNullable<z.ZodObject<{
483
+ head: z.ZodObject<{
484
+ x: z.ZodNumber;
485
+ y: z.ZodNumber;
486
+ }, z.core.$strip>;
487
+ tail: z.ZodObject<{
488
+ x: z.ZodNumber;
489
+ y: z.ZodNumber;
490
+ }, z.core.$strip>;
491
+ label: z.ZodNullable<z.ZodString>;
492
+ }, z.core.$strip>>;
493
+ }, z.core.$strip>>;
494
+ capturedAt: z.ZodString;
495
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
496
+ }, z.core.$strip>;
497
+ }, z.core.$strip>, z.ZodObject<{
498
+ kind: z.ZodLiteral<"shot-ref">;
499
+ href: z.ZodString;
500
+ }, z.core.$strip>, z.ZodObject<{
501
+ kind: z.ZodLiteral<"image">;
502
+ src: z.ZodString;
503
+ alt: z.ZodString;
504
+ }, z.core.$strip>], "kind">;
505
+ notes: z.ZodOptional<z.ZodString>;
506
+ narration: z.ZodOptional<z.ZodObject<{
507
+ text: z.ZodString;
508
+ lang: z.ZodOptional<z.ZodString>;
509
+ dir: z.ZodOptional<z.ZodEnum<{
510
+ ltr: "ltr";
511
+ rtl: "rtl";
512
+ auto: "auto";
513
+ }>>;
514
+ voice: z.ZodOptional<z.ZodString>;
515
+ words: z.ZodArray<z.ZodObject<{
516
+ text: z.ZodString;
517
+ startMs: z.ZodNumber;
518
+ endMs: z.ZodNumber;
519
+ }, z.core.$strip>>;
520
+ durationMs: z.ZodNumber;
521
+ audio: z.ZodNullable<z.ZodString>;
522
+ live: z.ZodDefault<z.ZodBoolean>;
523
+ cues: z.ZodDefault<z.ZodArray<z.ZodObject<{
524
+ word: z.ZodNumber;
525
+ annotation: z.ZodNumber;
526
+ untilWord: z.ZodOptional<z.ZodNumber>;
527
+ }, z.core.$strip>>>;
528
+ }, z.core.$strip>>;
529
+ }, z.core.$strip>;
530
+ export type Slide = z.infer<typeof Slide>;
531
+ export declare const DECK_SIZE: {
532
+ readonly width: 1280;
533
+ readonly height: 720;
534
+ };
535
+ export declare function annotationCueIssues(narration: Slide['narration'], annotations: number): string[];
536
+ export declare const Deck: z.ZodObject<{
537
+ title: z.ZodString;
538
+ size: z.ZodDefault<z.ZodObject<{
539
+ width: z.ZodNumber;
540
+ height: z.ZodNumber;
541
+ }, z.core.$strip>>;
542
+ scripts: z.ZodDefault<z.ZodEnum<{
543
+ refuse: "refuse";
544
+ sandboxed: "sandboxed";
545
+ }>>;
546
+ dir: z.ZodOptional<z.ZodEnum<{
547
+ ltr: "ltr";
548
+ rtl: "rtl";
549
+ auto: "auto";
550
+ }>>;
551
+ lang: z.ZodOptional<z.ZodString>;
552
+ slides: z.ZodArray<z.ZodObject<{
553
+ id: z.ZodString;
554
+ content: z.ZodDiscriminatedUnion<[z.ZodObject<{
555
+ kind: z.ZodLiteral<"html">;
556
+ html: z.ZodString;
557
+ }, z.core.$strip>, z.ZodObject<{
558
+ kind: z.ZodLiteral<"url">;
559
+ src: z.ZodString;
560
+ }, z.core.$strip>, z.ZodObject<{
561
+ kind: z.ZodLiteral<"shot">;
562
+ src: z.ZodString;
563
+ shot: z.ZodObject<{
564
+ key: z.ZodString;
565
+ title: z.ZodString;
566
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
567
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
568
+ file: z.ZodString;
569
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
570
+ size: z.ZodObject<{
571
+ width: z.ZodNumber;
572
+ height: z.ZodNumber;
573
+ }, z.core.$strip>;
574
+ scale: z.ZodNumber;
575
+ dir: z.ZodDefault<z.ZodEnum<{
576
+ ltr: "ltr";
577
+ rtl: "rtl";
578
+ }>>;
579
+ annotations: z.ZodArray<z.ZodObject<{
580
+ ring: z.ZodNullable<z.ZodObject<{
581
+ x: z.ZodNumber;
582
+ y: z.ZodNumber;
583
+ width: z.ZodNumber;
584
+ height: z.ZodNumber;
585
+ }, z.core.$strip>>;
586
+ badge: z.ZodNullable<z.ZodObject<{
587
+ center: z.ZodObject<{
588
+ x: z.ZodNumber;
589
+ y: z.ZodNumber;
590
+ }, z.core.$strip>;
591
+ number: z.ZodNumber;
592
+ }, z.core.$strip>>;
593
+ arrow: z.ZodNullable<z.ZodObject<{
594
+ head: z.ZodObject<{
595
+ x: z.ZodNumber;
596
+ y: z.ZodNumber;
597
+ }, z.core.$strip>;
598
+ tail: z.ZodObject<{
599
+ x: z.ZodNumber;
600
+ y: z.ZodNumber;
601
+ }, z.core.$strip>;
602
+ label: z.ZodNullable<z.ZodString>;
603
+ }, z.core.$strip>>;
604
+ }, z.core.$strip>>;
605
+ capturedAt: z.ZodString;
606
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
607
+ }, z.core.$strip>;
608
+ }, z.core.$strip>, z.ZodObject<{
609
+ kind: z.ZodLiteral<"shot-ref">;
610
+ href: z.ZodString;
611
+ }, z.core.$strip>, z.ZodObject<{
612
+ kind: z.ZodLiteral<"image">;
613
+ src: z.ZodString;
614
+ alt: z.ZodString;
615
+ }, z.core.$strip>], "kind">;
616
+ notes: z.ZodOptional<z.ZodString>;
617
+ narration: z.ZodOptional<z.ZodObject<{
618
+ text: z.ZodString;
619
+ lang: z.ZodOptional<z.ZodString>;
620
+ dir: z.ZodOptional<z.ZodEnum<{
621
+ ltr: "ltr";
622
+ rtl: "rtl";
623
+ auto: "auto";
624
+ }>>;
625
+ voice: z.ZodOptional<z.ZodString>;
626
+ words: z.ZodArray<z.ZodObject<{
627
+ text: z.ZodString;
628
+ startMs: z.ZodNumber;
629
+ endMs: z.ZodNumber;
630
+ }, z.core.$strip>>;
631
+ durationMs: z.ZodNumber;
632
+ audio: z.ZodNullable<z.ZodString>;
633
+ live: z.ZodDefault<z.ZodBoolean>;
634
+ cues: z.ZodDefault<z.ZodArray<z.ZodObject<{
635
+ word: z.ZodNumber;
636
+ annotation: z.ZodNumber;
637
+ untilWord: z.ZodOptional<z.ZodNumber>;
638
+ }, z.core.$strip>>>;
639
+ }, z.core.$strip>>;
640
+ }, z.core.$strip>>;
641
+ }, z.core.$strip>;
642
+ export type Deck = z.infer<typeof Deck>;
643
+ export type DeckInput = z.input<typeof Deck>;
644
+ export declare const Manifest: z.ZodObject<{
645
+ shots: z.ZodRecord<z.ZodString, z.ZodObject<{
646
+ key: z.ZodString;
647
+ title: z.ZodString;
648
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
649
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
650
+ file: z.ZodString;
651
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
652
+ size: z.ZodObject<{
653
+ width: z.ZodNumber;
654
+ height: z.ZodNumber;
655
+ }, z.core.$strip>;
656
+ scale: z.ZodNumber;
657
+ dir: z.ZodDefault<z.ZodEnum<{
658
+ ltr: "ltr";
659
+ rtl: "rtl";
660
+ }>>;
661
+ annotations: z.ZodArray<z.ZodObject<{
662
+ ring: z.ZodNullable<z.ZodObject<{
663
+ x: z.ZodNumber;
664
+ y: z.ZodNumber;
665
+ width: z.ZodNumber;
666
+ height: z.ZodNumber;
667
+ }, z.core.$strip>>;
668
+ badge: z.ZodNullable<z.ZodObject<{
669
+ center: z.ZodObject<{
670
+ x: z.ZodNumber;
671
+ y: z.ZodNumber;
672
+ }, z.core.$strip>;
673
+ number: z.ZodNumber;
674
+ }, z.core.$strip>>;
675
+ arrow: z.ZodNullable<z.ZodObject<{
676
+ head: z.ZodObject<{
677
+ x: z.ZodNumber;
678
+ y: z.ZodNumber;
679
+ }, z.core.$strip>;
680
+ tail: z.ZodObject<{
681
+ x: z.ZodNumber;
682
+ y: z.ZodNumber;
683
+ }, z.core.$strip>;
684
+ label: z.ZodNullable<z.ZodString>;
685
+ }, z.core.$strip>>;
686
+ }, z.core.$strip>>;
687
+ capturedAt: z.ZodString;
688
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
689
+ }, z.core.$strip>>;
690
+ updatedAt: z.ZodString;
691
+ }, z.core.$strip>;
692
+ export type Manifest = z.infer<typeof Manifest>;
693
+ export interface DeckLimits {
694
+ maxSlides?: number;
695
+ maxSlideBytes?: number;
696
+ maxNotesBytes?: number;
697
+ }
698
+ export declare function exceedsLimits(deck: Deck, limits: DeckLimits): string[];
699
+ export interface ShotUse {
700
+ slide: string;
701
+ key?: string;
702
+ href?: string;
703
+ }
704
+ export declare function shotsUsed(deck: Deck): ShotUse[];
705
+ export declare function jsonSchemas(): {
706
+ page: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
707
+ html: z.ZodString;
708
+ size: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"fluid">, z.ZodObject<{
709
+ width: z.ZodNumber;
710
+ height: z.ZodNumber;
711
+ }, z.core.$strip>, z.ZodObject<{
712
+ width: z.ZodNumber;
713
+ height: z.ZodLiteral<"auto">;
714
+ }, z.core.$strip>]>>;
715
+ scripts: z.ZodDefault<z.ZodEnum<{
716
+ refuse: "refuse";
717
+ sandboxed: "sandboxed";
718
+ }>>;
719
+ dir: z.ZodOptional<z.ZodEnum<{
720
+ ltr: "ltr";
721
+ rtl: "rtl";
722
+ auto: "auto";
723
+ }>>;
724
+ lang: z.ZodOptional<z.ZodString>;
725
+ print: z.ZodOptional<z.ZodObject<{
726
+ paper: z.ZodUnion<readonly [z.ZodEnum<{
727
+ letter: "letter";
728
+ legal: "legal";
729
+ tabloid: "tabloid";
730
+ a3: "a3";
731
+ a4: "a4";
732
+ a5: "a5";
733
+ }>, z.ZodObject<{
734
+ width: z.ZodNumber;
735
+ height: z.ZodNumber;
736
+ unit: z.ZodEnum<{
737
+ mm: "mm";
738
+ in: "in";
739
+ pt: "pt";
740
+ }>;
741
+ }, z.core.$strip>]>;
742
+ orientation: z.ZodDefault<z.ZodEnum<{
743
+ portrait: "portrait";
744
+ landscape: "landscape";
745
+ }>>;
746
+ margin: z.ZodOptional<z.ZodObject<{
747
+ top: z.ZodDefault<z.ZodNumber>;
748
+ right: z.ZodDefault<z.ZodNumber>;
749
+ bottom: z.ZodDefault<z.ZodNumber>;
750
+ left: z.ZodDefault<z.ZodNumber>;
751
+ }, z.core.$strip>>;
752
+ bleed: z.ZodDefault<z.ZodNumber>;
753
+ safe: z.ZodDefault<z.ZodNumber>;
754
+ marks: z.ZodDefault<z.ZodBoolean>;
755
+ }, z.core.$strip>>;
756
+ }, z.core.$strip>>;
757
+ imposition: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
758
+ paper: z.ZodUnion<readonly [z.ZodEnum<{
759
+ letter: "letter";
760
+ legal: "legal";
761
+ tabloid: "tabloid";
762
+ a3: "a3";
763
+ a4: "a4";
764
+ a5: "a5";
765
+ }>, z.ZodObject<{
766
+ width: z.ZodNumber;
767
+ height: z.ZodNumber;
768
+ unit: z.ZodEnum<{
769
+ mm: "mm";
770
+ in: "in";
771
+ pt: "pt";
772
+ }>;
773
+ }, z.core.$strip>]>;
774
+ orientation: z.ZodDefault<z.ZodEnum<{
775
+ portrait: "portrait";
776
+ landscape: "landscape";
777
+ }>>;
778
+ unit: z.ZodDefault<z.ZodEnum<{
779
+ mm: "mm";
780
+ in: "in";
781
+ pt: "pt";
782
+ }>>;
783
+ margin: z.ZodDefault<z.ZodObject<{
784
+ top: z.ZodDefault<z.ZodNumber>;
785
+ right: z.ZodDefault<z.ZodNumber>;
786
+ bottom: z.ZodDefault<z.ZodNumber>;
787
+ left: z.ZodDefault<z.ZodNumber>;
788
+ }, z.core.$strip>>;
789
+ columns: z.ZodNumber;
790
+ rows: z.ZodNumber;
791
+ cell: z.ZodObject<{
792
+ width: z.ZodNumber;
793
+ height: z.ZodNumber;
794
+ }, z.core.$strip>;
795
+ gap: z.ZodDefault<z.ZodObject<{
796
+ column: z.ZodDefault<z.ZodNumber>;
797
+ row: z.ZodDefault<z.ZodNumber>;
798
+ }, z.core.$strip>>;
799
+ bleed: z.ZodDefault<z.ZodNumber>;
800
+ safe: z.ZodDefault<z.ZodNumber>;
801
+ fit: z.ZodDefault<z.ZodEnum<{
802
+ contain: "contain";
803
+ cover: "cover";
804
+ }>>;
805
+ fill: z.ZodDefault<z.ZodEnum<{
806
+ sequence: "sequence";
807
+ repeat: "repeat";
808
+ }>>;
809
+ sides: z.ZodDefault<z.ZodEnum<{
810
+ one: "one";
811
+ two: "two";
812
+ }>>;
813
+ flip: z.ZodDefault<z.ZodEnum<{
814
+ long: "long";
815
+ short: "short";
816
+ }>>;
817
+ skip: z.ZodDefault<z.ZodNumber>;
818
+ dir: z.ZodDefault<z.ZodEnum<{
819
+ ltr: "ltr";
820
+ rtl: "rtl";
821
+ }>>;
822
+ }, z.core.$strip>>;
823
+ deck: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
824
+ title: z.ZodString;
825
+ size: z.ZodDefault<z.ZodObject<{
826
+ width: z.ZodNumber;
827
+ height: z.ZodNumber;
828
+ }, z.core.$strip>>;
829
+ scripts: z.ZodDefault<z.ZodEnum<{
830
+ refuse: "refuse";
831
+ sandboxed: "sandboxed";
832
+ }>>;
833
+ dir: z.ZodOptional<z.ZodEnum<{
834
+ ltr: "ltr";
835
+ rtl: "rtl";
836
+ auto: "auto";
837
+ }>>;
838
+ lang: z.ZodOptional<z.ZodString>;
839
+ slides: z.ZodArray<z.ZodObject<{
840
+ id: z.ZodString;
841
+ content: z.ZodDiscriminatedUnion<[z.ZodObject<{
842
+ kind: z.ZodLiteral<"html">;
843
+ html: z.ZodString;
844
+ }, z.core.$strip>, z.ZodObject<{
845
+ kind: z.ZodLiteral<"url">;
846
+ src: z.ZodString;
847
+ }, z.core.$strip>, z.ZodObject<{
848
+ kind: z.ZodLiteral<"shot">;
849
+ src: z.ZodString;
850
+ shot: z.ZodObject<{
851
+ key: z.ZodString;
852
+ title: z.ZodString;
853
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
854
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
855
+ file: z.ZodString;
856
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
857
+ size: z.ZodObject<{
858
+ width: z.ZodNumber;
859
+ height: z.ZodNumber;
860
+ }, z.core.$strip>;
861
+ scale: z.ZodNumber;
862
+ dir: z.ZodDefault<z.ZodEnum<{
863
+ ltr: "ltr";
864
+ rtl: "rtl";
865
+ }>>;
866
+ annotations: z.ZodArray<z.ZodObject<{
867
+ ring: z.ZodNullable<z.ZodObject<{
868
+ x: z.ZodNumber;
869
+ y: z.ZodNumber;
870
+ width: z.ZodNumber;
871
+ height: z.ZodNumber;
872
+ }, z.core.$strip>>;
873
+ badge: z.ZodNullable<z.ZodObject<{
874
+ center: z.ZodObject<{
875
+ x: z.ZodNumber;
876
+ y: z.ZodNumber;
877
+ }, z.core.$strip>;
878
+ number: z.ZodNumber;
879
+ }, z.core.$strip>>;
880
+ arrow: z.ZodNullable<z.ZodObject<{
881
+ head: z.ZodObject<{
882
+ x: z.ZodNumber;
883
+ y: z.ZodNumber;
884
+ }, z.core.$strip>;
885
+ tail: z.ZodObject<{
886
+ x: z.ZodNumber;
887
+ y: z.ZodNumber;
888
+ }, z.core.$strip>;
889
+ label: z.ZodNullable<z.ZodString>;
890
+ }, z.core.$strip>>;
891
+ }, z.core.$strip>>;
892
+ capturedAt: z.ZodString;
893
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
894
+ }, z.core.$strip>;
895
+ }, z.core.$strip>, z.ZodObject<{
896
+ kind: z.ZodLiteral<"shot-ref">;
897
+ href: z.ZodString;
898
+ }, z.core.$strip>, z.ZodObject<{
899
+ kind: z.ZodLiteral<"image">;
900
+ src: z.ZodString;
901
+ alt: z.ZodString;
902
+ }, z.core.$strip>], "kind">;
903
+ notes: z.ZodOptional<z.ZodString>;
904
+ narration: z.ZodOptional<z.ZodObject<{
905
+ text: z.ZodString;
906
+ lang: z.ZodOptional<z.ZodString>;
907
+ dir: z.ZodOptional<z.ZodEnum<{
908
+ ltr: "ltr";
909
+ rtl: "rtl";
910
+ auto: "auto";
911
+ }>>;
912
+ voice: z.ZodOptional<z.ZodString>;
913
+ words: z.ZodArray<z.ZodObject<{
914
+ text: z.ZodString;
915
+ startMs: z.ZodNumber;
916
+ endMs: z.ZodNumber;
917
+ }, z.core.$strip>>;
918
+ durationMs: z.ZodNumber;
919
+ audio: z.ZodNullable<z.ZodString>;
920
+ live: z.ZodDefault<z.ZodBoolean>;
921
+ cues: z.ZodDefault<z.ZodArray<z.ZodObject<{
922
+ word: z.ZodNumber;
923
+ annotation: z.ZodNumber;
924
+ untilWord: z.ZodOptional<z.ZodNumber>;
925
+ }, z.core.$strip>>>;
926
+ }, z.core.$strip>>;
927
+ }, z.core.$strip>>;
928
+ }, z.core.$strip>>;
929
+ manifest: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
930
+ shots: z.ZodRecord<z.ZodString, z.ZodObject<{
931
+ key: z.ZodString;
932
+ title: z.ZodString;
933
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
934
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
935
+ file: z.ZodString;
936
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
937
+ size: z.ZodObject<{
938
+ width: z.ZodNumber;
939
+ height: z.ZodNumber;
940
+ }, z.core.$strip>;
941
+ scale: z.ZodNumber;
942
+ dir: z.ZodDefault<z.ZodEnum<{
943
+ ltr: "ltr";
944
+ rtl: "rtl";
945
+ }>>;
946
+ annotations: z.ZodArray<z.ZodObject<{
947
+ ring: z.ZodNullable<z.ZodObject<{
948
+ x: z.ZodNumber;
949
+ y: z.ZodNumber;
950
+ width: z.ZodNumber;
951
+ height: z.ZodNumber;
952
+ }, z.core.$strip>>;
953
+ badge: z.ZodNullable<z.ZodObject<{
954
+ center: z.ZodObject<{
955
+ x: z.ZodNumber;
956
+ y: z.ZodNumber;
957
+ }, z.core.$strip>;
958
+ number: z.ZodNumber;
959
+ }, z.core.$strip>>;
960
+ arrow: z.ZodNullable<z.ZodObject<{
961
+ head: z.ZodObject<{
962
+ x: z.ZodNumber;
963
+ y: z.ZodNumber;
964
+ }, z.core.$strip>;
965
+ tail: z.ZodObject<{
966
+ x: z.ZodNumber;
967
+ y: z.ZodNumber;
968
+ }, z.core.$strip>;
969
+ label: z.ZodNullable<z.ZodString>;
970
+ }, z.core.$strip>>;
971
+ }, z.core.$strip>>;
972
+ capturedAt: z.ZodString;
973
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
974
+ }, z.core.$strip>>;
975
+ updatedAt: z.ZodString;
976
+ }, z.core.$strip>>;
977
+ publishedShot: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
978
+ src: z.ZodString;
979
+ shot: z.ZodObject<{
980
+ key: z.ZodString;
981
+ title: z.ZodString;
982
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
983
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
984
+ file: z.ZodString;
985
+ annotatedFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
986
+ size: z.ZodObject<{
987
+ width: z.ZodNumber;
988
+ height: z.ZodNumber;
989
+ }, z.core.$strip>;
990
+ scale: z.ZodNumber;
991
+ dir: z.ZodDefault<z.ZodEnum<{
992
+ ltr: "ltr";
993
+ rtl: "rtl";
994
+ }>>;
995
+ annotations: z.ZodArray<z.ZodObject<{
996
+ ring: z.ZodNullable<z.ZodObject<{
997
+ x: z.ZodNumber;
998
+ y: z.ZodNumber;
999
+ width: z.ZodNumber;
1000
+ height: z.ZodNumber;
1001
+ }, z.core.$strip>>;
1002
+ badge: z.ZodNullable<z.ZodObject<{
1003
+ center: z.ZodObject<{
1004
+ x: z.ZodNumber;
1005
+ y: z.ZodNumber;
1006
+ }, z.core.$strip>;
1007
+ number: z.ZodNumber;
1008
+ }, z.core.$strip>>;
1009
+ arrow: z.ZodNullable<z.ZodObject<{
1010
+ head: z.ZodObject<{
1011
+ x: z.ZodNumber;
1012
+ y: z.ZodNumber;
1013
+ }, z.core.$strip>;
1014
+ tail: z.ZodObject<{
1015
+ x: z.ZodNumber;
1016
+ y: z.ZodNumber;
1017
+ }, z.core.$strip>;
1018
+ label: z.ZodNullable<z.ZodString>;
1019
+ }, z.core.$strip>>;
1020
+ }, z.core.$strip>>;
1021
+ capturedAt: z.ZodString;
1022
+ meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1023
+ }, z.core.$strip>;
1024
+ }, z.core.$strip>>;
1025
+ };
1026
+ //#endregion
1027
+ export { type Imposed, MARK_GAP_MM, MARK_LENGTH_MM, MM_PER_PT, type MillimeterEdges, PAPER_MM, PX_PER_MM, type PageFit, type PagePlacementKind, type PagePlacementLayout, type PaperBox, type Placement, type TextDirection, firstStrongDirection, fitPage, impose, languageDirection, mirrorPlacement, pagePlacementLayout, printBoxes, printPadding, printProperties, resolveDirection, roundMillimeters, sheetMm, toMillimeters };