@spectratools/graphic-designer-cli 0.3.1

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,4809 @@
1
+ import { z } from 'zod';
2
+ import { SKRSContext2D } from '@napi-rs/canvas';
3
+
4
+ declare const DEFAULT_GENERATOR_VERSION = "0.2.0";
5
+ type Rect = {
6
+ x: number;
7
+ y: number;
8
+ width: number;
9
+ height: number;
10
+ };
11
+ type RenderedElement = {
12
+ id: string;
13
+ kind: 'header' | 'card' | 'footer' | 'text' | 'badge' | 'flow-node' | 'connection' | 'terminal' | 'code-block' | 'shape' | 'image' | 'draw' | 'rainbow-rule' | 'gradient-overlay' | 'vignette';
14
+ bounds: Rect;
15
+ foregroundColor?: string;
16
+ backgroundColor?: string;
17
+ allowOverlap?: boolean;
18
+ truncated?: boolean;
19
+ };
20
+ type LayoutSnapshot = {
21
+ safeFrame: DesignSafeFrame;
22
+ elements: RenderedElement[];
23
+ };
24
+ type RenderMetadata = {
25
+ schemaVersion: 2;
26
+ generatorVersion: string;
27
+ renderedAt: string;
28
+ specHash: string;
29
+ artifactHash: string;
30
+ artifactBaseName: string;
31
+ canvas: {
32
+ width: number;
33
+ height: number;
34
+ scale: number;
35
+ };
36
+ layout: LayoutSnapshot;
37
+ };
38
+ type RenderResult = {
39
+ png: Buffer;
40
+ metadata: RenderMetadata;
41
+ };
42
+ type WrittenArtifacts = {
43
+ imagePath: string;
44
+ metadataPath: string;
45
+ metadata: RenderMetadata;
46
+ };
47
+ declare function computeSpecHash(spec: DesignSpec): string;
48
+ declare function renderDesign(input: DesignSpec, options?: {
49
+ generatorVersion?: string;
50
+ renderedAt?: string;
51
+ }): Promise<RenderResult>;
52
+ declare function writeRenderArtifacts(result: RenderResult, out: string): Promise<WrittenArtifacts>;
53
+ declare function inferSidecarPath(imagePath: string): string;
54
+
55
+ type GradientStop$1 = {
56
+ offset: number;
57
+ color: string;
58
+ };
59
+ type LinearGradientSpec = {
60
+ type: 'linear';
61
+ angle?: number;
62
+ stops: GradientStop$1[];
63
+ };
64
+ type RadialGradientSpec = {
65
+ type: 'radial';
66
+ stops: GradientStop$1[];
67
+ };
68
+ type GradientSpec = LinearGradientSpec | RadialGradientSpec;
69
+ declare const DEFAULT_RAINBOW_COLORS: readonly ["#FF6B6B", "#FFA94D", "#FFD43B", "#69DB7C", "#4DABF7", "#9775FA", "#DA77F2"];
70
+ declare function drawGradientRect(ctx: SKRSContext2D, rect: Rect, gradient: GradientSpec, borderRadius?: number): void;
71
+ declare function drawRainbowRule(ctx: SKRSContext2D, x: number, y: number, width: number, thickness?: number, colors?: string[], borderRadius?: number): void;
72
+ declare function drawVignette(ctx: SKRSContext2D, width: number, height: number, intensity?: number, color?: string): void;
73
+
74
+ declare const themeSchema: z.ZodObject<{
75
+ background: z.ZodString;
76
+ surface: z.ZodString;
77
+ surfaceMuted: z.ZodString;
78
+ surfaceElevated: z.ZodString;
79
+ text: z.ZodString;
80
+ textMuted: z.ZodString;
81
+ textInverse: z.ZodString;
82
+ primary: z.ZodString;
83
+ secondary: z.ZodString;
84
+ accent: z.ZodString;
85
+ success: z.ZodString;
86
+ warning: z.ZodString;
87
+ error: z.ZodString;
88
+ info: z.ZodString;
89
+ border: z.ZodString;
90
+ borderMuted: z.ZodString;
91
+ code: z.ZodObject<{
92
+ background: z.ZodString;
93
+ text: z.ZodString;
94
+ comment: z.ZodString;
95
+ keyword: z.ZodString;
96
+ string: z.ZodString;
97
+ number: z.ZodString;
98
+ function: z.ZodString;
99
+ variable: z.ZodString;
100
+ operator: z.ZodString;
101
+ punctuation: z.ZodString;
102
+ }, "strict", z.ZodTypeAny, {
103
+ string: string;
104
+ number: string;
105
+ function: string;
106
+ text: string;
107
+ background: string;
108
+ comment: string;
109
+ keyword: string;
110
+ variable: string;
111
+ operator: string;
112
+ punctuation: string;
113
+ }, {
114
+ string: string;
115
+ number: string;
116
+ function: string;
117
+ text: string;
118
+ background: string;
119
+ comment: string;
120
+ keyword: string;
121
+ variable: string;
122
+ operator: string;
123
+ punctuation: string;
124
+ }>;
125
+ fonts: z.ZodObject<{
126
+ heading: z.ZodString;
127
+ body: z.ZodString;
128
+ mono: z.ZodString;
129
+ }, "strict", z.ZodTypeAny, {
130
+ body: string;
131
+ heading: string;
132
+ mono: string;
133
+ }, {
134
+ body: string;
135
+ heading: string;
136
+ mono: string;
137
+ }>;
138
+ }, "strict", z.ZodTypeAny, {
139
+ code: {
140
+ string: string;
141
+ number: string;
142
+ function: string;
143
+ text: string;
144
+ background: string;
145
+ comment: string;
146
+ keyword: string;
147
+ variable: string;
148
+ operator: string;
149
+ punctuation: string;
150
+ };
151
+ accent: string;
152
+ success: string;
153
+ warning: string;
154
+ error: string;
155
+ text: string;
156
+ background: string;
157
+ surface: string;
158
+ surfaceMuted: string;
159
+ surfaceElevated: string;
160
+ textMuted: string;
161
+ textInverse: string;
162
+ primary: string;
163
+ secondary: string;
164
+ info: string;
165
+ border: string;
166
+ borderMuted: string;
167
+ fonts: {
168
+ body: string;
169
+ heading: string;
170
+ mono: string;
171
+ };
172
+ }, {
173
+ code: {
174
+ string: string;
175
+ number: string;
176
+ function: string;
177
+ text: string;
178
+ background: string;
179
+ comment: string;
180
+ keyword: string;
181
+ variable: string;
182
+ operator: string;
183
+ punctuation: string;
184
+ };
185
+ accent: string;
186
+ success: string;
187
+ warning: string;
188
+ error: string;
189
+ text: string;
190
+ background: string;
191
+ surface: string;
192
+ surfaceMuted: string;
193
+ surfaceElevated: string;
194
+ textMuted: string;
195
+ textInverse: string;
196
+ primary: string;
197
+ secondary: string;
198
+ info: string;
199
+ border: string;
200
+ borderMuted: string;
201
+ fonts: {
202
+ body: string;
203
+ heading: string;
204
+ mono: string;
205
+ };
206
+ }>;
207
+ declare const builtInThemeSchema: z.ZodEnum<["dark", "light", "dracula", "github-dark", "one-dark", "nord"]>;
208
+ type Theme$1 = z.infer<typeof themeSchema>;
209
+ type BuiltInTheme$1 = z.infer<typeof builtInThemeSchema>;
210
+ type ThemeInput$1 = BuiltInTheme$1 | Theme$1;
211
+ declare const builtInThemeBackgrounds: Partial<Record<BuiltInTheme$1, GradientSpec>>;
212
+ declare const builtInThemes: Record<BuiltInTheme$1, Theme$1>;
213
+ declare const defaultTheme: Theme$1;
214
+
215
+ declare function resolveTheme(theme: ThemeInput$1): Theme$1;
216
+
217
+ declare const gradientStopSchema: z.ZodObject<{
218
+ offset: z.ZodNumber;
219
+ color: z.ZodString;
220
+ }, "strict", z.ZodTypeAny, {
221
+ color: string;
222
+ offset: number;
223
+ }, {
224
+ color: string;
225
+ offset: number;
226
+ }>;
227
+ declare const linearGradientSchema: z.ZodObject<{
228
+ type: z.ZodLiteral<"linear">;
229
+ angle: z.ZodDefault<z.ZodNumber>;
230
+ stops: z.ZodArray<z.ZodObject<{
231
+ offset: z.ZodNumber;
232
+ color: z.ZodString;
233
+ }, "strict", z.ZodTypeAny, {
234
+ color: string;
235
+ offset: number;
236
+ }, {
237
+ color: string;
238
+ offset: number;
239
+ }>, "many">;
240
+ }, "strict", z.ZodTypeAny, {
241
+ type: "linear";
242
+ angle: number;
243
+ stops: {
244
+ color: string;
245
+ offset: number;
246
+ }[];
247
+ }, {
248
+ type: "linear";
249
+ stops: {
250
+ color: string;
251
+ offset: number;
252
+ }[];
253
+ angle?: number | undefined;
254
+ }>;
255
+ declare const radialGradientSchema: z.ZodObject<{
256
+ type: z.ZodLiteral<"radial">;
257
+ stops: z.ZodArray<z.ZodObject<{
258
+ offset: z.ZodNumber;
259
+ color: z.ZodString;
260
+ }, "strict", z.ZodTypeAny, {
261
+ color: string;
262
+ offset: number;
263
+ }, {
264
+ color: string;
265
+ offset: number;
266
+ }>, "many">;
267
+ }, "strict", z.ZodTypeAny, {
268
+ type: "radial";
269
+ stops: {
270
+ color: string;
271
+ offset: number;
272
+ }[];
273
+ }, {
274
+ type: "radial";
275
+ stops: {
276
+ color: string;
277
+ offset: number;
278
+ }[];
279
+ }>;
280
+ declare const gradientSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
281
+ type: z.ZodLiteral<"linear">;
282
+ angle: z.ZodDefault<z.ZodNumber>;
283
+ stops: z.ZodArray<z.ZodObject<{
284
+ offset: z.ZodNumber;
285
+ color: z.ZodString;
286
+ }, "strict", z.ZodTypeAny, {
287
+ color: string;
288
+ offset: number;
289
+ }, {
290
+ color: string;
291
+ offset: number;
292
+ }>, "many">;
293
+ }, "strict", z.ZodTypeAny, {
294
+ type: "linear";
295
+ angle: number;
296
+ stops: {
297
+ color: string;
298
+ offset: number;
299
+ }[];
300
+ }, {
301
+ type: "linear";
302
+ stops: {
303
+ color: string;
304
+ offset: number;
305
+ }[];
306
+ angle?: number | undefined;
307
+ }>, z.ZodObject<{
308
+ type: z.ZodLiteral<"radial">;
309
+ stops: z.ZodArray<z.ZodObject<{
310
+ offset: z.ZodNumber;
311
+ color: z.ZodString;
312
+ }, "strict", z.ZodTypeAny, {
313
+ color: string;
314
+ offset: number;
315
+ }, {
316
+ color: string;
317
+ offset: number;
318
+ }>, "many">;
319
+ }, "strict", z.ZodTypeAny, {
320
+ type: "radial";
321
+ stops: {
322
+ color: string;
323
+ offset: number;
324
+ }[];
325
+ }, {
326
+ type: "radial";
327
+ stops: {
328
+ color: string;
329
+ offset: number;
330
+ }[];
331
+ }>]>;
332
+ declare const drawFontFamilySchema: z.ZodEnum<["heading", "body", "mono"]>;
333
+ declare const drawRectSchema: z.ZodObject<{
334
+ type: z.ZodLiteral<"rect">;
335
+ x: z.ZodNumber;
336
+ y: z.ZodNumber;
337
+ width: z.ZodNumber;
338
+ height: z.ZodNumber;
339
+ fill: z.ZodOptional<z.ZodString>;
340
+ stroke: z.ZodOptional<z.ZodString>;
341
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
342
+ radius: z.ZodDefault<z.ZodNumber>;
343
+ opacity: z.ZodDefault<z.ZodNumber>;
344
+ }, "strict", z.ZodTypeAny, {
345
+ type: "rect";
346
+ width: number;
347
+ height: number;
348
+ opacity: number;
349
+ strokeWidth: number;
350
+ x: number;
351
+ y: number;
352
+ radius: number;
353
+ fill?: string | undefined;
354
+ stroke?: string | undefined;
355
+ }, {
356
+ type: "rect";
357
+ width: number;
358
+ height: number;
359
+ x: number;
360
+ y: number;
361
+ fill?: string | undefined;
362
+ opacity?: number | undefined;
363
+ stroke?: string | undefined;
364
+ strokeWidth?: number | undefined;
365
+ radius?: number | undefined;
366
+ }>;
367
+ declare const drawCircleSchema: z.ZodObject<{
368
+ type: z.ZodLiteral<"circle">;
369
+ cx: z.ZodNumber;
370
+ cy: z.ZodNumber;
371
+ radius: z.ZodNumber;
372
+ fill: z.ZodOptional<z.ZodString>;
373
+ stroke: z.ZodOptional<z.ZodString>;
374
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
375
+ opacity: z.ZodDefault<z.ZodNumber>;
376
+ }, "strict", z.ZodTypeAny, {
377
+ type: "circle";
378
+ opacity: number;
379
+ strokeWidth: number;
380
+ radius: number;
381
+ cx: number;
382
+ cy: number;
383
+ fill?: string | undefined;
384
+ stroke?: string | undefined;
385
+ }, {
386
+ type: "circle";
387
+ radius: number;
388
+ cx: number;
389
+ cy: number;
390
+ fill?: string | undefined;
391
+ opacity?: number | undefined;
392
+ stroke?: string | undefined;
393
+ strokeWidth?: number | undefined;
394
+ }>;
395
+ declare const drawTextSchema: z.ZodObject<{
396
+ type: z.ZodLiteral<"text">;
397
+ x: z.ZodNumber;
398
+ y: z.ZodNumber;
399
+ text: z.ZodString;
400
+ fontSize: z.ZodDefault<z.ZodNumber>;
401
+ fontWeight: z.ZodDefault<z.ZodNumber>;
402
+ fontFamily: z.ZodDefault<z.ZodEnum<["heading", "body", "mono"]>>;
403
+ color: z.ZodDefault<z.ZodString>;
404
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
405
+ baseline: z.ZodDefault<z.ZodEnum<["top", "middle", "alphabetic", "bottom"]>>;
406
+ letterSpacing: z.ZodDefault<z.ZodNumber>;
407
+ maxWidth: z.ZodOptional<z.ZodNumber>;
408
+ opacity: z.ZodDefault<z.ZodNumber>;
409
+ }, "strict", z.ZodTypeAny, {
410
+ type: "text";
411
+ color: string;
412
+ opacity: number;
413
+ fontSize: number;
414
+ text: string;
415
+ align: "left" | "center" | "right";
416
+ x: number;
417
+ y: number;
418
+ fontWeight: number;
419
+ fontFamily: "body" | "heading" | "mono";
420
+ baseline: "middle" | "alphabetic" | "bottom" | "top";
421
+ letterSpacing: number;
422
+ maxWidth?: number | undefined;
423
+ }, {
424
+ type: "text";
425
+ text: string;
426
+ x: number;
427
+ y: number;
428
+ color?: string | undefined;
429
+ opacity?: number | undefined;
430
+ fontSize?: number | undefined;
431
+ align?: "left" | "center" | "right" | undefined;
432
+ fontWeight?: number | undefined;
433
+ fontFamily?: "body" | "heading" | "mono" | undefined;
434
+ baseline?: "middle" | "alphabetic" | "bottom" | "top" | undefined;
435
+ letterSpacing?: number | undefined;
436
+ maxWidth?: number | undefined;
437
+ }>;
438
+ declare const drawLineSchema: z.ZodObject<{
439
+ type: z.ZodLiteral<"line">;
440
+ x1: z.ZodNumber;
441
+ y1: z.ZodNumber;
442
+ x2: z.ZodNumber;
443
+ y2: z.ZodNumber;
444
+ color: z.ZodDefault<z.ZodString>;
445
+ width: z.ZodDefault<z.ZodNumber>;
446
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
447
+ arrow: z.ZodDefault<z.ZodEnum<["none", "end", "start", "both"]>>;
448
+ arrowSize: z.ZodDefault<z.ZodNumber>;
449
+ opacity: z.ZodDefault<z.ZodNumber>;
450
+ }, "strict", z.ZodTypeAny, {
451
+ type: "line";
452
+ color: string;
453
+ width: number;
454
+ opacity: number;
455
+ arrow: "end" | "start" | "both" | "none";
456
+ arrowSize: number;
457
+ x1: number;
458
+ y1: number;
459
+ x2: number;
460
+ y2: number;
461
+ dash?: number[] | undefined;
462
+ }, {
463
+ type: "line";
464
+ x1: number;
465
+ y1: number;
466
+ x2: number;
467
+ y2: number;
468
+ color?: string | undefined;
469
+ width?: number | undefined;
470
+ opacity?: number | undefined;
471
+ arrow?: "end" | "start" | "both" | "none" | undefined;
472
+ arrowSize?: number | undefined;
473
+ dash?: number[] | undefined;
474
+ }>;
475
+ declare const drawPointSchema: z.ZodObject<{
476
+ x: z.ZodNumber;
477
+ y: z.ZodNumber;
478
+ }, "strict", z.ZodTypeAny, {
479
+ x: number;
480
+ y: number;
481
+ }, {
482
+ x: number;
483
+ y: number;
484
+ }>;
485
+ declare const drawBezierSchema: z.ZodObject<{
486
+ type: z.ZodLiteral<"bezier">;
487
+ points: z.ZodArray<z.ZodObject<{
488
+ x: z.ZodNumber;
489
+ y: z.ZodNumber;
490
+ }, "strict", z.ZodTypeAny, {
491
+ x: number;
492
+ y: number;
493
+ }, {
494
+ x: number;
495
+ y: number;
496
+ }>, "many">;
497
+ color: z.ZodDefault<z.ZodString>;
498
+ width: z.ZodDefault<z.ZodNumber>;
499
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
500
+ arrow: z.ZodDefault<z.ZodEnum<["none", "end", "start", "both"]>>;
501
+ arrowSize: z.ZodDefault<z.ZodNumber>;
502
+ opacity: z.ZodDefault<z.ZodNumber>;
503
+ }, "strict", z.ZodTypeAny, {
504
+ type: "bezier";
505
+ color: string;
506
+ width: number;
507
+ opacity: number;
508
+ arrow: "end" | "start" | "both" | "none";
509
+ arrowSize: number;
510
+ points: {
511
+ x: number;
512
+ y: number;
513
+ }[];
514
+ dash?: number[] | undefined;
515
+ }, {
516
+ type: "bezier";
517
+ points: {
518
+ x: number;
519
+ y: number;
520
+ }[];
521
+ color?: string | undefined;
522
+ width?: number | undefined;
523
+ opacity?: number | undefined;
524
+ arrow?: "end" | "start" | "both" | "none" | undefined;
525
+ arrowSize?: number | undefined;
526
+ dash?: number[] | undefined;
527
+ }>;
528
+ declare const drawPathSchema: z.ZodObject<{
529
+ type: z.ZodLiteral<"path">;
530
+ d: z.ZodString;
531
+ fill: z.ZodOptional<z.ZodString>;
532
+ stroke: z.ZodOptional<z.ZodString>;
533
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
534
+ opacity: z.ZodDefault<z.ZodNumber>;
535
+ }, "strict", z.ZodTypeAny, {
536
+ type: "path";
537
+ opacity: number;
538
+ strokeWidth: number;
539
+ d: string;
540
+ fill?: string | undefined;
541
+ stroke?: string | undefined;
542
+ }, {
543
+ type: "path";
544
+ d: string;
545
+ fill?: string | undefined;
546
+ opacity?: number | undefined;
547
+ stroke?: string | undefined;
548
+ strokeWidth?: number | undefined;
549
+ }>;
550
+ declare const drawBadgeSchema: z.ZodObject<{
551
+ type: z.ZodLiteral<"badge">;
552
+ x: z.ZodNumber;
553
+ y: z.ZodNumber;
554
+ text: z.ZodString;
555
+ fontSize: z.ZodDefault<z.ZodNumber>;
556
+ fontFamily: z.ZodDefault<z.ZodEnum<["heading", "body", "mono"]>>;
557
+ color: z.ZodDefault<z.ZodString>;
558
+ background: z.ZodDefault<z.ZodString>;
559
+ paddingX: z.ZodDefault<z.ZodNumber>;
560
+ paddingY: z.ZodDefault<z.ZodNumber>;
561
+ borderRadius: z.ZodDefault<z.ZodNumber>;
562
+ opacity: z.ZodDefault<z.ZodNumber>;
563
+ }, "strict", z.ZodTypeAny, {
564
+ type: "badge";
565
+ color: string;
566
+ opacity: number;
567
+ fontSize: number;
568
+ text: string;
569
+ borderRadius: number;
570
+ x: number;
571
+ y: number;
572
+ background: string;
573
+ fontFamily: "body" | "heading" | "mono";
574
+ paddingX: number;
575
+ paddingY: number;
576
+ }, {
577
+ type: "badge";
578
+ text: string;
579
+ x: number;
580
+ y: number;
581
+ color?: string | undefined;
582
+ opacity?: number | undefined;
583
+ fontSize?: number | undefined;
584
+ borderRadius?: number | undefined;
585
+ background?: string | undefined;
586
+ fontFamily?: "body" | "heading" | "mono" | undefined;
587
+ paddingX?: number | undefined;
588
+ paddingY?: number | undefined;
589
+ }>;
590
+ declare const drawGradientRectSchema: z.ZodObject<{
591
+ type: z.ZodLiteral<"gradient-rect">;
592
+ x: z.ZodNumber;
593
+ y: z.ZodNumber;
594
+ width: z.ZodNumber;
595
+ height: z.ZodNumber;
596
+ gradient: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
597
+ type: z.ZodLiteral<"linear">;
598
+ angle: z.ZodDefault<z.ZodNumber>;
599
+ stops: z.ZodArray<z.ZodObject<{
600
+ offset: z.ZodNumber;
601
+ color: z.ZodString;
602
+ }, "strict", z.ZodTypeAny, {
603
+ color: string;
604
+ offset: number;
605
+ }, {
606
+ color: string;
607
+ offset: number;
608
+ }>, "many">;
609
+ }, "strict", z.ZodTypeAny, {
610
+ type: "linear";
611
+ angle: number;
612
+ stops: {
613
+ color: string;
614
+ offset: number;
615
+ }[];
616
+ }, {
617
+ type: "linear";
618
+ stops: {
619
+ color: string;
620
+ offset: number;
621
+ }[];
622
+ angle?: number | undefined;
623
+ }>, z.ZodObject<{
624
+ type: z.ZodLiteral<"radial">;
625
+ stops: z.ZodArray<z.ZodObject<{
626
+ offset: z.ZodNumber;
627
+ color: z.ZodString;
628
+ }, "strict", z.ZodTypeAny, {
629
+ color: string;
630
+ offset: number;
631
+ }, {
632
+ color: string;
633
+ offset: number;
634
+ }>, "many">;
635
+ }, "strict", z.ZodTypeAny, {
636
+ type: "radial";
637
+ stops: {
638
+ color: string;
639
+ offset: number;
640
+ }[];
641
+ }, {
642
+ type: "radial";
643
+ stops: {
644
+ color: string;
645
+ offset: number;
646
+ }[];
647
+ }>]>;
648
+ radius: z.ZodDefault<z.ZodNumber>;
649
+ opacity: z.ZodDefault<z.ZodNumber>;
650
+ }, "strict", z.ZodTypeAny, {
651
+ type: "gradient-rect";
652
+ width: number;
653
+ height: number;
654
+ opacity: number;
655
+ x: number;
656
+ y: number;
657
+ radius: number;
658
+ gradient: {
659
+ type: "linear";
660
+ angle: number;
661
+ stops: {
662
+ color: string;
663
+ offset: number;
664
+ }[];
665
+ } | {
666
+ type: "radial";
667
+ stops: {
668
+ color: string;
669
+ offset: number;
670
+ }[];
671
+ };
672
+ }, {
673
+ type: "gradient-rect";
674
+ width: number;
675
+ height: number;
676
+ x: number;
677
+ y: number;
678
+ gradient: {
679
+ type: "linear";
680
+ stops: {
681
+ color: string;
682
+ offset: number;
683
+ }[];
684
+ angle?: number | undefined;
685
+ } | {
686
+ type: "radial";
687
+ stops: {
688
+ color: string;
689
+ offset: number;
690
+ }[];
691
+ };
692
+ opacity?: number | undefined;
693
+ radius?: number | undefined;
694
+ }>;
695
+ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
696
+ type: z.ZodLiteral<"rect">;
697
+ x: z.ZodNumber;
698
+ y: z.ZodNumber;
699
+ width: z.ZodNumber;
700
+ height: z.ZodNumber;
701
+ fill: z.ZodOptional<z.ZodString>;
702
+ stroke: z.ZodOptional<z.ZodString>;
703
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
704
+ radius: z.ZodDefault<z.ZodNumber>;
705
+ opacity: z.ZodDefault<z.ZodNumber>;
706
+ }, "strict", z.ZodTypeAny, {
707
+ type: "rect";
708
+ width: number;
709
+ height: number;
710
+ opacity: number;
711
+ strokeWidth: number;
712
+ x: number;
713
+ y: number;
714
+ radius: number;
715
+ fill?: string | undefined;
716
+ stroke?: string | undefined;
717
+ }, {
718
+ type: "rect";
719
+ width: number;
720
+ height: number;
721
+ x: number;
722
+ y: number;
723
+ fill?: string | undefined;
724
+ opacity?: number | undefined;
725
+ stroke?: string | undefined;
726
+ strokeWidth?: number | undefined;
727
+ radius?: number | undefined;
728
+ }>, z.ZodObject<{
729
+ type: z.ZodLiteral<"circle">;
730
+ cx: z.ZodNumber;
731
+ cy: z.ZodNumber;
732
+ radius: z.ZodNumber;
733
+ fill: z.ZodOptional<z.ZodString>;
734
+ stroke: z.ZodOptional<z.ZodString>;
735
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
736
+ opacity: z.ZodDefault<z.ZodNumber>;
737
+ }, "strict", z.ZodTypeAny, {
738
+ type: "circle";
739
+ opacity: number;
740
+ strokeWidth: number;
741
+ radius: number;
742
+ cx: number;
743
+ cy: number;
744
+ fill?: string | undefined;
745
+ stroke?: string | undefined;
746
+ }, {
747
+ type: "circle";
748
+ radius: number;
749
+ cx: number;
750
+ cy: number;
751
+ fill?: string | undefined;
752
+ opacity?: number | undefined;
753
+ stroke?: string | undefined;
754
+ strokeWidth?: number | undefined;
755
+ }>, z.ZodObject<{
756
+ type: z.ZodLiteral<"text">;
757
+ x: z.ZodNumber;
758
+ y: z.ZodNumber;
759
+ text: z.ZodString;
760
+ fontSize: z.ZodDefault<z.ZodNumber>;
761
+ fontWeight: z.ZodDefault<z.ZodNumber>;
762
+ fontFamily: z.ZodDefault<z.ZodEnum<["heading", "body", "mono"]>>;
763
+ color: z.ZodDefault<z.ZodString>;
764
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
765
+ baseline: z.ZodDefault<z.ZodEnum<["top", "middle", "alphabetic", "bottom"]>>;
766
+ letterSpacing: z.ZodDefault<z.ZodNumber>;
767
+ maxWidth: z.ZodOptional<z.ZodNumber>;
768
+ opacity: z.ZodDefault<z.ZodNumber>;
769
+ }, "strict", z.ZodTypeAny, {
770
+ type: "text";
771
+ color: string;
772
+ opacity: number;
773
+ fontSize: number;
774
+ text: string;
775
+ align: "left" | "center" | "right";
776
+ x: number;
777
+ y: number;
778
+ fontWeight: number;
779
+ fontFamily: "body" | "heading" | "mono";
780
+ baseline: "middle" | "alphabetic" | "bottom" | "top";
781
+ letterSpacing: number;
782
+ maxWidth?: number | undefined;
783
+ }, {
784
+ type: "text";
785
+ text: string;
786
+ x: number;
787
+ y: number;
788
+ color?: string | undefined;
789
+ opacity?: number | undefined;
790
+ fontSize?: number | undefined;
791
+ align?: "left" | "center" | "right" | undefined;
792
+ fontWeight?: number | undefined;
793
+ fontFamily?: "body" | "heading" | "mono" | undefined;
794
+ baseline?: "middle" | "alphabetic" | "bottom" | "top" | undefined;
795
+ letterSpacing?: number | undefined;
796
+ maxWidth?: number | undefined;
797
+ }>, z.ZodObject<{
798
+ type: z.ZodLiteral<"line">;
799
+ x1: z.ZodNumber;
800
+ y1: z.ZodNumber;
801
+ x2: z.ZodNumber;
802
+ y2: z.ZodNumber;
803
+ color: z.ZodDefault<z.ZodString>;
804
+ width: z.ZodDefault<z.ZodNumber>;
805
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
806
+ arrow: z.ZodDefault<z.ZodEnum<["none", "end", "start", "both"]>>;
807
+ arrowSize: z.ZodDefault<z.ZodNumber>;
808
+ opacity: z.ZodDefault<z.ZodNumber>;
809
+ }, "strict", z.ZodTypeAny, {
810
+ type: "line";
811
+ color: string;
812
+ width: number;
813
+ opacity: number;
814
+ arrow: "end" | "start" | "both" | "none";
815
+ arrowSize: number;
816
+ x1: number;
817
+ y1: number;
818
+ x2: number;
819
+ y2: number;
820
+ dash?: number[] | undefined;
821
+ }, {
822
+ type: "line";
823
+ x1: number;
824
+ y1: number;
825
+ x2: number;
826
+ y2: number;
827
+ color?: string | undefined;
828
+ width?: number | undefined;
829
+ opacity?: number | undefined;
830
+ arrow?: "end" | "start" | "both" | "none" | undefined;
831
+ arrowSize?: number | undefined;
832
+ dash?: number[] | undefined;
833
+ }>, z.ZodObject<{
834
+ type: z.ZodLiteral<"bezier">;
835
+ points: z.ZodArray<z.ZodObject<{
836
+ x: z.ZodNumber;
837
+ y: z.ZodNumber;
838
+ }, "strict", z.ZodTypeAny, {
839
+ x: number;
840
+ y: number;
841
+ }, {
842
+ x: number;
843
+ y: number;
844
+ }>, "many">;
845
+ color: z.ZodDefault<z.ZodString>;
846
+ width: z.ZodDefault<z.ZodNumber>;
847
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
848
+ arrow: z.ZodDefault<z.ZodEnum<["none", "end", "start", "both"]>>;
849
+ arrowSize: z.ZodDefault<z.ZodNumber>;
850
+ opacity: z.ZodDefault<z.ZodNumber>;
851
+ }, "strict", z.ZodTypeAny, {
852
+ type: "bezier";
853
+ color: string;
854
+ width: number;
855
+ opacity: number;
856
+ arrow: "end" | "start" | "both" | "none";
857
+ arrowSize: number;
858
+ points: {
859
+ x: number;
860
+ y: number;
861
+ }[];
862
+ dash?: number[] | undefined;
863
+ }, {
864
+ type: "bezier";
865
+ points: {
866
+ x: number;
867
+ y: number;
868
+ }[];
869
+ color?: string | undefined;
870
+ width?: number | undefined;
871
+ opacity?: number | undefined;
872
+ arrow?: "end" | "start" | "both" | "none" | undefined;
873
+ arrowSize?: number | undefined;
874
+ dash?: number[] | undefined;
875
+ }>, z.ZodObject<{
876
+ type: z.ZodLiteral<"path">;
877
+ d: z.ZodString;
878
+ fill: z.ZodOptional<z.ZodString>;
879
+ stroke: z.ZodOptional<z.ZodString>;
880
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
881
+ opacity: z.ZodDefault<z.ZodNumber>;
882
+ }, "strict", z.ZodTypeAny, {
883
+ type: "path";
884
+ opacity: number;
885
+ strokeWidth: number;
886
+ d: string;
887
+ fill?: string | undefined;
888
+ stroke?: string | undefined;
889
+ }, {
890
+ type: "path";
891
+ d: string;
892
+ fill?: string | undefined;
893
+ opacity?: number | undefined;
894
+ stroke?: string | undefined;
895
+ strokeWidth?: number | undefined;
896
+ }>, z.ZodObject<{
897
+ type: z.ZodLiteral<"badge">;
898
+ x: z.ZodNumber;
899
+ y: z.ZodNumber;
900
+ text: z.ZodString;
901
+ fontSize: z.ZodDefault<z.ZodNumber>;
902
+ fontFamily: z.ZodDefault<z.ZodEnum<["heading", "body", "mono"]>>;
903
+ color: z.ZodDefault<z.ZodString>;
904
+ background: z.ZodDefault<z.ZodString>;
905
+ paddingX: z.ZodDefault<z.ZodNumber>;
906
+ paddingY: z.ZodDefault<z.ZodNumber>;
907
+ borderRadius: z.ZodDefault<z.ZodNumber>;
908
+ opacity: z.ZodDefault<z.ZodNumber>;
909
+ }, "strict", z.ZodTypeAny, {
910
+ type: "badge";
911
+ color: string;
912
+ opacity: number;
913
+ fontSize: number;
914
+ text: string;
915
+ borderRadius: number;
916
+ x: number;
917
+ y: number;
918
+ background: string;
919
+ fontFamily: "body" | "heading" | "mono";
920
+ paddingX: number;
921
+ paddingY: number;
922
+ }, {
923
+ type: "badge";
924
+ text: string;
925
+ x: number;
926
+ y: number;
927
+ color?: string | undefined;
928
+ opacity?: number | undefined;
929
+ fontSize?: number | undefined;
930
+ borderRadius?: number | undefined;
931
+ background?: string | undefined;
932
+ fontFamily?: "body" | "heading" | "mono" | undefined;
933
+ paddingX?: number | undefined;
934
+ paddingY?: number | undefined;
935
+ }>, z.ZodObject<{
936
+ type: z.ZodLiteral<"gradient-rect">;
937
+ x: z.ZodNumber;
938
+ y: z.ZodNumber;
939
+ width: z.ZodNumber;
940
+ height: z.ZodNumber;
941
+ gradient: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
942
+ type: z.ZodLiteral<"linear">;
943
+ angle: z.ZodDefault<z.ZodNumber>;
944
+ stops: z.ZodArray<z.ZodObject<{
945
+ offset: z.ZodNumber;
946
+ color: z.ZodString;
947
+ }, "strict", z.ZodTypeAny, {
948
+ color: string;
949
+ offset: number;
950
+ }, {
951
+ color: string;
952
+ offset: number;
953
+ }>, "many">;
954
+ }, "strict", z.ZodTypeAny, {
955
+ type: "linear";
956
+ angle: number;
957
+ stops: {
958
+ color: string;
959
+ offset: number;
960
+ }[];
961
+ }, {
962
+ type: "linear";
963
+ stops: {
964
+ color: string;
965
+ offset: number;
966
+ }[];
967
+ angle?: number | undefined;
968
+ }>, z.ZodObject<{
969
+ type: z.ZodLiteral<"radial">;
970
+ stops: z.ZodArray<z.ZodObject<{
971
+ offset: z.ZodNumber;
972
+ color: z.ZodString;
973
+ }, "strict", z.ZodTypeAny, {
974
+ color: string;
975
+ offset: number;
976
+ }, {
977
+ color: string;
978
+ offset: number;
979
+ }>, "many">;
980
+ }, "strict", z.ZodTypeAny, {
981
+ type: "radial";
982
+ stops: {
983
+ color: string;
984
+ offset: number;
985
+ }[];
986
+ }, {
987
+ type: "radial";
988
+ stops: {
989
+ color: string;
990
+ offset: number;
991
+ }[];
992
+ }>]>;
993
+ radius: z.ZodDefault<z.ZodNumber>;
994
+ opacity: z.ZodDefault<z.ZodNumber>;
995
+ }, "strict", z.ZodTypeAny, {
996
+ type: "gradient-rect";
997
+ width: number;
998
+ height: number;
999
+ opacity: number;
1000
+ x: number;
1001
+ y: number;
1002
+ radius: number;
1003
+ gradient: {
1004
+ type: "linear";
1005
+ angle: number;
1006
+ stops: {
1007
+ color: string;
1008
+ offset: number;
1009
+ }[];
1010
+ } | {
1011
+ type: "radial";
1012
+ stops: {
1013
+ color: string;
1014
+ offset: number;
1015
+ }[];
1016
+ };
1017
+ }, {
1018
+ type: "gradient-rect";
1019
+ width: number;
1020
+ height: number;
1021
+ x: number;
1022
+ y: number;
1023
+ gradient: {
1024
+ type: "linear";
1025
+ stops: {
1026
+ color: string;
1027
+ offset: number;
1028
+ }[];
1029
+ angle?: number | undefined;
1030
+ } | {
1031
+ type: "radial";
1032
+ stops: {
1033
+ color: string;
1034
+ offset: number;
1035
+ }[];
1036
+ };
1037
+ opacity?: number | undefined;
1038
+ radius?: number | undefined;
1039
+ }>]>;
1040
+ declare const defaultCanvas: {
1041
+ readonly width: 1200;
1042
+ readonly height: 675;
1043
+ readonly padding: 48;
1044
+ };
1045
+ declare const defaultConstraints: {
1046
+ readonly minContrastRatio: 4.5;
1047
+ readonly minFooterSpacing: 16;
1048
+ readonly checkOverlaps: true;
1049
+ readonly maxTextTruncation: 0.1;
1050
+ };
1051
+ declare const defaultAutoLayout: {
1052
+ readonly mode: "auto";
1053
+ readonly algorithm: "layered";
1054
+ readonly direction: "TB";
1055
+ readonly nodeSpacing: 80;
1056
+ readonly rankSpacing: 120;
1057
+ readonly edgeRouting: "polyline";
1058
+ };
1059
+ declare const defaultGridLayout: {
1060
+ readonly mode: "grid";
1061
+ readonly columns: 3;
1062
+ readonly gap: 24;
1063
+ readonly equalHeight: false;
1064
+ };
1065
+ declare const defaultStackLayout: {
1066
+ readonly mode: "stack";
1067
+ readonly direction: "vertical";
1068
+ readonly gap: 24;
1069
+ readonly alignment: "stretch";
1070
+ };
1071
+ declare const defaultLayout: {
1072
+ readonly mode: "grid";
1073
+ readonly columns: 3;
1074
+ readonly gap: 24;
1075
+ readonly equalHeight: false;
1076
+ };
1077
+ declare function inferLayout(elements: Element[], explicitLayout?: LayoutConfig): LayoutConfig;
1078
+ declare const cardElementSchema: z.ZodObject<{
1079
+ type: z.ZodLiteral<"card">;
1080
+ id: z.ZodString;
1081
+ title: z.ZodString;
1082
+ body: z.ZodString;
1083
+ badge: z.ZodOptional<z.ZodString>;
1084
+ metric: z.ZodOptional<z.ZodString>;
1085
+ tone: z.ZodDefault<z.ZodEnum<["neutral", "accent", "success", "warning", "error"]>>;
1086
+ icon: z.ZodOptional<z.ZodString>;
1087
+ }, "strict", z.ZodTypeAny, {
1088
+ type: "card";
1089
+ id: string;
1090
+ title: string;
1091
+ body: string;
1092
+ tone: "neutral" | "accent" | "success" | "warning" | "error";
1093
+ badge?: string | undefined;
1094
+ metric?: string | undefined;
1095
+ icon?: string | undefined;
1096
+ }, {
1097
+ type: "card";
1098
+ id: string;
1099
+ title: string;
1100
+ body: string;
1101
+ badge?: string | undefined;
1102
+ metric?: string | undefined;
1103
+ tone?: "neutral" | "accent" | "success" | "warning" | "error" | undefined;
1104
+ icon?: string | undefined;
1105
+ }>;
1106
+ declare const flowNodeElementSchema: z.ZodObject<{
1107
+ type: z.ZodLiteral<"flow-node">;
1108
+ id: z.ZodString;
1109
+ shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
1110
+ label: z.ZodString;
1111
+ sublabel: z.ZodOptional<z.ZodString>;
1112
+ sublabelColor: z.ZodOptional<z.ZodString>;
1113
+ labelColor: z.ZodOptional<z.ZodString>;
1114
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
1115
+ color: z.ZodOptional<z.ZodString>;
1116
+ borderColor: z.ZodOptional<z.ZodString>;
1117
+ borderWidth: z.ZodOptional<z.ZodNumber>;
1118
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
1119
+ width: z.ZodOptional<z.ZodNumber>;
1120
+ height: z.ZodOptional<z.ZodNumber>;
1121
+ opacity: z.ZodDefault<z.ZodNumber>;
1122
+ }, "strict", z.ZodTypeAny, {
1123
+ type: "flow-node";
1124
+ id: string;
1125
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1126
+ label: string;
1127
+ opacity: number;
1128
+ sublabel?: string | undefined;
1129
+ sublabelColor?: string | undefined;
1130
+ labelColor?: string | undefined;
1131
+ labelFontSize?: number | undefined;
1132
+ color?: string | undefined;
1133
+ borderColor?: string | undefined;
1134
+ borderWidth?: number | undefined;
1135
+ cornerRadius?: number | undefined;
1136
+ width?: number | undefined;
1137
+ height?: number | undefined;
1138
+ }, {
1139
+ type: "flow-node";
1140
+ id: string;
1141
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1142
+ label: string;
1143
+ sublabel?: string | undefined;
1144
+ sublabelColor?: string | undefined;
1145
+ labelColor?: string | undefined;
1146
+ labelFontSize?: number | undefined;
1147
+ color?: string | undefined;
1148
+ borderColor?: string | undefined;
1149
+ borderWidth?: number | undefined;
1150
+ cornerRadius?: number | undefined;
1151
+ width?: number | undefined;
1152
+ height?: number | undefined;
1153
+ opacity?: number | undefined;
1154
+ }>;
1155
+ declare const connectionElementSchema: z.ZodObject<{
1156
+ type: z.ZodLiteral<"connection">;
1157
+ from: z.ZodString;
1158
+ to: z.ZodString;
1159
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1160
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
1161
+ label: z.ZodOptional<z.ZodString>;
1162
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
1163
+ color: z.ZodOptional<z.ZodString>;
1164
+ width: z.ZodOptional<z.ZodNumber>;
1165
+ arrowSize: z.ZodOptional<z.ZodNumber>;
1166
+ opacity: z.ZodDefault<z.ZodNumber>;
1167
+ }, "strict", z.ZodTypeAny, {
1168
+ type: "connection";
1169
+ opacity: number;
1170
+ from: string;
1171
+ to: string;
1172
+ style: "solid" | "dashed" | "dotted";
1173
+ arrow: "end" | "start" | "both" | "none";
1174
+ labelPosition: "end" | "start" | "middle";
1175
+ label?: string | undefined;
1176
+ color?: string | undefined;
1177
+ width?: number | undefined;
1178
+ arrowSize?: number | undefined;
1179
+ }, {
1180
+ type: "connection";
1181
+ from: string;
1182
+ to: string;
1183
+ label?: string | undefined;
1184
+ color?: string | undefined;
1185
+ width?: number | undefined;
1186
+ opacity?: number | undefined;
1187
+ style?: "solid" | "dashed" | "dotted" | undefined;
1188
+ arrow?: "end" | "start" | "both" | "none" | undefined;
1189
+ labelPosition?: "end" | "start" | "middle" | undefined;
1190
+ arrowSize?: number | undefined;
1191
+ }>;
1192
+ declare const codeBlockStyleSchema: z.ZodObject<{
1193
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1194
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1195
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
1196
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1197
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1198
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1199
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1200
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1201
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1202
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1203
+ }, "strip", z.ZodTypeAny, {
1204
+ paddingVertical?: number | undefined;
1205
+ paddingHorizontal?: number | undefined;
1206
+ windowControls?: "none" | "macos" | "bw" | undefined;
1207
+ dropShadow?: boolean | undefined;
1208
+ dropShadowOffsetY?: number | undefined;
1209
+ dropShadowBlurRadius?: number | undefined;
1210
+ surroundColor?: string | undefined;
1211
+ fontSize?: number | undefined;
1212
+ lineHeightPercent?: number | undefined;
1213
+ scale?: number | undefined;
1214
+ }, {
1215
+ paddingVertical?: number | undefined;
1216
+ paddingHorizontal?: number | undefined;
1217
+ windowControls?: "none" | "macos" | "bw" | undefined;
1218
+ dropShadow?: boolean | undefined;
1219
+ dropShadowOffsetY?: number | undefined;
1220
+ dropShadowBlurRadius?: number | undefined;
1221
+ surroundColor?: string | undefined;
1222
+ fontSize?: number | undefined;
1223
+ lineHeightPercent?: number | undefined;
1224
+ scale?: number | undefined;
1225
+ }>;
1226
+ declare const codeBlockElementSchema: z.ZodObject<{
1227
+ type: z.ZodLiteral<"code-block">;
1228
+ id: z.ZodString;
1229
+ code: z.ZodString;
1230
+ language: z.ZodString;
1231
+ theme: z.ZodOptional<z.ZodString>;
1232
+ showLineNumbers: z.ZodDefault<z.ZodBoolean>;
1233
+ highlightLines: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
1234
+ startLine: z.ZodDefault<z.ZodNumber>;
1235
+ title: z.ZodOptional<z.ZodString>;
1236
+ style: z.ZodOptional<z.ZodObject<{
1237
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1238
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1239
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
1240
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1241
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1242
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1243
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1244
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1245
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1246
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1247
+ }, "strip", z.ZodTypeAny, {
1248
+ paddingVertical?: number | undefined;
1249
+ paddingHorizontal?: number | undefined;
1250
+ windowControls?: "none" | "macos" | "bw" | undefined;
1251
+ dropShadow?: boolean | undefined;
1252
+ dropShadowOffsetY?: number | undefined;
1253
+ dropShadowBlurRadius?: number | undefined;
1254
+ surroundColor?: string | undefined;
1255
+ fontSize?: number | undefined;
1256
+ lineHeightPercent?: number | undefined;
1257
+ scale?: number | undefined;
1258
+ }, {
1259
+ paddingVertical?: number | undefined;
1260
+ paddingHorizontal?: number | undefined;
1261
+ windowControls?: "none" | "macos" | "bw" | undefined;
1262
+ dropShadow?: boolean | undefined;
1263
+ dropShadowOffsetY?: number | undefined;
1264
+ dropShadowBlurRadius?: number | undefined;
1265
+ surroundColor?: string | undefined;
1266
+ fontSize?: number | undefined;
1267
+ lineHeightPercent?: number | undefined;
1268
+ scale?: number | undefined;
1269
+ }>>;
1270
+ }, "strict", z.ZodTypeAny, {
1271
+ type: "code-block";
1272
+ code: string;
1273
+ id: string;
1274
+ language: string;
1275
+ showLineNumbers: boolean;
1276
+ startLine: number;
1277
+ title?: string | undefined;
1278
+ style?: {
1279
+ paddingVertical?: number | undefined;
1280
+ paddingHorizontal?: number | undefined;
1281
+ windowControls?: "none" | "macos" | "bw" | undefined;
1282
+ dropShadow?: boolean | undefined;
1283
+ dropShadowOffsetY?: number | undefined;
1284
+ dropShadowBlurRadius?: number | undefined;
1285
+ surroundColor?: string | undefined;
1286
+ fontSize?: number | undefined;
1287
+ lineHeightPercent?: number | undefined;
1288
+ scale?: number | undefined;
1289
+ } | undefined;
1290
+ theme?: string | undefined;
1291
+ highlightLines?: number[] | undefined;
1292
+ }, {
1293
+ type: "code-block";
1294
+ code: string;
1295
+ id: string;
1296
+ language: string;
1297
+ title?: string | undefined;
1298
+ style?: {
1299
+ paddingVertical?: number | undefined;
1300
+ paddingHorizontal?: number | undefined;
1301
+ windowControls?: "none" | "macos" | "bw" | undefined;
1302
+ dropShadow?: boolean | undefined;
1303
+ dropShadowOffsetY?: number | undefined;
1304
+ dropShadowBlurRadius?: number | undefined;
1305
+ surroundColor?: string | undefined;
1306
+ fontSize?: number | undefined;
1307
+ lineHeightPercent?: number | undefined;
1308
+ scale?: number | undefined;
1309
+ } | undefined;
1310
+ theme?: string | undefined;
1311
+ showLineNumbers?: boolean | undefined;
1312
+ highlightLines?: number[] | undefined;
1313
+ startLine?: number | undefined;
1314
+ }>;
1315
+ declare const terminalElementSchema: z.ZodObject<{
1316
+ type: z.ZodLiteral<"terminal">;
1317
+ id: z.ZodString;
1318
+ content: z.ZodString;
1319
+ prompt: z.ZodOptional<z.ZodString>;
1320
+ title: z.ZodOptional<z.ZodString>;
1321
+ showPrompt: z.ZodDefault<z.ZodBoolean>;
1322
+ style: z.ZodOptional<z.ZodObject<{
1323
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1324
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1325
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
1326
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1327
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1328
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1329
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1330
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1331
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1332
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1333
+ }, "strip", z.ZodTypeAny, {
1334
+ paddingVertical?: number | undefined;
1335
+ paddingHorizontal?: number | undefined;
1336
+ windowControls?: "none" | "macos" | "bw" | undefined;
1337
+ dropShadow?: boolean | undefined;
1338
+ dropShadowOffsetY?: number | undefined;
1339
+ dropShadowBlurRadius?: number | undefined;
1340
+ surroundColor?: string | undefined;
1341
+ fontSize?: number | undefined;
1342
+ lineHeightPercent?: number | undefined;
1343
+ scale?: number | undefined;
1344
+ }, {
1345
+ paddingVertical?: number | undefined;
1346
+ paddingHorizontal?: number | undefined;
1347
+ windowControls?: "none" | "macos" | "bw" | undefined;
1348
+ dropShadow?: boolean | undefined;
1349
+ dropShadowOffsetY?: number | undefined;
1350
+ dropShadowBlurRadius?: number | undefined;
1351
+ surroundColor?: string | undefined;
1352
+ fontSize?: number | undefined;
1353
+ lineHeightPercent?: number | undefined;
1354
+ scale?: number | undefined;
1355
+ }>>;
1356
+ }, "strict", z.ZodTypeAny, {
1357
+ type: "terminal";
1358
+ id: string;
1359
+ content: string;
1360
+ showPrompt: boolean;
1361
+ title?: string | undefined;
1362
+ style?: {
1363
+ paddingVertical?: number | undefined;
1364
+ paddingHorizontal?: number | undefined;
1365
+ windowControls?: "none" | "macos" | "bw" | undefined;
1366
+ dropShadow?: boolean | undefined;
1367
+ dropShadowOffsetY?: number | undefined;
1368
+ dropShadowBlurRadius?: number | undefined;
1369
+ surroundColor?: string | undefined;
1370
+ fontSize?: number | undefined;
1371
+ lineHeightPercent?: number | undefined;
1372
+ scale?: number | undefined;
1373
+ } | undefined;
1374
+ prompt?: string | undefined;
1375
+ }, {
1376
+ type: "terminal";
1377
+ id: string;
1378
+ content: string;
1379
+ title?: string | undefined;
1380
+ style?: {
1381
+ paddingVertical?: number | undefined;
1382
+ paddingHorizontal?: number | undefined;
1383
+ windowControls?: "none" | "macos" | "bw" | undefined;
1384
+ dropShadow?: boolean | undefined;
1385
+ dropShadowOffsetY?: number | undefined;
1386
+ dropShadowBlurRadius?: number | undefined;
1387
+ surroundColor?: string | undefined;
1388
+ fontSize?: number | undefined;
1389
+ lineHeightPercent?: number | undefined;
1390
+ scale?: number | undefined;
1391
+ } | undefined;
1392
+ prompt?: string | undefined;
1393
+ showPrompt?: boolean | undefined;
1394
+ }>;
1395
+ declare const textElementSchema: z.ZodObject<{
1396
+ type: z.ZodLiteral<"text">;
1397
+ id: z.ZodString;
1398
+ content: z.ZodString;
1399
+ style: z.ZodEnum<["heading", "subheading", "body", "caption", "code"]>;
1400
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
1401
+ color: z.ZodOptional<z.ZodString>;
1402
+ }, "strict", z.ZodTypeAny, {
1403
+ type: "text";
1404
+ id: string;
1405
+ style: "code" | "body" | "heading" | "subheading" | "caption";
1406
+ content: string;
1407
+ align: "left" | "center" | "right";
1408
+ color?: string | undefined;
1409
+ }, {
1410
+ type: "text";
1411
+ id: string;
1412
+ style: "code" | "body" | "heading" | "subheading" | "caption";
1413
+ content: string;
1414
+ color?: string | undefined;
1415
+ align?: "left" | "center" | "right" | undefined;
1416
+ }>;
1417
+ declare const shapeElementSchema: z.ZodObject<{
1418
+ type: z.ZodLiteral<"shape">;
1419
+ id: z.ZodString;
1420
+ shape: z.ZodEnum<["rectangle", "rounded-rectangle", "circle", "ellipse", "line", "arrow"]>;
1421
+ fill: z.ZodOptional<z.ZodString>;
1422
+ stroke: z.ZodOptional<z.ZodString>;
1423
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
1424
+ }, "strict", z.ZodTypeAny, {
1425
+ type: "shape";
1426
+ id: string;
1427
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
1428
+ strokeWidth: number;
1429
+ fill?: string | undefined;
1430
+ stroke?: string | undefined;
1431
+ }, {
1432
+ type: "shape";
1433
+ id: string;
1434
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
1435
+ fill?: string | undefined;
1436
+ stroke?: string | undefined;
1437
+ strokeWidth?: number | undefined;
1438
+ }>;
1439
+ declare const imageElementSchema: z.ZodObject<{
1440
+ type: z.ZodLiteral<"image">;
1441
+ id: z.ZodString;
1442
+ src: z.ZodString;
1443
+ alt: z.ZodOptional<z.ZodString>;
1444
+ fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
1445
+ borderRadius: z.ZodDefault<z.ZodNumber>;
1446
+ }, "strict", z.ZodTypeAny, {
1447
+ type: "image";
1448
+ id: string;
1449
+ src: string;
1450
+ fit: "fill" | "none" | "contain" | "cover";
1451
+ borderRadius: number;
1452
+ alt?: string | undefined;
1453
+ }, {
1454
+ type: "image";
1455
+ id: string;
1456
+ src: string;
1457
+ alt?: string | undefined;
1458
+ fit?: "fill" | "none" | "contain" | "cover" | undefined;
1459
+ borderRadius?: number | undefined;
1460
+ }>;
1461
+ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1462
+ type: z.ZodLiteral<"card">;
1463
+ id: z.ZodString;
1464
+ title: z.ZodString;
1465
+ body: z.ZodString;
1466
+ badge: z.ZodOptional<z.ZodString>;
1467
+ metric: z.ZodOptional<z.ZodString>;
1468
+ tone: z.ZodDefault<z.ZodEnum<["neutral", "accent", "success", "warning", "error"]>>;
1469
+ icon: z.ZodOptional<z.ZodString>;
1470
+ }, "strict", z.ZodTypeAny, {
1471
+ type: "card";
1472
+ id: string;
1473
+ title: string;
1474
+ body: string;
1475
+ tone: "neutral" | "accent" | "success" | "warning" | "error";
1476
+ badge?: string | undefined;
1477
+ metric?: string | undefined;
1478
+ icon?: string | undefined;
1479
+ }, {
1480
+ type: "card";
1481
+ id: string;
1482
+ title: string;
1483
+ body: string;
1484
+ badge?: string | undefined;
1485
+ metric?: string | undefined;
1486
+ tone?: "neutral" | "accent" | "success" | "warning" | "error" | undefined;
1487
+ icon?: string | undefined;
1488
+ }>, z.ZodObject<{
1489
+ type: z.ZodLiteral<"flow-node">;
1490
+ id: z.ZodString;
1491
+ shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
1492
+ label: z.ZodString;
1493
+ sublabel: z.ZodOptional<z.ZodString>;
1494
+ sublabelColor: z.ZodOptional<z.ZodString>;
1495
+ labelColor: z.ZodOptional<z.ZodString>;
1496
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
1497
+ color: z.ZodOptional<z.ZodString>;
1498
+ borderColor: z.ZodOptional<z.ZodString>;
1499
+ borderWidth: z.ZodOptional<z.ZodNumber>;
1500
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
1501
+ width: z.ZodOptional<z.ZodNumber>;
1502
+ height: z.ZodOptional<z.ZodNumber>;
1503
+ opacity: z.ZodDefault<z.ZodNumber>;
1504
+ }, "strict", z.ZodTypeAny, {
1505
+ type: "flow-node";
1506
+ id: string;
1507
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1508
+ label: string;
1509
+ opacity: number;
1510
+ sublabel?: string | undefined;
1511
+ sublabelColor?: string | undefined;
1512
+ labelColor?: string | undefined;
1513
+ labelFontSize?: number | undefined;
1514
+ color?: string | undefined;
1515
+ borderColor?: string | undefined;
1516
+ borderWidth?: number | undefined;
1517
+ cornerRadius?: number | undefined;
1518
+ width?: number | undefined;
1519
+ height?: number | undefined;
1520
+ }, {
1521
+ type: "flow-node";
1522
+ id: string;
1523
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1524
+ label: string;
1525
+ sublabel?: string | undefined;
1526
+ sublabelColor?: string | undefined;
1527
+ labelColor?: string | undefined;
1528
+ labelFontSize?: number | undefined;
1529
+ color?: string | undefined;
1530
+ borderColor?: string | undefined;
1531
+ borderWidth?: number | undefined;
1532
+ cornerRadius?: number | undefined;
1533
+ width?: number | undefined;
1534
+ height?: number | undefined;
1535
+ opacity?: number | undefined;
1536
+ }>, z.ZodObject<{
1537
+ type: z.ZodLiteral<"connection">;
1538
+ from: z.ZodString;
1539
+ to: z.ZodString;
1540
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1541
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
1542
+ label: z.ZodOptional<z.ZodString>;
1543
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
1544
+ color: z.ZodOptional<z.ZodString>;
1545
+ width: z.ZodOptional<z.ZodNumber>;
1546
+ arrowSize: z.ZodOptional<z.ZodNumber>;
1547
+ opacity: z.ZodDefault<z.ZodNumber>;
1548
+ }, "strict", z.ZodTypeAny, {
1549
+ type: "connection";
1550
+ opacity: number;
1551
+ from: string;
1552
+ to: string;
1553
+ style: "solid" | "dashed" | "dotted";
1554
+ arrow: "end" | "start" | "both" | "none";
1555
+ labelPosition: "end" | "start" | "middle";
1556
+ label?: string | undefined;
1557
+ color?: string | undefined;
1558
+ width?: number | undefined;
1559
+ arrowSize?: number | undefined;
1560
+ }, {
1561
+ type: "connection";
1562
+ from: string;
1563
+ to: string;
1564
+ label?: string | undefined;
1565
+ color?: string | undefined;
1566
+ width?: number | undefined;
1567
+ opacity?: number | undefined;
1568
+ style?: "solid" | "dashed" | "dotted" | undefined;
1569
+ arrow?: "end" | "start" | "both" | "none" | undefined;
1570
+ labelPosition?: "end" | "start" | "middle" | undefined;
1571
+ arrowSize?: number | undefined;
1572
+ }>, z.ZodObject<{
1573
+ type: z.ZodLiteral<"code-block">;
1574
+ id: z.ZodString;
1575
+ code: z.ZodString;
1576
+ language: z.ZodString;
1577
+ theme: z.ZodOptional<z.ZodString>;
1578
+ showLineNumbers: z.ZodDefault<z.ZodBoolean>;
1579
+ highlightLines: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
1580
+ startLine: z.ZodDefault<z.ZodNumber>;
1581
+ title: z.ZodOptional<z.ZodString>;
1582
+ style: z.ZodOptional<z.ZodObject<{
1583
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1584
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1585
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
1586
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1587
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1588
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1589
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1590
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1591
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1592
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1593
+ }, "strip", z.ZodTypeAny, {
1594
+ paddingVertical?: number | undefined;
1595
+ paddingHorizontal?: number | undefined;
1596
+ windowControls?: "none" | "macos" | "bw" | undefined;
1597
+ dropShadow?: boolean | undefined;
1598
+ dropShadowOffsetY?: number | undefined;
1599
+ dropShadowBlurRadius?: number | undefined;
1600
+ surroundColor?: string | undefined;
1601
+ fontSize?: number | undefined;
1602
+ lineHeightPercent?: number | undefined;
1603
+ scale?: number | undefined;
1604
+ }, {
1605
+ paddingVertical?: number | undefined;
1606
+ paddingHorizontal?: number | undefined;
1607
+ windowControls?: "none" | "macos" | "bw" | undefined;
1608
+ dropShadow?: boolean | undefined;
1609
+ dropShadowOffsetY?: number | undefined;
1610
+ dropShadowBlurRadius?: number | undefined;
1611
+ surroundColor?: string | undefined;
1612
+ fontSize?: number | undefined;
1613
+ lineHeightPercent?: number | undefined;
1614
+ scale?: number | undefined;
1615
+ }>>;
1616
+ }, "strict", z.ZodTypeAny, {
1617
+ type: "code-block";
1618
+ code: string;
1619
+ id: string;
1620
+ language: string;
1621
+ showLineNumbers: boolean;
1622
+ startLine: number;
1623
+ title?: string | undefined;
1624
+ style?: {
1625
+ paddingVertical?: number | undefined;
1626
+ paddingHorizontal?: number | undefined;
1627
+ windowControls?: "none" | "macos" | "bw" | undefined;
1628
+ dropShadow?: boolean | undefined;
1629
+ dropShadowOffsetY?: number | undefined;
1630
+ dropShadowBlurRadius?: number | undefined;
1631
+ surroundColor?: string | undefined;
1632
+ fontSize?: number | undefined;
1633
+ lineHeightPercent?: number | undefined;
1634
+ scale?: number | undefined;
1635
+ } | undefined;
1636
+ theme?: string | undefined;
1637
+ highlightLines?: number[] | undefined;
1638
+ }, {
1639
+ type: "code-block";
1640
+ code: string;
1641
+ id: string;
1642
+ language: string;
1643
+ title?: string | undefined;
1644
+ style?: {
1645
+ paddingVertical?: number | undefined;
1646
+ paddingHorizontal?: number | undefined;
1647
+ windowControls?: "none" | "macos" | "bw" | undefined;
1648
+ dropShadow?: boolean | undefined;
1649
+ dropShadowOffsetY?: number | undefined;
1650
+ dropShadowBlurRadius?: number | undefined;
1651
+ surroundColor?: string | undefined;
1652
+ fontSize?: number | undefined;
1653
+ lineHeightPercent?: number | undefined;
1654
+ scale?: number | undefined;
1655
+ } | undefined;
1656
+ theme?: string | undefined;
1657
+ showLineNumbers?: boolean | undefined;
1658
+ highlightLines?: number[] | undefined;
1659
+ startLine?: number | undefined;
1660
+ }>, z.ZodObject<{
1661
+ type: z.ZodLiteral<"terminal">;
1662
+ id: z.ZodString;
1663
+ content: z.ZodString;
1664
+ prompt: z.ZodOptional<z.ZodString>;
1665
+ title: z.ZodOptional<z.ZodString>;
1666
+ showPrompt: z.ZodDefault<z.ZodBoolean>;
1667
+ style: z.ZodOptional<z.ZodObject<{
1668
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1669
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1670
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
1671
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1672
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1673
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1674
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1675
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1676
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1677
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1678
+ }, "strip", z.ZodTypeAny, {
1679
+ paddingVertical?: number | undefined;
1680
+ paddingHorizontal?: number | undefined;
1681
+ windowControls?: "none" | "macos" | "bw" | undefined;
1682
+ dropShadow?: boolean | undefined;
1683
+ dropShadowOffsetY?: number | undefined;
1684
+ dropShadowBlurRadius?: number | undefined;
1685
+ surroundColor?: string | undefined;
1686
+ fontSize?: number | undefined;
1687
+ lineHeightPercent?: number | undefined;
1688
+ scale?: number | undefined;
1689
+ }, {
1690
+ paddingVertical?: number | undefined;
1691
+ paddingHorizontal?: number | undefined;
1692
+ windowControls?: "none" | "macos" | "bw" | undefined;
1693
+ dropShadow?: boolean | undefined;
1694
+ dropShadowOffsetY?: number | undefined;
1695
+ dropShadowBlurRadius?: number | undefined;
1696
+ surroundColor?: string | undefined;
1697
+ fontSize?: number | undefined;
1698
+ lineHeightPercent?: number | undefined;
1699
+ scale?: number | undefined;
1700
+ }>>;
1701
+ }, "strict", z.ZodTypeAny, {
1702
+ type: "terminal";
1703
+ id: string;
1704
+ content: string;
1705
+ showPrompt: boolean;
1706
+ title?: string | undefined;
1707
+ style?: {
1708
+ paddingVertical?: number | undefined;
1709
+ paddingHorizontal?: number | undefined;
1710
+ windowControls?: "none" | "macos" | "bw" | undefined;
1711
+ dropShadow?: boolean | undefined;
1712
+ dropShadowOffsetY?: number | undefined;
1713
+ dropShadowBlurRadius?: number | undefined;
1714
+ surroundColor?: string | undefined;
1715
+ fontSize?: number | undefined;
1716
+ lineHeightPercent?: number | undefined;
1717
+ scale?: number | undefined;
1718
+ } | undefined;
1719
+ prompt?: string | undefined;
1720
+ }, {
1721
+ type: "terminal";
1722
+ id: string;
1723
+ content: string;
1724
+ title?: string | undefined;
1725
+ style?: {
1726
+ paddingVertical?: number | undefined;
1727
+ paddingHorizontal?: number | undefined;
1728
+ windowControls?: "none" | "macos" | "bw" | undefined;
1729
+ dropShadow?: boolean | undefined;
1730
+ dropShadowOffsetY?: number | undefined;
1731
+ dropShadowBlurRadius?: number | undefined;
1732
+ surroundColor?: string | undefined;
1733
+ fontSize?: number | undefined;
1734
+ lineHeightPercent?: number | undefined;
1735
+ scale?: number | undefined;
1736
+ } | undefined;
1737
+ prompt?: string | undefined;
1738
+ showPrompt?: boolean | undefined;
1739
+ }>, z.ZodObject<{
1740
+ type: z.ZodLiteral<"text">;
1741
+ id: z.ZodString;
1742
+ content: z.ZodString;
1743
+ style: z.ZodEnum<["heading", "subheading", "body", "caption", "code"]>;
1744
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
1745
+ color: z.ZodOptional<z.ZodString>;
1746
+ }, "strict", z.ZodTypeAny, {
1747
+ type: "text";
1748
+ id: string;
1749
+ style: "code" | "body" | "heading" | "subheading" | "caption";
1750
+ content: string;
1751
+ align: "left" | "center" | "right";
1752
+ color?: string | undefined;
1753
+ }, {
1754
+ type: "text";
1755
+ id: string;
1756
+ style: "code" | "body" | "heading" | "subheading" | "caption";
1757
+ content: string;
1758
+ color?: string | undefined;
1759
+ align?: "left" | "center" | "right" | undefined;
1760
+ }>, z.ZodObject<{
1761
+ type: z.ZodLiteral<"shape">;
1762
+ id: z.ZodString;
1763
+ shape: z.ZodEnum<["rectangle", "rounded-rectangle", "circle", "ellipse", "line", "arrow"]>;
1764
+ fill: z.ZodOptional<z.ZodString>;
1765
+ stroke: z.ZodOptional<z.ZodString>;
1766
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
1767
+ }, "strict", z.ZodTypeAny, {
1768
+ type: "shape";
1769
+ id: string;
1770
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
1771
+ strokeWidth: number;
1772
+ fill?: string | undefined;
1773
+ stroke?: string | undefined;
1774
+ }, {
1775
+ type: "shape";
1776
+ id: string;
1777
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
1778
+ fill?: string | undefined;
1779
+ stroke?: string | undefined;
1780
+ strokeWidth?: number | undefined;
1781
+ }>, z.ZodObject<{
1782
+ type: z.ZodLiteral<"image">;
1783
+ id: z.ZodString;
1784
+ src: z.ZodString;
1785
+ alt: z.ZodOptional<z.ZodString>;
1786
+ fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
1787
+ borderRadius: z.ZodDefault<z.ZodNumber>;
1788
+ }, "strict", z.ZodTypeAny, {
1789
+ type: "image";
1790
+ id: string;
1791
+ src: string;
1792
+ fit: "fill" | "none" | "contain" | "cover";
1793
+ borderRadius: number;
1794
+ alt?: string | undefined;
1795
+ }, {
1796
+ type: "image";
1797
+ id: string;
1798
+ src: string;
1799
+ alt?: string | undefined;
1800
+ fit?: "fill" | "none" | "contain" | "cover" | undefined;
1801
+ borderRadius?: number | undefined;
1802
+ }>]>;
1803
+ declare const autoLayoutConfigSchema: z.ZodObject<{
1804
+ mode: z.ZodLiteral<"auto">;
1805
+ algorithm: z.ZodDefault<z.ZodEnum<["layered", "stress", "force", "radial", "box"]>>;
1806
+ direction: z.ZodDefault<z.ZodEnum<["TB", "BT", "LR", "RL"]>>;
1807
+ nodeSpacing: z.ZodDefault<z.ZodNumber>;
1808
+ rankSpacing: z.ZodDefault<z.ZodNumber>;
1809
+ edgeRouting: z.ZodDefault<z.ZodEnum<["orthogonal", "polyline", "spline"]>>;
1810
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
1811
+ }, "strict", z.ZodTypeAny, {
1812
+ mode: "auto";
1813
+ direction: "TB" | "BT" | "LR" | "RL";
1814
+ algorithm: "box" | "layered" | "stress" | "force" | "radial";
1815
+ nodeSpacing: number;
1816
+ rankSpacing: number;
1817
+ edgeRouting: "orthogonal" | "polyline" | "spline";
1818
+ aspectRatio?: number | undefined;
1819
+ }, {
1820
+ mode: "auto";
1821
+ direction?: "TB" | "BT" | "LR" | "RL" | undefined;
1822
+ algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
1823
+ nodeSpacing?: number | undefined;
1824
+ rankSpacing?: number | undefined;
1825
+ edgeRouting?: "orthogonal" | "polyline" | "spline" | undefined;
1826
+ aspectRatio?: number | undefined;
1827
+ }>;
1828
+ declare const gridLayoutConfigSchema: z.ZodObject<{
1829
+ mode: z.ZodLiteral<"grid">;
1830
+ columns: z.ZodDefault<z.ZodNumber>;
1831
+ gap: z.ZodDefault<z.ZodNumber>;
1832
+ cardMinHeight: z.ZodOptional<z.ZodNumber>;
1833
+ cardMaxHeight: z.ZodOptional<z.ZodNumber>;
1834
+ equalHeight: z.ZodDefault<z.ZodBoolean>;
1835
+ }, "strict", z.ZodTypeAny, {
1836
+ mode: "grid";
1837
+ gap: number;
1838
+ columns: number;
1839
+ equalHeight: boolean;
1840
+ cardMinHeight?: number | undefined;
1841
+ cardMaxHeight?: number | undefined;
1842
+ }, {
1843
+ mode: "grid";
1844
+ gap?: number | undefined;
1845
+ columns?: number | undefined;
1846
+ cardMinHeight?: number | undefined;
1847
+ cardMaxHeight?: number | undefined;
1848
+ equalHeight?: boolean | undefined;
1849
+ }>;
1850
+ declare const stackLayoutConfigSchema: z.ZodObject<{
1851
+ mode: z.ZodLiteral<"stack">;
1852
+ direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
1853
+ gap: z.ZodDefault<z.ZodNumber>;
1854
+ alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
1855
+ }, "strict", z.ZodTypeAny, {
1856
+ mode: "stack";
1857
+ direction: "vertical" | "horizontal";
1858
+ gap: number;
1859
+ alignment: "end" | "start" | "center" | "stretch";
1860
+ }, {
1861
+ mode: "stack";
1862
+ direction?: "vertical" | "horizontal" | undefined;
1863
+ gap?: number | undefined;
1864
+ alignment?: "end" | "start" | "center" | "stretch" | undefined;
1865
+ }>;
1866
+ declare const manualLayoutConfigSchema: z.ZodObject<{
1867
+ mode: z.ZodLiteral<"manual">;
1868
+ positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1869
+ x: z.ZodNumber;
1870
+ y: z.ZodNumber;
1871
+ width: z.ZodOptional<z.ZodNumber>;
1872
+ height: z.ZodOptional<z.ZodNumber>;
1873
+ }, "strict", z.ZodTypeAny, {
1874
+ x: number;
1875
+ y: number;
1876
+ width?: number | undefined;
1877
+ height?: number | undefined;
1878
+ }, {
1879
+ x: number;
1880
+ y: number;
1881
+ width?: number | undefined;
1882
+ height?: number | undefined;
1883
+ }>>>;
1884
+ }, "strict", z.ZodTypeAny, {
1885
+ mode: "manual";
1886
+ positions: Record<string, {
1887
+ x: number;
1888
+ y: number;
1889
+ width?: number | undefined;
1890
+ height?: number | undefined;
1891
+ }>;
1892
+ }, {
1893
+ mode: "manual";
1894
+ positions?: Record<string, {
1895
+ x: number;
1896
+ y: number;
1897
+ width?: number | undefined;
1898
+ height?: number | undefined;
1899
+ }> | undefined;
1900
+ }>;
1901
+ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
1902
+ mode: z.ZodLiteral<"auto">;
1903
+ algorithm: z.ZodDefault<z.ZodEnum<["layered", "stress", "force", "radial", "box"]>>;
1904
+ direction: z.ZodDefault<z.ZodEnum<["TB", "BT", "LR", "RL"]>>;
1905
+ nodeSpacing: z.ZodDefault<z.ZodNumber>;
1906
+ rankSpacing: z.ZodDefault<z.ZodNumber>;
1907
+ edgeRouting: z.ZodDefault<z.ZodEnum<["orthogonal", "polyline", "spline"]>>;
1908
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
1909
+ }, "strict", z.ZodTypeAny, {
1910
+ mode: "auto";
1911
+ direction: "TB" | "BT" | "LR" | "RL";
1912
+ algorithm: "box" | "layered" | "stress" | "force" | "radial";
1913
+ nodeSpacing: number;
1914
+ rankSpacing: number;
1915
+ edgeRouting: "orthogonal" | "polyline" | "spline";
1916
+ aspectRatio?: number | undefined;
1917
+ }, {
1918
+ mode: "auto";
1919
+ direction?: "TB" | "BT" | "LR" | "RL" | undefined;
1920
+ algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
1921
+ nodeSpacing?: number | undefined;
1922
+ rankSpacing?: number | undefined;
1923
+ edgeRouting?: "orthogonal" | "polyline" | "spline" | undefined;
1924
+ aspectRatio?: number | undefined;
1925
+ }>, z.ZodObject<{
1926
+ mode: z.ZodLiteral<"grid">;
1927
+ columns: z.ZodDefault<z.ZodNumber>;
1928
+ gap: z.ZodDefault<z.ZodNumber>;
1929
+ cardMinHeight: z.ZodOptional<z.ZodNumber>;
1930
+ cardMaxHeight: z.ZodOptional<z.ZodNumber>;
1931
+ equalHeight: z.ZodDefault<z.ZodBoolean>;
1932
+ }, "strict", z.ZodTypeAny, {
1933
+ mode: "grid";
1934
+ gap: number;
1935
+ columns: number;
1936
+ equalHeight: boolean;
1937
+ cardMinHeight?: number | undefined;
1938
+ cardMaxHeight?: number | undefined;
1939
+ }, {
1940
+ mode: "grid";
1941
+ gap?: number | undefined;
1942
+ columns?: number | undefined;
1943
+ cardMinHeight?: number | undefined;
1944
+ cardMaxHeight?: number | undefined;
1945
+ equalHeight?: boolean | undefined;
1946
+ }>, z.ZodObject<{
1947
+ mode: z.ZodLiteral<"stack">;
1948
+ direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
1949
+ gap: z.ZodDefault<z.ZodNumber>;
1950
+ alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
1951
+ }, "strict", z.ZodTypeAny, {
1952
+ mode: "stack";
1953
+ direction: "vertical" | "horizontal";
1954
+ gap: number;
1955
+ alignment: "end" | "start" | "center" | "stretch";
1956
+ }, {
1957
+ mode: "stack";
1958
+ direction?: "vertical" | "horizontal" | undefined;
1959
+ gap?: number | undefined;
1960
+ alignment?: "end" | "start" | "center" | "stretch" | undefined;
1961
+ }>, z.ZodObject<{
1962
+ mode: z.ZodLiteral<"manual">;
1963
+ positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1964
+ x: z.ZodNumber;
1965
+ y: z.ZodNumber;
1966
+ width: z.ZodOptional<z.ZodNumber>;
1967
+ height: z.ZodOptional<z.ZodNumber>;
1968
+ }, "strict", z.ZodTypeAny, {
1969
+ x: number;
1970
+ y: number;
1971
+ width?: number | undefined;
1972
+ height?: number | undefined;
1973
+ }, {
1974
+ x: number;
1975
+ y: number;
1976
+ width?: number | undefined;
1977
+ height?: number | undefined;
1978
+ }>>>;
1979
+ }, "strict", z.ZodTypeAny, {
1980
+ mode: "manual";
1981
+ positions: Record<string, {
1982
+ x: number;
1983
+ y: number;
1984
+ width?: number | undefined;
1985
+ height?: number | undefined;
1986
+ }>;
1987
+ }, {
1988
+ mode: "manual";
1989
+ positions?: Record<string, {
1990
+ x: number;
1991
+ y: number;
1992
+ width?: number | undefined;
1993
+ height?: number | undefined;
1994
+ }> | undefined;
1995
+ }>]>;
1996
+ declare const constraintsSchema: z.ZodObject<{
1997
+ minContrastRatio: z.ZodDefault<z.ZodNumber>;
1998
+ minFooterSpacing: z.ZodDefault<z.ZodNumber>;
1999
+ checkOverlaps: z.ZodDefault<z.ZodBoolean>;
2000
+ maxTextTruncation: z.ZodDefault<z.ZodNumber>;
2001
+ }, "strict", z.ZodTypeAny, {
2002
+ minContrastRatio: number;
2003
+ minFooterSpacing: number;
2004
+ checkOverlaps: boolean;
2005
+ maxTextTruncation: number;
2006
+ }, {
2007
+ minContrastRatio?: number | undefined;
2008
+ minFooterSpacing?: number | undefined;
2009
+ checkOverlaps?: boolean | undefined;
2010
+ maxTextTruncation?: number | undefined;
2011
+ }>;
2012
+ declare const decoratorSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2013
+ type: z.ZodLiteral<"rainbow-rule">;
2014
+ y: z.ZodDefault<z.ZodEnum<["after-header", "before-footer", "custom"]>>;
2015
+ customY: z.ZodOptional<z.ZodNumber>;
2016
+ thickness: z.ZodDefault<z.ZodNumber>;
2017
+ colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2018
+ margin: z.ZodDefault<z.ZodNumber>;
2019
+ }, "strict", z.ZodTypeAny, {
2020
+ type: "rainbow-rule";
2021
+ y: "custom" | "after-header" | "before-footer";
2022
+ thickness: number;
2023
+ margin: number;
2024
+ customY?: number | undefined;
2025
+ colors?: string[] | undefined;
2026
+ }, {
2027
+ type: "rainbow-rule";
2028
+ y?: "custom" | "after-header" | "before-footer" | undefined;
2029
+ customY?: number | undefined;
2030
+ thickness?: number | undefined;
2031
+ colors?: string[] | undefined;
2032
+ margin?: number | undefined;
2033
+ }>, z.ZodObject<{
2034
+ type: z.ZodLiteral<"vignette">;
2035
+ intensity: z.ZodDefault<z.ZodNumber>;
2036
+ color: z.ZodDefault<z.ZodString>;
2037
+ }, "strict", z.ZodTypeAny, {
2038
+ type: "vignette";
2039
+ color: string;
2040
+ intensity: number;
2041
+ }, {
2042
+ type: "vignette";
2043
+ color?: string | undefined;
2044
+ intensity?: number | undefined;
2045
+ }>, z.ZodObject<{
2046
+ type: z.ZodLiteral<"gradient-overlay">;
2047
+ gradient: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2048
+ type: z.ZodLiteral<"linear">;
2049
+ angle: z.ZodDefault<z.ZodNumber>;
2050
+ stops: z.ZodArray<z.ZodObject<{
2051
+ offset: z.ZodNumber;
2052
+ color: z.ZodString;
2053
+ }, "strict", z.ZodTypeAny, {
2054
+ color: string;
2055
+ offset: number;
2056
+ }, {
2057
+ color: string;
2058
+ offset: number;
2059
+ }>, "many">;
2060
+ }, "strict", z.ZodTypeAny, {
2061
+ type: "linear";
2062
+ angle: number;
2063
+ stops: {
2064
+ color: string;
2065
+ offset: number;
2066
+ }[];
2067
+ }, {
2068
+ type: "linear";
2069
+ stops: {
2070
+ color: string;
2071
+ offset: number;
2072
+ }[];
2073
+ angle?: number | undefined;
2074
+ }>, z.ZodObject<{
2075
+ type: z.ZodLiteral<"radial">;
2076
+ stops: z.ZodArray<z.ZodObject<{
2077
+ offset: z.ZodNumber;
2078
+ color: z.ZodString;
2079
+ }, "strict", z.ZodTypeAny, {
2080
+ color: string;
2081
+ offset: number;
2082
+ }, {
2083
+ color: string;
2084
+ offset: number;
2085
+ }>, "many">;
2086
+ }, "strict", z.ZodTypeAny, {
2087
+ type: "radial";
2088
+ stops: {
2089
+ color: string;
2090
+ offset: number;
2091
+ }[];
2092
+ }, {
2093
+ type: "radial";
2094
+ stops: {
2095
+ color: string;
2096
+ offset: number;
2097
+ }[];
2098
+ }>]>;
2099
+ opacity: z.ZodDefault<z.ZodNumber>;
2100
+ }, "strict", z.ZodTypeAny, {
2101
+ type: "gradient-overlay";
2102
+ opacity: number;
2103
+ gradient: {
2104
+ type: "linear";
2105
+ angle: number;
2106
+ stops: {
2107
+ color: string;
2108
+ offset: number;
2109
+ }[];
2110
+ } | {
2111
+ type: "radial";
2112
+ stops: {
2113
+ color: string;
2114
+ offset: number;
2115
+ }[];
2116
+ };
2117
+ }, {
2118
+ type: "gradient-overlay";
2119
+ gradient: {
2120
+ type: "linear";
2121
+ stops: {
2122
+ color: string;
2123
+ offset: number;
2124
+ }[];
2125
+ angle?: number | undefined;
2126
+ } | {
2127
+ type: "radial";
2128
+ stops: {
2129
+ color: string;
2130
+ offset: number;
2131
+ }[];
2132
+ };
2133
+ opacity?: number | undefined;
2134
+ }>]>;
2135
+ declare const themeInputSchema: z.ZodUnion<[z.ZodEnum<["dark", "light", "dracula", "github-dark", "one-dark", "nord"]>, z.ZodObject<{
2136
+ background: z.ZodString;
2137
+ surface: z.ZodString;
2138
+ surfaceMuted: z.ZodString;
2139
+ surfaceElevated: z.ZodString;
2140
+ text: z.ZodString;
2141
+ textMuted: z.ZodString;
2142
+ textInverse: z.ZodString;
2143
+ primary: z.ZodString;
2144
+ secondary: z.ZodString;
2145
+ accent: z.ZodString;
2146
+ success: z.ZodString;
2147
+ warning: z.ZodString;
2148
+ error: z.ZodString;
2149
+ info: z.ZodString;
2150
+ border: z.ZodString;
2151
+ borderMuted: z.ZodString;
2152
+ code: z.ZodObject<{
2153
+ background: z.ZodString;
2154
+ text: z.ZodString;
2155
+ comment: z.ZodString;
2156
+ keyword: z.ZodString;
2157
+ string: z.ZodString;
2158
+ number: z.ZodString;
2159
+ function: z.ZodString;
2160
+ variable: z.ZodString;
2161
+ operator: z.ZodString;
2162
+ punctuation: z.ZodString;
2163
+ }, "strict", z.ZodTypeAny, {
2164
+ string: string;
2165
+ number: string;
2166
+ function: string;
2167
+ text: string;
2168
+ background: string;
2169
+ comment: string;
2170
+ keyword: string;
2171
+ variable: string;
2172
+ operator: string;
2173
+ punctuation: string;
2174
+ }, {
2175
+ string: string;
2176
+ number: string;
2177
+ function: string;
2178
+ text: string;
2179
+ background: string;
2180
+ comment: string;
2181
+ keyword: string;
2182
+ variable: string;
2183
+ operator: string;
2184
+ punctuation: string;
2185
+ }>;
2186
+ fonts: z.ZodObject<{
2187
+ heading: z.ZodString;
2188
+ body: z.ZodString;
2189
+ mono: z.ZodString;
2190
+ }, "strict", z.ZodTypeAny, {
2191
+ body: string;
2192
+ heading: string;
2193
+ mono: string;
2194
+ }, {
2195
+ body: string;
2196
+ heading: string;
2197
+ mono: string;
2198
+ }>;
2199
+ }, "strict", z.ZodTypeAny, {
2200
+ code: {
2201
+ string: string;
2202
+ number: string;
2203
+ function: string;
2204
+ text: string;
2205
+ background: string;
2206
+ comment: string;
2207
+ keyword: string;
2208
+ variable: string;
2209
+ operator: string;
2210
+ punctuation: string;
2211
+ };
2212
+ accent: string;
2213
+ success: string;
2214
+ warning: string;
2215
+ error: string;
2216
+ text: string;
2217
+ background: string;
2218
+ surface: string;
2219
+ surfaceMuted: string;
2220
+ surfaceElevated: string;
2221
+ textMuted: string;
2222
+ textInverse: string;
2223
+ primary: string;
2224
+ secondary: string;
2225
+ info: string;
2226
+ border: string;
2227
+ borderMuted: string;
2228
+ fonts: {
2229
+ body: string;
2230
+ heading: string;
2231
+ mono: string;
2232
+ };
2233
+ }, {
2234
+ code: {
2235
+ string: string;
2236
+ number: string;
2237
+ function: string;
2238
+ text: string;
2239
+ background: string;
2240
+ comment: string;
2241
+ keyword: string;
2242
+ variable: string;
2243
+ operator: string;
2244
+ punctuation: string;
2245
+ };
2246
+ accent: string;
2247
+ success: string;
2248
+ warning: string;
2249
+ error: string;
2250
+ text: string;
2251
+ background: string;
2252
+ surface: string;
2253
+ surfaceMuted: string;
2254
+ surfaceElevated: string;
2255
+ textMuted: string;
2256
+ textInverse: string;
2257
+ primary: string;
2258
+ secondary: string;
2259
+ info: string;
2260
+ border: string;
2261
+ borderMuted: string;
2262
+ fonts: {
2263
+ body: string;
2264
+ heading: string;
2265
+ mono: string;
2266
+ };
2267
+ }>]>;
2268
+ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2269
+ version: z.ZodDefault<z.ZodLiteral<2>>;
2270
+ canvas: z.ZodDefault<z.ZodObject<{
2271
+ width: z.ZodDefault<z.ZodNumber>;
2272
+ height: z.ZodDefault<z.ZodNumber>;
2273
+ padding: z.ZodDefault<z.ZodNumber>;
2274
+ }, "strict", z.ZodTypeAny, {
2275
+ width: number;
2276
+ height: number;
2277
+ padding: number;
2278
+ }, {
2279
+ width?: number | undefined;
2280
+ height?: number | undefined;
2281
+ padding?: number | undefined;
2282
+ }>>;
2283
+ theme: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["dark", "light", "dracula", "github-dark", "one-dark", "nord"]>, z.ZodObject<{
2284
+ background: z.ZodString;
2285
+ surface: z.ZodString;
2286
+ surfaceMuted: z.ZodString;
2287
+ surfaceElevated: z.ZodString;
2288
+ text: z.ZodString;
2289
+ textMuted: z.ZodString;
2290
+ textInverse: z.ZodString;
2291
+ primary: z.ZodString;
2292
+ secondary: z.ZodString;
2293
+ accent: z.ZodString;
2294
+ success: z.ZodString;
2295
+ warning: z.ZodString;
2296
+ error: z.ZodString;
2297
+ info: z.ZodString;
2298
+ border: z.ZodString;
2299
+ borderMuted: z.ZodString;
2300
+ code: z.ZodObject<{
2301
+ background: z.ZodString;
2302
+ text: z.ZodString;
2303
+ comment: z.ZodString;
2304
+ keyword: z.ZodString;
2305
+ string: z.ZodString;
2306
+ number: z.ZodString;
2307
+ function: z.ZodString;
2308
+ variable: z.ZodString;
2309
+ operator: z.ZodString;
2310
+ punctuation: z.ZodString;
2311
+ }, "strict", z.ZodTypeAny, {
2312
+ string: string;
2313
+ number: string;
2314
+ function: string;
2315
+ text: string;
2316
+ background: string;
2317
+ comment: string;
2318
+ keyword: string;
2319
+ variable: string;
2320
+ operator: string;
2321
+ punctuation: string;
2322
+ }, {
2323
+ string: string;
2324
+ number: string;
2325
+ function: string;
2326
+ text: string;
2327
+ background: string;
2328
+ comment: string;
2329
+ keyword: string;
2330
+ variable: string;
2331
+ operator: string;
2332
+ punctuation: string;
2333
+ }>;
2334
+ fonts: z.ZodObject<{
2335
+ heading: z.ZodString;
2336
+ body: z.ZodString;
2337
+ mono: z.ZodString;
2338
+ }, "strict", z.ZodTypeAny, {
2339
+ body: string;
2340
+ heading: string;
2341
+ mono: string;
2342
+ }, {
2343
+ body: string;
2344
+ heading: string;
2345
+ mono: string;
2346
+ }>;
2347
+ }, "strict", z.ZodTypeAny, {
2348
+ code: {
2349
+ string: string;
2350
+ number: string;
2351
+ function: string;
2352
+ text: string;
2353
+ background: string;
2354
+ comment: string;
2355
+ keyword: string;
2356
+ variable: string;
2357
+ operator: string;
2358
+ punctuation: string;
2359
+ };
2360
+ accent: string;
2361
+ success: string;
2362
+ warning: string;
2363
+ error: string;
2364
+ text: string;
2365
+ background: string;
2366
+ surface: string;
2367
+ surfaceMuted: string;
2368
+ surfaceElevated: string;
2369
+ textMuted: string;
2370
+ textInverse: string;
2371
+ primary: string;
2372
+ secondary: string;
2373
+ info: string;
2374
+ border: string;
2375
+ borderMuted: string;
2376
+ fonts: {
2377
+ body: string;
2378
+ heading: string;
2379
+ mono: string;
2380
+ };
2381
+ }, {
2382
+ code: {
2383
+ string: string;
2384
+ number: string;
2385
+ function: string;
2386
+ text: string;
2387
+ background: string;
2388
+ comment: string;
2389
+ keyword: string;
2390
+ variable: string;
2391
+ operator: string;
2392
+ punctuation: string;
2393
+ };
2394
+ accent: string;
2395
+ success: string;
2396
+ warning: string;
2397
+ error: string;
2398
+ text: string;
2399
+ background: string;
2400
+ surface: string;
2401
+ surfaceMuted: string;
2402
+ surfaceElevated: string;
2403
+ textMuted: string;
2404
+ textInverse: string;
2405
+ primary: string;
2406
+ secondary: string;
2407
+ info: string;
2408
+ border: string;
2409
+ borderMuted: string;
2410
+ fonts: {
2411
+ body: string;
2412
+ heading: string;
2413
+ mono: string;
2414
+ };
2415
+ }>]>>;
2416
+ background: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2417
+ type: z.ZodLiteral<"linear">;
2418
+ angle: z.ZodDefault<z.ZodNumber>;
2419
+ stops: z.ZodArray<z.ZodObject<{
2420
+ offset: z.ZodNumber;
2421
+ color: z.ZodString;
2422
+ }, "strict", z.ZodTypeAny, {
2423
+ color: string;
2424
+ offset: number;
2425
+ }, {
2426
+ color: string;
2427
+ offset: number;
2428
+ }>, "many">;
2429
+ }, "strict", z.ZodTypeAny, {
2430
+ type: "linear";
2431
+ angle: number;
2432
+ stops: {
2433
+ color: string;
2434
+ offset: number;
2435
+ }[];
2436
+ }, {
2437
+ type: "linear";
2438
+ stops: {
2439
+ color: string;
2440
+ offset: number;
2441
+ }[];
2442
+ angle?: number | undefined;
2443
+ }>, z.ZodObject<{
2444
+ type: z.ZodLiteral<"radial">;
2445
+ stops: z.ZodArray<z.ZodObject<{
2446
+ offset: z.ZodNumber;
2447
+ color: z.ZodString;
2448
+ }, "strict", z.ZodTypeAny, {
2449
+ color: string;
2450
+ offset: number;
2451
+ }, {
2452
+ color: string;
2453
+ offset: number;
2454
+ }>, "many">;
2455
+ }, "strict", z.ZodTypeAny, {
2456
+ type: "radial";
2457
+ stops: {
2458
+ color: string;
2459
+ offset: number;
2460
+ }[];
2461
+ }, {
2462
+ type: "radial";
2463
+ stops: {
2464
+ color: string;
2465
+ offset: number;
2466
+ }[];
2467
+ }>]>]>>;
2468
+ header: z.ZodOptional<z.ZodObject<{
2469
+ eyebrow: z.ZodOptional<z.ZodString>;
2470
+ title: z.ZodString;
2471
+ subtitle: z.ZodOptional<z.ZodString>;
2472
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
2473
+ titleLetterSpacing: z.ZodDefault<z.ZodNumber>;
2474
+ titleFontSize: z.ZodOptional<z.ZodNumber>;
2475
+ }, "strict", z.ZodTypeAny, {
2476
+ title: string;
2477
+ align: "left" | "center" | "right";
2478
+ titleLetterSpacing: number;
2479
+ eyebrow?: string | undefined;
2480
+ subtitle?: string | undefined;
2481
+ titleFontSize?: number | undefined;
2482
+ }, {
2483
+ title: string;
2484
+ align?: "left" | "center" | "right" | undefined;
2485
+ eyebrow?: string | undefined;
2486
+ subtitle?: string | undefined;
2487
+ titleLetterSpacing?: number | undefined;
2488
+ titleFontSize?: number | undefined;
2489
+ }>>;
2490
+ elements: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2491
+ type: z.ZodLiteral<"card">;
2492
+ id: z.ZodString;
2493
+ title: z.ZodString;
2494
+ body: z.ZodString;
2495
+ badge: z.ZodOptional<z.ZodString>;
2496
+ metric: z.ZodOptional<z.ZodString>;
2497
+ tone: z.ZodDefault<z.ZodEnum<["neutral", "accent", "success", "warning", "error"]>>;
2498
+ icon: z.ZodOptional<z.ZodString>;
2499
+ }, "strict", z.ZodTypeAny, {
2500
+ type: "card";
2501
+ id: string;
2502
+ title: string;
2503
+ body: string;
2504
+ tone: "neutral" | "accent" | "success" | "warning" | "error";
2505
+ badge?: string | undefined;
2506
+ metric?: string | undefined;
2507
+ icon?: string | undefined;
2508
+ }, {
2509
+ type: "card";
2510
+ id: string;
2511
+ title: string;
2512
+ body: string;
2513
+ badge?: string | undefined;
2514
+ metric?: string | undefined;
2515
+ tone?: "neutral" | "accent" | "success" | "warning" | "error" | undefined;
2516
+ icon?: string | undefined;
2517
+ }>, z.ZodObject<{
2518
+ type: z.ZodLiteral<"flow-node">;
2519
+ id: z.ZodString;
2520
+ shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
2521
+ label: z.ZodString;
2522
+ sublabel: z.ZodOptional<z.ZodString>;
2523
+ sublabelColor: z.ZodOptional<z.ZodString>;
2524
+ labelColor: z.ZodOptional<z.ZodString>;
2525
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
2526
+ color: z.ZodOptional<z.ZodString>;
2527
+ borderColor: z.ZodOptional<z.ZodString>;
2528
+ borderWidth: z.ZodOptional<z.ZodNumber>;
2529
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
2530
+ width: z.ZodOptional<z.ZodNumber>;
2531
+ height: z.ZodOptional<z.ZodNumber>;
2532
+ opacity: z.ZodDefault<z.ZodNumber>;
2533
+ }, "strict", z.ZodTypeAny, {
2534
+ type: "flow-node";
2535
+ id: string;
2536
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
2537
+ label: string;
2538
+ opacity: number;
2539
+ sublabel?: string | undefined;
2540
+ sublabelColor?: string | undefined;
2541
+ labelColor?: string | undefined;
2542
+ labelFontSize?: number | undefined;
2543
+ color?: string | undefined;
2544
+ borderColor?: string | undefined;
2545
+ borderWidth?: number | undefined;
2546
+ cornerRadius?: number | undefined;
2547
+ width?: number | undefined;
2548
+ height?: number | undefined;
2549
+ }, {
2550
+ type: "flow-node";
2551
+ id: string;
2552
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
2553
+ label: string;
2554
+ sublabel?: string | undefined;
2555
+ sublabelColor?: string | undefined;
2556
+ labelColor?: string | undefined;
2557
+ labelFontSize?: number | undefined;
2558
+ color?: string | undefined;
2559
+ borderColor?: string | undefined;
2560
+ borderWidth?: number | undefined;
2561
+ cornerRadius?: number | undefined;
2562
+ width?: number | undefined;
2563
+ height?: number | undefined;
2564
+ opacity?: number | undefined;
2565
+ }>, z.ZodObject<{
2566
+ type: z.ZodLiteral<"connection">;
2567
+ from: z.ZodString;
2568
+ to: z.ZodString;
2569
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2570
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2571
+ label: z.ZodOptional<z.ZodString>;
2572
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2573
+ color: z.ZodOptional<z.ZodString>;
2574
+ width: z.ZodOptional<z.ZodNumber>;
2575
+ arrowSize: z.ZodOptional<z.ZodNumber>;
2576
+ opacity: z.ZodDefault<z.ZodNumber>;
2577
+ }, "strict", z.ZodTypeAny, {
2578
+ type: "connection";
2579
+ opacity: number;
2580
+ from: string;
2581
+ to: string;
2582
+ style: "solid" | "dashed" | "dotted";
2583
+ arrow: "end" | "start" | "both" | "none";
2584
+ labelPosition: "end" | "start" | "middle";
2585
+ label?: string | undefined;
2586
+ color?: string | undefined;
2587
+ width?: number | undefined;
2588
+ arrowSize?: number | undefined;
2589
+ }, {
2590
+ type: "connection";
2591
+ from: string;
2592
+ to: string;
2593
+ label?: string | undefined;
2594
+ color?: string | undefined;
2595
+ width?: number | undefined;
2596
+ opacity?: number | undefined;
2597
+ style?: "solid" | "dashed" | "dotted" | undefined;
2598
+ arrow?: "end" | "start" | "both" | "none" | undefined;
2599
+ labelPosition?: "end" | "start" | "middle" | undefined;
2600
+ arrowSize?: number | undefined;
2601
+ }>, z.ZodObject<{
2602
+ type: z.ZodLiteral<"code-block">;
2603
+ id: z.ZodString;
2604
+ code: z.ZodString;
2605
+ language: z.ZodString;
2606
+ theme: z.ZodOptional<z.ZodString>;
2607
+ showLineNumbers: z.ZodDefault<z.ZodBoolean>;
2608
+ highlightLines: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
2609
+ startLine: z.ZodDefault<z.ZodNumber>;
2610
+ title: z.ZodOptional<z.ZodString>;
2611
+ style: z.ZodOptional<z.ZodObject<{
2612
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2613
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2614
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
2615
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2616
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2617
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2618
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2619
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2620
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2621
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2622
+ }, "strip", z.ZodTypeAny, {
2623
+ paddingVertical?: number | undefined;
2624
+ paddingHorizontal?: number | undefined;
2625
+ windowControls?: "none" | "macos" | "bw" | undefined;
2626
+ dropShadow?: boolean | undefined;
2627
+ dropShadowOffsetY?: number | undefined;
2628
+ dropShadowBlurRadius?: number | undefined;
2629
+ surroundColor?: string | undefined;
2630
+ fontSize?: number | undefined;
2631
+ lineHeightPercent?: number | undefined;
2632
+ scale?: number | undefined;
2633
+ }, {
2634
+ paddingVertical?: number | undefined;
2635
+ paddingHorizontal?: number | undefined;
2636
+ windowControls?: "none" | "macos" | "bw" | undefined;
2637
+ dropShadow?: boolean | undefined;
2638
+ dropShadowOffsetY?: number | undefined;
2639
+ dropShadowBlurRadius?: number | undefined;
2640
+ surroundColor?: string | undefined;
2641
+ fontSize?: number | undefined;
2642
+ lineHeightPercent?: number | undefined;
2643
+ scale?: number | undefined;
2644
+ }>>;
2645
+ }, "strict", z.ZodTypeAny, {
2646
+ type: "code-block";
2647
+ code: string;
2648
+ id: string;
2649
+ language: string;
2650
+ showLineNumbers: boolean;
2651
+ startLine: number;
2652
+ title?: string | undefined;
2653
+ style?: {
2654
+ paddingVertical?: number | undefined;
2655
+ paddingHorizontal?: number | undefined;
2656
+ windowControls?: "none" | "macos" | "bw" | undefined;
2657
+ dropShadow?: boolean | undefined;
2658
+ dropShadowOffsetY?: number | undefined;
2659
+ dropShadowBlurRadius?: number | undefined;
2660
+ surroundColor?: string | undefined;
2661
+ fontSize?: number | undefined;
2662
+ lineHeightPercent?: number | undefined;
2663
+ scale?: number | undefined;
2664
+ } | undefined;
2665
+ theme?: string | undefined;
2666
+ highlightLines?: number[] | undefined;
2667
+ }, {
2668
+ type: "code-block";
2669
+ code: string;
2670
+ id: string;
2671
+ language: string;
2672
+ title?: string | undefined;
2673
+ style?: {
2674
+ paddingVertical?: number | undefined;
2675
+ paddingHorizontal?: number | undefined;
2676
+ windowControls?: "none" | "macos" | "bw" | undefined;
2677
+ dropShadow?: boolean | undefined;
2678
+ dropShadowOffsetY?: number | undefined;
2679
+ dropShadowBlurRadius?: number | undefined;
2680
+ surroundColor?: string | undefined;
2681
+ fontSize?: number | undefined;
2682
+ lineHeightPercent?: number | undefined;
2683
+ scale?: number | undefined;
2684
+ } | undefined;
2685
+ theme?: string | undefined;
2686
+ showLineNumbers?: boolean | undefined;
2687
+ highlightLines?: number[] | undefined;
2688
+ startLine?: number | undefined;
2689
+ }>, z.ZodObject<{
2690
+ type: z.ZodLiteral<"terminal">;
2691
+ id: z.ZodString;
2692
+ content: z.ZodString;
2693
+ prompt: z.ZodOptional<z.ZodString>;
2694
+ title: z.ZodOptional<z.ZodString>;
2695
+ showPrompt: z.ZodDefault<z.ZodBoolean>;
2696
+ style: z.ZodOptional<z.ZodObject<{
2697
+ paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2698
+ paddingHorizontal: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2699
+ windowControls: z.ZodOptional<z.ZodDefault<z.ZodEnum<["macos", "bw", "none"]>>>;
2700
+ dropShadow: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2701
+ dropShadowOffsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2702
+ dropShadowBlurRadius: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2703
+ surroundColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2704
+ fontSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2705
+ lineHeightPercent: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2706
+ scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2707
+ }, "strip", z.ZodTypeAny, {
2708
+ paddingVertical?: number | undefined;
2709
+ paddingHorizontal?: number | undefined;
2710
+ windowControls?: "none" | "macos" | "bw" | undefined;
2711
+ dropShadow?: boolean | undefined;
2712
+ dropShadowOffsetY?: number | undefined;
2713
+ dropShadowBlurRadius?: number | undefined;
2714
+ surroundColor?: string | undefined;
2715
+ fontSize?: number | undefined;
2716
+ lineHeightPercent?: number | undefined;
2717
+ scale?: number | undefined;
2718
+ }, {
2719
+ paddingVertical?: number | undefined;
2720
+ paddingHorizontal?: number | undefined;
2721
+ windowControls?: "none" | "macos" | "bw" | undefined;
2722
+ dropShadow?: boolean | undefined;
2723
+ dropShadowOffsetY?: number | undefined;
2724
+ dropShadowBlurRadius?: number | undefined;
2725
+ surroundColor?: string | undefined;
2726
+ fontSize?: number | undefined;
2727
+ lineHeightPercent?: number | undefined;
2728
+ scale?: number | undefined;
2729
+ }>>;
2730
+ }, "strict", z.ZodTypeAny, {
2731
+ type: "terminal";
2732
+ id: string;
2733
+ content: string;
2734
+ showPrompt: boolean;
2735
+ title?: string | undefined;
2736
+ style?: {
2737
+ paddingVertical?: number | undefined;
2738
+ paddingHorizontal?: number | undefined;
2739
+ windowControls?: "none" | "macos" | "bw" | undefined;
2740
+ dropShadow?: boolean | undefined;
2741
+ dropShadowOffsetY?: number | undefined;
2742
+ dropShadowBlurRadius?: number | undefined;
2743
+ surroundColor?: string | undefined;
2744
+ fontSize?: number | undefined;
2745
+ lineHeightPercent?: number | undefined;
2746
+ scale?: number | undefined;
2747
+ } | undefined;
2748
+ prompt?: string | undefined;
2749
+ }, {
2750
+ type: "terminal";
2751
+ id: string;
2752
+ content: string;
2753
+ title?: string | undefined;
2754
+ style?: {
2755
+ paddingVertical?: number | undefined;
2756
+ paddingHorizontal?: number | undefined;
2757
+ windowControls?: "none" | "macos" | "bw" | undefined;
2758
+ dropShadow?: boolean | undefined;
2759
+ dropShadowOffsetY?: number | undefined;
2760
+ dropShadowBlurRadius?: number | undefined;
2761
+ surroundColor?: string | undefined;
2762
+ fontSize?: number | undefined;
2763
+ lineHeightPercent?: number | undefined;
2764
+ scale?: number | undefined;
2765
+ } | undefined;
2766
+ prompt?: string | undefined;
2767
+ showPrompt?: boolean | undefined;
2768
+ }>, z.ZodObject<{
2769
+ type: z.ZodLiteral<"text">;
2770
+ id: z.ZodString;
2771
+ content: z.ZodString;
2772
+ style: z.ZodEnum<["heading", "subheading", "body", "caption", "code"]>;
2773
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
2774
+ color: z.ZodOptional<z.ZodString>;
2775
+ }, "strict", z.ZodTypeAny, {
2776
+ type: "text";
2777
+ id: string;
2778
+ style: "code" | "body" | "heading" | "subheading" | "caption";
2779
+ content: string;
2780
+ align: "left" | "center" | "right";
2781
+ color?: string | undefined;
2782
+ }, {
2783
+ type: "text";
2784
+ id: string;
2785
+ style: "code" | "body" | "heading" | "subheading" | "caption";
2786
+ content: string;
2787
+ color?: string | undefined;
2788
+ align?: "left" | "center" | "right" | undefined;
2789
+ }>, z.ZodObject<{
2790
+ type: z.ZodLiteral<"shape">;
2791
+ id: z.ZodString;
2792
+ shape: z.ZodEnum<["rectangle", "rounded-rectangle", "circle", "ellipse", "line", "arrow"]>;
2793
+ fill: z.ZodOptional<z.ZodString>;
2794
+ stroke: z.ZodOptional<z.ZodString>;
2795
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2796
+ }, "strict", z.ZodTypeAny, {
2797
+ type: "shape";
2798
+ id: string;
2799
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
2800
+ strokeWidth: number;
2801
+ fill?: string | undefined;
2802
+ stroke?: string | undefined;
2803
+ }, {
2804
+ type: "shape";
2805
+ id: string;
2806
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
2807
+ fill?: string | undefined;
2808
+ stroke?: string | undefined;
2809
+ strokeWidth?: number | undefined;
2810
+ }>, z.ZodObject<{
2811
+ type: z.ZodLiteral<"image">;
2812
+ id: z.ZodString;
2813
+ src: z.ZodString;
2814
+ alt: z.ZodOptional<z.ZodString>;
2815
+ fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
2816
+ borderRadius: z.ZodDefault<z.ZodNumber>;
2817
+ }, "strict", z.ZodTypeAny, {
2818
+ type: "image";
2819
+ id: string;
2820
+ src: string;
2821
+ fit: "fill" | "none" | "contain" | "cover";
2822
+ borderRadius: number;
2823
+ alt?: string | undefined;
2824
+ }, {
2825
+ type: "image";
2826
+ id: string;
2827
+ src: string;
2828
+ alt?: string | undefined;
2829
+ fit?: "fill" | "none" | "contain" | "cover" | undefined;
2830
+ borderRadius?: number | undefined;
2831
+ }>]>, "many">>;
2832
+ footer: z.ZodOptional<z.ZodObject<{
2833
+ text: z.ZodString;
2834
+ tagline: z.ZodOptional<z.ZodString>;
2835
+ }, "strict", z.ZodTypeAny, {
2836
+ text: string;
2837
+ tagline?: string | undefined;
2838
+ }, {
2839
+ text: string;
2840
+ tagline?: string | undefined;
2841
+ }>>;
2842
+ decorators: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2843
+ type: z.ZodLiteral<"rainbow-rule">;
2844
+ y: z.ZodDefault<z.ZodEnum<["after-header", "before-footer", "custom"]>>;
2845
+ customY: z.ZodOptional<z.ZodNumber>;
2846
+ thickness: z.ZodDefault<z.ZodNumber>;
2847
+ colors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2848
+ margin: z.ZodDefault<z.ZodNumber>;
2849
+ }, "strict", z.ZodTypeAny, {
2850
+ type: "rainbow-rule";
2851
+ y: "custom" | "after-header" | "before-footer";
2852
+ thickness: number;
2853
+ margin: number;
2854
+ customY?: number | undefined;
2855
+ colors?: string[] | undefined;
2856
+ }, {
2857
+ type: "rainbow-rule";
2858
+ y?: "custom" | "after-header" | "before-footer" | undefined;
2859
+ customY?: number | undefined;
2860
+ thickness?: number | undefined;
2861
+ colors?: string[] | undefined;
2862
+ margin?: number | undefined;
2863
+ }>, z.ZodObject<{
2864
+ type: z.ZodLiteral<"vignette">;
2865
+ intensity: z.ZodDefault<z.ZodNumber>;
2866
+ color: z.ZodDefault<z.ZodString>;
2867
+ }, "strict", z.ZodTypeAny, {
2868
+ type: "vignette";
2869
+ color: string;
2870
+ intensity: number;
2871
+ }, {
2872
+ type: "vignette";
2873
+ color?: string | undefined;
2874
+ intensity?: number | undefined;
2875
+ }>, z.ZodObject<{
2876
+ type: z.ZodLiteral<"gradient-overlay">;
2877
+ gradient: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2878
+ type: z.ZodLiteral<"linear">;
2879
+ angle: z.ZodDefault<z.ZodNumber>;
2880
+ stops: z.ZodArray<z.ZodObject<{
2881
+ offset: z.ZodNumber;
2882
+ color: z.ZodString;
2883
+ }, "strict", z.ZodTypeAny, {
2884
+ color: string;
2885
+ offset: number;
2886
+ }, {
2887
+ color: string;
2888
+ offset: number;
2889
+ }>, "many">;
2890
+ }, "strict", z.ZodTypeAny, {
2891
+ type: "linear";
2892
+ angle: number;
2893
+ stops: {
2894
+ color: string;
2895
+ offset: number;
2896
+ }[];
2897
+ }, {
2898
+ type: "linear";
2899
+ stops: {
2900
+ color: string;
2901
+ offset: number;
2902
+ }[];
2903
+ angle?: number | undefined;
2904
+ }>, z.ZodObject<{
2905
+ type: z.ZodLiteral<"radial">;
2906
+ stops: z.ZodArray<z.ZodObject<{
2907
+ offset: z.ZodNumber;
2908
+ color: z.ZodString;
2909
+ }, "strict", z.ZodTypeAny, {
2910
+ color: string;
2911
+ offset: number;
2912
+ }, {
2913
+ color: string;
2914
+ offset: number;
2915
+ }>, "many">;
2916
+ }, "strict", z.ZodTypeAny, {
2917
+ type: "radial";
2918
+ stops: {
2919
+ color: string;
2920
+ offset: number;
2921
+ }[];
2922
+ }, {
2923
+ type: "radial";
2924
+ stops: {
2925
+ color: string;
2926
+ offset: number;
2927
+ }[];
2928
+ }>]>;
2929
+ opacity: z.ZodDefault<z.ZodNumber>;
2930
+ }, "strict", z.ZodTypeAny, {
2931
+ type: "gradient-overlay";
2932
+ opacity: number;
2933
+ gradient: {
2934
+ type: "linear";
2935
+ angle: number;
2936
+ stops: {
2937
+ color: string;
2938
+ offset: number;
2939
+ }[];
2940
+ } | {
2941
+ type: "radial";
2942
+ stops: {
2943
+ color: string;
2944
+ offset: number;
2945
+ }[];
2946
+ };
2947
+ }, {
2948
+ type: "gradient-overlay";
2949
+ gradient: {
2950
+ type: "linear";
2951
+ stops: {
2952
+ color: string;
2953
+ offset: number;
2954
+ }[];
2955
+ angle?: number | undefined;
2956
+ } | {
2957
+ type: "radial";
2958
+ stops: {
2959
+ color: string;
2960
+ offset: number;
2961
+ }[];
2962
+ };
2963
+ opacity?: number | undefined;
2964
+ }>]>, "many">>;
2965
+ draw: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2966
+ type: z.ZodLiteral<"rect">;
2967
+ x: z.ZodNumber;
2968
+ y: z.ZodNumber;
2969
+ width: z.ZodNumber;
2970
+ height: z.ZodNumber;
2971
+ fill: z.ZodOptional<z.ZodString>;
2972
+ stroke: z.ZodOptional<z.ZodString>;
2973
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2974
+ radius: z.ZodDefault<z.ZodNumber>;
2975
+ opacity: z.ZodDefault<z.ZodNumber>;
2976
+ }, "strict", z.ZodTypeAny, {
2977
+ type: "rect";
2978
+ width: number;
2979
+ height: number;
2980
+ opacity: number;
2981
+ strokeWidth: number;
2982
+ x: number;
2983
+ y: number;
2984
+ radius: number;
2985
+ fill?: string | undefined;
2986
+ stroke?: string | undefined;
2987
+ }, {
2988
+ type: "rect";
2989
+ width: number;
2990
+ height: number;
2991
+ x: number;
2992
+ y: number;
2993
+ fill?: string | undefined;
2994
+ opacity?: number | undefined;
2995
+ stroke?: string | undefined;
2996
+ strokeWidth?: number | undefined;
2997
+ radius?: number | undefined;
2998
+ }>, z.ZodObject<{
2999
+ type: z.ZodLiteral<"circle">;
3000
+ cx: z.ZodNumber;
3001
+ cy: z.ZodNumber;
3002
+ radius: z.ZodNumber;
3003
+ fill: z.ZodOptional<z.ZodString>;
3004
+ stroke: z.ZodOptional<z.ZodString>;
3005
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
3006
+ opacity: z.ZodDefault<z.ZodNumber>;
3007
+ }, "strict", z.ZodTypeAny, {
3008
+ type: "circle";
3009
+ opacity: number;
3010
+ strokeWidth: number;
3011
+ radius: number;
3012
+ cx: number;
3013
+ cy: number;
3014
+ fill?: string | undefined;
3015
+ stroke?: string | undefined;
3016
+ }, {
3017
+ type: "circle";
3018
+ radius: number;
3019
+ cx: number;
3020
+ cy: number;
3021
+ fill?: string | undefined;
3022
+ opacity?: number | undefined;
3023
+ stroke?: string | undefined;
3024
+ strokeWidth?: number | undefined;
3025
+ }>, z.ZodObject<{
3026
+ type: z.ZodLiteral<"text">;
3027
+ x: z.ZodNumber;
3028
+ y: z.ZodNumber;
3029
+ text: z.ZodString;
3030
+ fontSize: z.ZodDefault<z.ZodNumber>;
3031
+ fontWeight: z.ZodDefault<z.ZodNumber>;
3032
+ fontFamily: z.ZodDefault<z.ZodEnum<["heading", "body", "mono"]>>;
3033
+ color: z.ZodDefault<z.ZodString>;
3034
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
3035
+ baseline: z.ZodDefault<z.ZodEnum<["top", "middle", "alphabetic", "bottom"]>>;
3036
+ letterSpacing: z.ZodDefault<z.ZodNumber>;
3037
+ maxWidth: z.ZodOptional<z.ZodNumber>;
3038
+ opacity: z.ZodDefault<z.ZodNumber>;
3039
+ }, "strict", z.ZodTypeAny, {
3040
+ type: "text";
3041
+ color: string;
3042
+ opacity: number;
3043
+ fontSize: number;
3044
+ text: string;
3045
+ align: "left" | "center" | "right";
3046
+ x: number;
3047
+ y: number;
3048
+ fontWeight: number;
3049
+ fontFamily: "body" | "heading" | "mono";
3050
+ baseline: "middle" | "alphabetic" | "bottom" | "top";
3051
+ letterSpacing: number;
3052
+ maxWidth?: number | undefined;
3053
+ }, {
3054
+ type: "text";
3055
+ text: string;
3056
+ x: number;
3057
+ y: number;
3058
+ color?: string | undefined;
3059
+ opacity?: number | undefined;
3060
+ fontSize?: number | undefined;
3061
+ align?: "left" | "center" | "right" | undefined;
3062
+ fontWeight?: number | undefined;
3063
+ fontFamily?: "body" | "heading" | "mono" | undefined;
3064
+ baseline?: "middle" | "alphabetic" | "bottom" | "top" | undefined;
3065
+ letterSpacing?: number | undefined;
3066
+ maxWidth?: number | undefined;
3067
+ }>, z.ZodObject<{
3068
+ type: z.ZodLiteral<"line">;
3069
+ x1: z.ZodNumber;
3070
+ y1: z.ZodNumber;
3071
+ x2: z.ZodNumber;
3072
+ y2: z.ZodNumber;
3073
+ color: z.ZodDefault<z.ZodString>;
3074
+ width: z.ZodDefault<z.ZodNumber>;
3075
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
3076
+ arrow: z.ZodDefault<z.ZodEnum<["none", "end", "start", "both"]>>;
3077
+ arrowSize: z.ZodDefault<z.ZodNumber>;
3078
+ opacity: z.ZodDefault<z.ZodNumber>;
3079
+ }, "strict", z.ZodTypeAny, {
3080
+ type: "line";
3081
+ color: string;
3082
+ width: number;
3083
+ opacity: number;
3084
+ arrow: "end" | "start" | "both" | "none";
3085
+ arrowSize: number;
3086
+ x1: number;
3087
+ y1: number;
3088
+ x2: number;
3089
+ y2: number;
3090
+ dash?: number[] | undefined;
3091
+ }, {
3092
+ type: "line";
3093
+ x1: number;
3094
+ y1: number;
3095
+ x2: number;
3096
+ y2: number;
3097
+ color?: string | undefined;
3098
+ width?: number | undefined;
3099
+ opacity?: number | undefined;
3100
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3101
+ arrowSize?: number | undefined;
3102
+ dash?: number[] | undefined;
3103
+ }>, z.ZodObject<{
3104
+ type: z.ZodLiteral<"bezier">;
3105
+ points: z.ZodArray<z.ZodObject<{
3106
+ x: z.ZodNumber;
3107
+ y: z.ZodNumber;
3108
+ }, "strict", z.ZodTypeAny, {
3109
+ x: number;
3110
+ y: number;
3111
+ }, {
3112
+ x: number;
3113
+ y: number;
3114
+ }>, "many">;
3115
+ color: z.ZodDefault<z.ZodString>;
3116
+ width: z.ZodDefault<z.ZodNumber>;
3117
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
3118
+ arrow: z.ZodDefault<z.ZodEnum<["none", "end", "start", "both"]>>;
3119
+ arrowSize: z.ZodDefault<z.ZodNumber>;
3120
+ opacity: z.ZodDefault<z.ZodNumber>;
3121
+ }, "strict", z.ZodTypeAny, {
3122
+ type: "bezier";
3123
+ color: string;
3124
+ width: number;
3125
+ opacity: number;
3126
+ arrow: "end" | "start" | "both" | "none";
3127
+ arrowSize: number;
3128
+ points: {
3129
+ x: number;
3130
+ y: number;
3131
+ }[];
3132
+ dash?: number[] | undefined;
3133
+ }, {
3134
+ type: "bezier";
3135
+ points: {
3136
+ x: number;
3137
+ y: number;
3138
+ }[];
3139
+ color?: string | undefined;
3140
+ width?: number | undefined;
3141
+ opacity?: number | undefined;
3142
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3143
+ arrowSize?: number | undefined;
3144
+ dash?: number[] | undefined;
3145
+ }>, z.ZodObject<{
3146
+ type: z.ZodLiteral<"path">;
3147
+ d: z.ZodString;
3148
+ fill: z.ZodOptional<z.ZodString>;
3149
+ stroke: z.ZodOptional<z.ZodString>;
3150
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
3151
+ opacity: z.ZodDefault<z.ZodNumber>;
3152
+ }, "strict", z.ZodTypeAny, {
3153
+ type: "path";
3154
+ opacity: number;
3155
+ strokeWidth: number;
3156
+ d: string;
3157
+ fill?: string | undefined;
3158
+ stroke?: string | undefined;
3159
+ }, {
3160
+ type: "path";
3161
+ d: string;
3162
+ fill?: string | undefined;
3163
+ opacity?: number | undefined;
3164
+ stroke?: string | undefined;
3165
+ strokeWidth?: number | undefined;
3166
+ }>, z.ZodObject<{
3167
+ type: z.ZodLiteral<"badge">;
3168
+ x: z.ZodNumber;
3169
+ y: z.ZodNumber;
3170
+ text: z.ZodString;
3171
+ fontSize: z.ZodDefault<z.ZodNumber>;
3172
+ fontFamily: z.ZodDefault<z.ZodEnum<["heading", "body", "mono"]>>;
3173
+ color: z.ZodDefault<z.ZodString>;
3174
+ background: z.ZodDefault<z.ZodString>;
3175
+ paddingX: z.ZodDefault<z.ZodNumber>;
3176
+ paddingY: z.ZodDefault<z.ZodNumber>;
3177
+ borderRadius: z.ZodDefault<z.ZodNumber>;
3178
+ opacity: z.ZodDefault<z.ZodNumber>;
3179
+ }, "strict", z.ZodTypeAny, {
3180
+ type: "badge";
3181
+ color: string;
3182
+ opacity: number;
3183
+ fontSize: number;
3184
+ text: string;
3185
+ borderRadius: number;
3186
+ x: number;
3187
+ y: number;
3188
+ background: string;
3189
+ fontFamily: "body" | "heading" | "mono";
3190
+ paddingX: number;
3191
+ paddingY: number;
3192
+ }, {
3193
+ type: "badge";
3194
+ text: string;
3195
+ x: number;
3196
+ y: number;
3197
+ color?: string | undefined;
3198
+ opacity?: number | undefined;
3199
+ fontSize?: number | undefined;
3200
+ borderRadius?: number | undefined;
3201
+ background?: string | undefined;
3202
+ fontFamily?: "body" | "heading" | "mono" | undefined;
3203
+ paddingX?: number | undefined;
3204
+ paddingY?: number | undefined;
3205
+ }>, z.ZodObject<{
3206
+ type: z.ZodLiteral<"gradient-rect">;
3207
+ x: z.ZodNumber;
3208
+ y: z.ZodNumber;
3209
+ width: z.ZodNumber;
3210
+ height: z.ZodNumber;
3211
+ gradient: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3212
+ type: z.ZodLiteral<"linear">;
3213
+ angle: z.ZodDefault<z.ZodNumber>;
3214
+ stops: z.ZodArray<z.ZodObject<{
3215
+ offset: z.ZodNumber;
3216
+ color: z.ZodString;
3217
+ }, "strict", z.ZodTypeAny, {
3218
+ color: string;
3219
+ offset: number;
3220
+ }, {
3221
+ color: string;
3222
+ offset: number;
3223
+ }>, "many">;
3224
+ }, "strict", z.ZodTypeAny, {
3225
+ type: "linear";
3226
+ angle: number;
3227
+ stops: {
3228
+ color: string;
3229
+ offset: number;
3230
+ }[];
3231
+ }, {
3232
+ type: "linear";
3233
+ stops: {
3234
+ color: string;
3235
+ offset: number;
3236
+ }[];
3237
+ angle?: number | undefined;
3238
+ }>, z.ZodObject<{
3239
+ type: z.ZodLiteral<"radial">;
3240
+ stops: z.ZodArray<z.ZodObject<{
3241
+ offset: z.ZodNumber;
3242
+ color: z.ZodString;
3243
+ }, "strict", z.ZodTypeAny, {
3244
+ color: string;
3245
+ offset: number;
3246
+ }, {
3247
+ color: string;
3248
+ offset: number;
3249
+ }>, "many">;
3250
+ }, "strict", z.ZodTypeAny, {
3251
+ type: "radial";
3252
+ stops: {
3253
+ color: string;
3254
+ offset: number;
3255
+ }[];
3256
+ }, {
3257
+ type: "radial";
3258
+ stops: {
3259
+ color: string;
3260
+ offset: number;
3261
+ }[];
3262
+ }>]>;
3263
+ radius: z.ZodDefault<z.ZodNumber>;
3264
+ opacity: z.ZodDefault<z.ZodNumber>;
3265
+ }, "strict", z.ZodTypeAny, {
3266
+ type: "gradient-rect";
3267
+ width: number;
3268
+ height: number;
3269
+ opacity: number;
3270
+ x: number;
3271
+ y: number;
3272
+ radius: number;
3273
+ gradient: {
3274
+ type: "linear";
3275
+ angle: number;
3276
+ stops: {
3277
+ color: string;
3278
+ offset: number;
3279
+ }[];
3280
+ } | {
3281
+ type: "radial";
3282
+ stops: {
3283
+ color: string;
3284
+ offset: number;
3285
+ }[];
3286
+ };
3287
+ }, {
3288
+ type: "gradient-rect";
3289
+ width: number;
3290
+ height: number;
3291
+ x: number;
3292
+ y: number;
3293
+ gradient: {
3294
+ type: "linear";
3295
+ stops: {
3296
+ color: string;
3297
+ offset: number;
3298
+ }[];
3299
+ angle?: number | undefined;
3300
+ } | {
3301
+ type: "radial";
3302
+ stops: {
3303
+ color: string;
3304
+ offset: number;
3305
+ }[];
3306
+ };
3307
+ opacity?: number | undefined;
3308
+ radius?: number | undefined;
3309
+ }>]>, "many">>;
3310
+ layout: z.ZodOptional<z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3311
+ mode: z.ZodLiteral<"auto">;
3312
+ algorithm: z.ZodDefault<z.ZodEnum<["layered", "stress", "force", "radial", "box"]>>;
3313
+ direction: z.ZodDefault<z.ZodEnum<["TB", "BT", "LR", "RL"]>>;
3314
+ nodeSpacing: z.ZodDefault<z.ZodNumber>;
3315
+ rankSpacing: z.ZodDefault<z.ZodNumber>;
3316
+ edgeRouting: z.ZodDefault<z.ZodEnum<["orthogonal", "polyline", "spline"]>>;
3317
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
3318
+ }, "strict", z.ZodTypeAny, {
3319
+ mode: "auto";
3320
+ direction: "TB" | "BT" | "LR" | "RL";
3321
+ algorithm: "box" | "layered" | "stress" | "force" | "radial";
3322
+ nodeSpacing: number;
3323
+ rankSpacing: number;
3324
+ edgeRouting: "orthogonal" | "polyline" | "spline";
3325
+ aspectRatio?: number | undefined;
3326
+ }, {
3327
+ mode: "auto";
3328
+ direction?: "TB" | "BT" | "LR" | "RL" | undefined;
3329
+ algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
3330
+ nodeSpacing?: number | undefined;
3331
+ rankSpacing?: number | undefined;
3332
+ edgeRouting?: "orthogonal" | "polyline" | "spline" | undefined;
3333
+ aspectRatio?: number | undefined;
3334
+ }>, z.ZodObject<{
3335
+ mode: z.ZodLiteral<"grid">;
3336
+ columns: z.ZodDefault<z.ZodNumber>;
3337
+ gap: z.ZodDefault<z.ZodNumber>;
3338
+ cardMinHeight: z.ZodOptional<z.ZodNumber>;
3339
+ cardMaxHeight: z.ZodOptional<z.ZodNumber>;
3340
+ equalHeight: z.ZodDefault<z.ZodBoolean>;
3341
+ }, "strict", z.ZodTypeAny, {
3342
+ mode: "grid";
3343
+ gap: number;
3344
+ columns: number;
3345
+ equalHeight: boolean;
3346
+ cardMinHeight?: number | undefined;
3347
+ cardMaxHeight?: number | undefined;
3348
+ }, {
3349
+ mode: "grid";
3350
+ gap?: number | undefined;
3351
+ columns?: number | undefined;
3352
+ cardMinHeight?: number | undefined;
3353
+ cardMaxHeight?: number | undefined;
3354
+ equalHeight?: boolean | undefined;
3355
+ }>, z.ZodObject<{
3356
+ mode: z.ZodLiteral<"stack">;
3357
+ direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
3358
+ gap: z.ZodDefault<z.ZodNumber>;
3359
+ alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
3360
+ }, "strict", z.ZodTypeAny, {
3361
+ mode: "stack";
3362
+ direction: "vertical" | "horizontal";
3363
+ gap: number;
3364
+ alignment: "end" | "start" | "center" | "stretch";
3365
+ }, {
3366
+ mode: "stack";
3367
+ direction?: "vertical" | "horizontal" | undefined;
3368
+ gap?: number | undefined;
3369
+ alignment?: "end" | "start" | "center" | "stretch" | undefined;
3370
+ }>, z.ZodObject<{
3371
+ mode: z.ZodLiteral<"manual">;
3372
+ positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3373
+ x: z.ZodNumber;
3374
+ y: z.ZodNumber;
3375
+ width: z.ZodOptional<z.ZodNumber>;
3376
+ height: z.ZodOptional<z.ZodNumber>;
3377
+ }, "strict", z.ZodTypeAny, {
3378
+ x: number;
3379
+ y: number;
3380
+ width?: number | undefined;
3381
+ height?: number | undefined;
3382
+ }, {
3383
+ x: number;
3384
+ y: number;
3385
+ width?: number | undefined;
3386
+ height?: number | undefined;
3387
+ }>>>;
3388
+ }, "strict", z.ZodTypeAny, {
3389
+ mode: "manual";
3390
+ positions: Record<string, {
3391
+ x: number;
3392
+ y: number;
3393
+ width?: number | undefined;
3394
+ height?: number | undefined;
3395
+ }>;
3396
+ }, {
3397
+ mode: "manual";
3398
+ positions?: Record<string, {
3399
+ x: number;
3400
+ y: number;
3401
+ width?: number | undefined;
3402
+ height?: number | undefined;
3403
+ }> | undefined;
3404
+ }>]>>;
3405
+ constraints: z.ZodDefault<z.ZodObject<{
3406
+ minContrastRatio: z.ZodDefault<z.ZodNumber>;
3407
+ minFooterSpacing: z.ZodDefault<z.ZodNumber>;
3408
+ checkOverlaps: z.ZodDefault<z.ZodBoolean>;
3409
+ maxTextTruncation: z.ZodDefault<z.ZodNumber>;
3410
+ }, "strict", z.ZodTypeAny, {
3411
+ minContrastRatio: number;
3412
+ minFooterSpacing: number;
3413
+ checkOverlaps: boolean;
3414
+ maxTextTruncation: number;
3415
+ }, {
3416
+ minContrastRatio?: number | undefined;
3417
+ minFooterSpacing?: number | undefined;
3418
+ checkOverlaps?: boolean | undefined;
3419
+ maxTextTruncation?: number | undefined;
3420
+ }>>;
3421
+ }, "strict", z.ZodTypeAny, {
3422
+ theme: {
3423
+ code: {
3424
+ string: string;
3425
+ number: string;
3426
+ function: string;
3427
+ text: string;
3428
+ background: string;
3429
+ comment: string;
3430
+ keyword: string;
3431
+ variable: string;
3432
+ operator: string;
3433
+ punctuation: string;
3434
+ };
3435
+ accent: string;
3436
+ success: string;
3437
+ warning: string;
3438
+ error: string;
3439
+ text: string;
3440
+ background: string;
3441
+ surface: string;
3442
+ surfaceMuted: string;
3443
+ surfaceElevated: string;
3444
+ textMuted: string;
3445
+ textInverse: string;
3446
+ primary: string;
3447
+ secondary: string;
3448
+ info: string;
3449
+ border: string;
3450
+ borderMuted: string;
3451
+ fonts: {
3452
+ body: string;
3453
+ heading: string;
3454
+ mono: string;
3455
+ };
3456
+ } | "dracula" | "github-dark" | "nord" | "dark" | "light" | "one-dark";
3457
+ draw: ({
3458
+ type: "rect";
3459
+ width: number;
3460
+ height: number;
3461
+ opacity: number;
3462
+ strokeWidth: number;
3463
+ x: number;
3464
+ y: number;
3465
+ radius: number;
3466
+ fill?: string | undefined;
3467
+ stroke?: string | undefined;
3468
+ } | {
3469
+ type: "circle";
3470
+ opacity: number;
3471
+ strokeWidth: number;
3472
+ radius: number;
3473
+ cx: number;
3474
+ cy: number;
3475
+ fill?: string | undefined;
3476
+ stroke?: string | undefined;
3477
+ } | {
3478
+ type: "text";
3479
+ color: string;
3480
+ opacity: number;
3481
+ fontSize: number;
3482
+ text: string;
3483
+ align: "left" | "center" | "right";
3484
+ x: number;
3485
+ y: number;
3486
+ fontWeight: number;
3487
+ fontFamily: "body" | "heading" | "mono";
3488
+ baseline: "middle" | "alphabetic" | "bottom" | "top";
3489
+ letterSpacing: number;
3490
+ maxWidth?: number | undefined;
3491
+ } | {
3492
+ type: "line";
3493
+ color: string;
3494
+ width: number;
3495
+ opacity: number;
3496
+ arrow: "end" | "start" | "both" | "none";
3497
+ arrowSize: number;
3498
+ x1: number;
3499
+ y1: number;
3500
+ x2: number;
3501
+ y2: number;
3502
+ dash?: number[] | undefined;
3503
+ } | {
3504
+ type: "bezier";
3505
+ color: string;
3506
+ width: number;
3507
+ opacity: number;
3508
+ arrow: "end" | "start" | "both" | "none";
3509
+ arrowSize: number;
3510
+ points: {
3511
+ x: number;
3512
+ y: number;
3513
+ }[];
3514
+ dash?: number[] | undefined;
3515
+ } | {
3516
+ type: "path";
3517
+ opacity: number;
3518
+ strokeWidth: number;
3519
+ d: string;
3520
+ fill?: string | undefined;
3521
+ stroke?: string | undefined;
3522
+ } | {
3523
+ type: "badge";
3524
+ color: string;
3525
+ opacity: number;
3526
+ fontSize: number;
3527
+ text: string;
3528
+ borderRadius: number;
3529
+ x: number;
3530
+ y: number;
3531
+ background: string;
3532
+ fontFamily: "body" | "heading" | "mono";
3533
+ paddingX: number;
3534
+ paddingY: number;
3535
+ } | {
3536
+ type: "gradient-rect";
3537
+ width: number;
3538
+ height: number;
3539
+ opacity: number;
3540
+ x: number;
3541
+ y: number;
3542
+ radius: number;
3543
+ gradient: {
3544
+ type: "linear";
3545
+ angle: number;
3546
+ stops: {
3547
+ color: string;
3548
+ offset: number;
3549
+ }[];
3550
+ } | {
3551
+ type: "radial";
3552
+ stops: {
3553
+ color: string;
3554
+ offset: number;
3555
+ }[];
3556
+ };
3557
+ })[];
3558
+ version: 2;
3559
+ canvas: {
3560
+ width: number;
3561
+ height: number;
3562
+ padding: number;
3563
+ };
3564
+ elements: ({
3565
+ type: "card";
3566
+ id: string;
3567
+ title: string;
3568
+ body: string;
3569
+ tone: "neutral" | "accent" | "success" | "warning" | "error";
3570
+ badge?: string | undefined;
3571
+ metric?: string | undefined;
3572
+ icon?: string | undefined;
3573
+ } | {
3574
+ type: "flow-node";
3575
+ id: string;
3576
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
3577
+ label: string;
3578
+ opacity: number;
3579
+ sublabel?: string | undefined;
3580
+ sublabelColor?: string | undefined;
3581
+ labelColor?: string | undefined;
3582
+ labelFontSize?: number | undefined;
3583
+ color?: string | undefined;
3584
+ borderColor?: string | undefined;
3585
+ borderWidth?: number | undefined;
3586
+ cornerRadius?: number | undefined;
3587
+ width?: number | undefined;
3588
+ height?: number | undefined;
3589
+ } | {
3590
+ type: "connection";
3591
+ opacity: number;
3592
+ from: string;
3593
+ to: string;
3594
+ style: "solid" | "dashed" | "dotted";
3595
+ arrow: "end" | "start" | "both" | "none";
3596
+ labelPosition: "end" | "start" | "middle";
3597
+ label?: string | undefined;
3598
+ color?: string | undefined;
3599
+ width?: number | undefined;
3600
+ arrowSize?: number | undefined;
3601
+ } | {
3602
+ type: "code-block";
3603
+ code: string;
3604
+ id: string;
3605
+ language: string;
3606
+ showLineNumbers: boolean;
3607
+ startLine: number;
3608
+ title?: string | undefined;
3609
+ style?: {
3610
+ paddingVertical?: number | undefined;
3611
+ paddingHorizontal?: number | undefined;
3612
+ windowControls?: "none" | "macos" | "bw" | undefined;
3613
+ dropShadow?: boolean | undefined;
3614
+ dropShadowOffsetY?: number | undefined;
3615
+ dropShadowBlurRadius?: number | undefined;
3616
+ surroundColor?: string | undefined;
3617
+ fontSize?: number | undefined;
3618
+ lineHeightPercent?: number | undefined;
3619
+ scale?: number | undefined;
3620
+ } | undefined;
3621
+ theme?: string | undefined;
3622
+ highlightLines?: number[] | undefined;
3623
+ } | {
3624
+ type: "terminal";
3625
+ id: string;
3626
+ content: string;
3627
+ showPrompt: boolean;
3628
+ title?: string | undefined;
3629
+ style?: {
3630
+ paddingVertical?: number | undefined;
3631
+ paddingHorizontal?: number | undefined;
3632
+ windowControls?: "none" | "macos" | "bw" | undefined;
3633
+ dropShadow?: boolean | undefined;
3634
+ dropShadowOffsetY?: number | undefined;
3635
+ dropShadowBlurRadius?: number | undefined;
3636
+ surroundColor?: string | undefined;
3637
+ fontSize?: number | undefined;
3638
+ lineHeightPercent?: number | undefined;
3639
+ scale?: number | undefined;
3640
+ } | undefined;
3641
+ prompt?: string | undefined;
3642
+ } | {
3643
+ type: "text";
3644
+ id: string;
3645
+ style: "code" | "body" | "heading" | "subheading" | "caption";
3646
+ content: string;
3647
+ align: "left" | "center" | "right";
3648
+ color?: string | undefined;
3649
+ } | {
3650
+ type: "shape";
3651
+ id: string;
3652
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
3653
+ strokeWidth: number;
3654
+ fill?: string | undefined;
3655
+ stroke?: string | undefined;
3656
+ } | {
3657
+ type: "image";
3658
+ id: string;
3659
+ src: string;
3660
+ fit: "fill" | "none" | "contain" | "cover";
3661
+ borderRadius: number;
3662
+ alt?: string | undefined;
3663
+ })[];
3664
+ decorators: ({
3665
+ type: "rainbow-rule";
3666
+ y: "custom" | "after-header" | "before-footer";
3667
+ thickness: number;
3668
+ margin: number;
3669
+ customY?: number | undefined;
3670
+ colors?: string[] | undefined;
3671
+ } | {
3672
+ type: "vignette";
3673
+ color: string;
3674
+ intensity: number;
3675
+ } | {
3676
+ type: "gradient-overlay";
3677
+ opacity: number;
3678
+ gradient: {
3679
+ type: "linear";
3680
+ angle: number;
3681
+ stops: {
3682
+ color: string;
3683
+ offset: number;
3684
+ }[];
3685
+ } | {
3686
+ type: "radial";
3687
+ stops: {
3688
+ color: string;
3689
+ offset: number;
3690
+ }[];
3691
+ };
3692
+ })[];
3693
+ constraints: {
3694
+ minContrastRatio: number;
3695
+ minFooterSpacing: number;
3696
+ checkOverlaps: boolean;
3697
+ maxTextTruncation: number;
3698
+ };
3699
+ background?: string | {
3700
+ type: "linear";
3701
+ angle: number;
3702
+ stops: {
3703
+ color: string;
3704
+ offset: number;
3705
+ }[];
3706
+ } | {
3707
+ type: "radial";
3708
+ stops: {
3709
+ color: string;
3710
+ offset: number;
3711
+ }[];
3712
+ } | undefined;
3713
+ header?: {
3714
+ title: string;
3715
+ align: "left" | "center" | "right";
3716
+ titleLetterSpacing: number;
3717
+ eyebrow?: string | undefined;
3718
+ subtitle?: string | undefined;
3719
+ titleFontSize?: number | undefined;
3720
+ } | undefined;
3721
+ footer?: {
3722
+ text: string;
3723
+ tagline?: string | undefined;
3724
+ } | undefined;
3725
+ layout?: {
3726
+ mode: "stack";
3727
+ direction: "vertical" | "horizontal";
3728
+ gap: number;
3729
+ alignment: "end" | "start" | "center" | "stretch";
3730
+ } | {
3731
+ mode: "auto";
3732
+ direction: "TB" | "BT" | "LR" | "RL";
3733
+ algorithm: "box" | "layered" | "stress" | "force" | "radial";
3734
+ nodeSpacing: number;
3735
+ rankSpacing: number;
3736
+ edgeRouting: "orthogonal" | "polyline" | "spline";
3737
+ aspectRatio?: number | undefined;
3738
+ } | {
3739
+ mode: "grid";
3740
+ gap: number;
3741
+ columns: number;
3742
+ equalHeight: boolean;
3743
+ cardMinHeight?: number | undefined;
3744
+ cardMaxHeight?: number | undefined;
3745
+ } | {
3746
+ mode: "manual";
3747
+ positions: Record<string, {
3748
+ x: number;
3749
+ y: number;
3750
+ width?: number | undefined;
3751
+ height?: number | undefined;
3752
+ }>;
3753
+ } | undefined;
3754
+ }, {
3755
+ theme?: {
3756
+ code: {
3757
+ string: string;
3758
+ number: string;
3759
+ function: string;
3760
+ text: string;
3761
+ background: string;
3762
+ comment: string;
3763
+ keyword: string;
3764
+ variable: string;
3765
+ operator: string;
3766
+ punctuation: string;
3767
+ };
3768
+ accent: string;
3769
+ success: string;
3770
+ warning: string;
3771
+ error: string;
3772
+ text: string;
3773
+ background: string;
3774
+ surface: string;
3775
+ surfaceMuted: string;
3776
+ surfaceElevated: string;
3777
+ textMuted: string;
3778
+ textInverse: string;
3779
+ primary: string;
3780
+ secondary: string;
3781
+ info: string;
3782
+ border: string;
3783
+ borderMuted: string;
3784
+ fonts: {
3785
+ body: string;
3786
+ heading: string;
3787
+ mono: string;
3788
+ };
3789
+ } | "dracula" | "github-dark" | "nord" | "dark" | "light" | "one-dark" | undefined;
3790
+ background?: string | {
3791
+ type: "linear";
3792
+ stops: {
3793
+ color: string;
3794
+ offset: number;
3795
+ }[];
3796
+ angle?: number | undefined;
3797
+ } | {
3798
+ type: "radial";
3799
+ stops: {
3800
+ color: string;
3801
+ offset: number;
3802
+ }[];
3803
+ } | undefined;
3804
+ header?: {
3805
+ title: string;
3806
+ align?: "left" | "center" | "right" | undefined;
3807
+ eyebrow?: string | undefined;
3808
+ subtitle?: string | undefined;
3809
+ titleLetterSpacing?: number | undefined;
3810
+ titleFontSize?: number | undefined;
3811
+ } | undefined;
3812
+ footer?: {
3813
+ text: string;
3814
+ tagline?: string | undefined;
3815
+ } | undefined;
3816
+ draw?: ({
3817
+ type: "rect";
3818
+ width: number;
3819
+ height: number;
3820
+ x: number;
3821
+ y: number;
3822
+ fill?: string | undefined;
3823
+ opacity?: number | undefined;
3824
+ stroke?: string | undefined;
3825
+ strokeWidth?: number | undefined;
3826
+ radius?: number | undefined;
3827
+ } | {
3828
+ type: "circle";
3829
+ radius: number;
3830
+ cx: number;
3831
+ cy: number;
3832
+ fill?: string | undefined;
3833
+ opacity?: number | undefined;
3834
+ stroke?: string | undefined;
3835
+ strokeWidth?: number | undefined;
3836
+ } | {
3837
+ type: "text";
3838
+ text: string;
3839
+ x: number;
3840
+ y: number;
3841
+ color?: string | undefined;
3842
+ opacity?: number | undefined;
3843
+ fontSize?: number | undefined;
3844
+ align?: "left" | "center" | "right" | undefined;
3845
+ fontWeight?: number | undefined;
3846
+ fontFamily?: "body" | "heading" | "mono" | undefined;
3847
+ baseline?: "middle" | "alphabetic" | "bottom" | "top" | undefined;
3848
+ letterSpacing?: number | undefined;
3849
+ maxWidth?: number | undefined;
3850
+ } | {
3851
+ type: "line";
3852
+ x1: number;
3853
+ y1: number;
3854
+ x2: number;
3855
+ y2: number;
3856
+ color?: string | undefined;
3857
+ width?: number | undefined;
3858
+ opacity?: number | undefined;
3859
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3860
+ arrowSize?: number | undefined;
3861
+ dash?: number[] | undefined;
3862
+ } | {
3863
+ type: "bezier";
3864
+ points: {
3865
+ x: number;
3866
+ y: number;
3867
+ }[];
3868
+ color?: string | undefined;
3869
+ width?: number | undefined;
3870
+ opacity?: number | undefined;
3871
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3872
+ arrowSize?: number | undefined;
3873
+ dash?: number[] | undefined;
3874
+ } | {
3875
+ type: "path";
3876
+ d: string;
3877
+ fill?: string | undefined;
3878
+ opacity?: number | undefined;
3879
+ stroke?: string | undefined;
3880
+ strokeWidth?: number | undefined;
3881
+ } | {
3882
+ type: "badge";
3883
+ text: string;
3884
+ x: number;
3885
+ y: number;
3886
+ color?: string | undefined;
3887
+ opacity?: number | undefined;
3888
+ fontSize?: number | undefined;
3889
+ borderRadius?: number | undefined;
3890
+ background?: string | undefined;
3891
+ fontFamily?: "body" | "heading" | "mono" | undefined;
3892
+ paddingX?: number | undefined;
3893
+ paddingY?: number | undefined;
3894
+ } | {
3895
+ type: "gradient-rect";
3896
+ width: number;
3897
+ height: number;
3898
+ x: number;
3899
+ y: number;
3900
+ gradient: {
3901
+ type: "linear";
3902
+ stops: {
3903
+ color: string;
3904
+ offset: number;
3905
+ }[];
3906
+ angle?: number | undefined;
3907
+ } | {
3908
+ type: "radial";
3909
+ stops: {
3910
+ color: string;
3911
+ offset: number;
3912
+ }[];
3913
+ };
3914
+ opacity?: number | undefined;
3915
+ radius?: number | undefined;
3916
+ })[] | undefined;
3917
+ version?: 2 | undefined;
3918
+ canvas?: {
3919
+ width?: number | undefined;
3920
+ height?: number | undefined;
3921
+ padding?: number | undefined;
3922
+ } | undefined;
3923
+ elements?: ({
3924
+ type: "card";
3925
+ id: string;
3926
+ title: string;
3927
+ body: string;
3928
+ badge?: string | undefined;
3929
+ metric?: string | undefined;
3930
+ tone?: "neutral" | "accent" | "success" | "warning" | "error" | undefined;
3931
+ icon?: string | undefined;
3932
+ } | {
3933
+ type: "flow-node";
3934
+ id: string;
3935
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
3936
+ label: string;
3937
+ sublabel?: string | undefined;
3938
+ sublabelColor?: string | undefined;
3939
+ labelColor?: string | undefined;
3940
+ labelFontSize?: number | undefined;
3941
+ color?: string | undefined;
3942
+ borderColor?: string | undefined;
3943
+ borderWidth?: number | undefined;
3944
+ cornerRadius?: number | undefined;
3945
+ width?: number | undefined;
3946
+ height?: number | undefined;
3947
+ opacity?: number | undefined;
3948
+ } | {
3949
+ type: "connection";
3950
+ from: string;
3951
+ to: string;
3952
+ label?: string | undefined;
3953
+ color?: string | undefined;
3954
+ width?: number | undefined;
3955
+ opacity?: number | undefined;
3956
+ style?: "solid" | "dashed" | "dotted" | undefined;
3957
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3958
+ labelPosition?: "end" | "start" | "middle" | undefined;
3959
+ arrowSize?: number | undefined;
3960
+ } | {
3961
+ type: "code-block";
3962
+ code: string;
3963
+ id: string;
3964
+ language: string;
3965
+ title?: string | undefined;
3966
+ style?: {
3967
+ paddingVertical?: number | undefined;
3968
+ paddingHorizontal?: number | undefined;
3969
+ windowControls?: "none" | "macos" | "bw" | undefined;
3970
+ dropShadow?: boolean | undefined;
3971
+ dropShadowOffsetY?: number | undefined;
3972
+ dropShadowBlurRadius?: number | undefined;
3973
+ surroundColor?: string | undefined;
3974
+ fontSize?: number | undefined;
3975
+ lineHeightPercent?: number | undefined;
3976
+ scale?: number | undefined;
3977
+ } | undefined;
3978
+ theme?: string | undefined;
3979
+ showLineNumbers?: boolean | undefined;
3980
+ highlightLines?: number[] | undefined;
3981
+ startLine?: number | undefined;
3982
+ } | {
3983
+ type: "terminal";
3984
+ id: string;
3985
+ content: string;
3986
+ title?: string | undefined;
3987
+ style?: {
3988
+ paddingVertical?: number | undefined;
3989
+ paddingHorizontal?: number | undefined;
3990
+ windowControls?: "none" | "macos" | "bw" | undefined;
3991
+ dropShadow?: boolean | undefined;
3992
+ dropShadowOffsetY?: number | undefined;
3993
+ dropShadowBlurRadius?: number | undefined;
3994
+ surroundColor?: string | undefined;
3995
+ fontSize?: number | undefined;
3996
+ lineHeightPercent?: number | undefined;
3997
+ scale?: number | undefined;
3998
+ } | undefined;
3999
+ prompt?: string | undefined;
4000
+ showPrompt?: boolean | undefined;
4001
+ } | {
4002
+ type: "text";
4003
+ id: string;
4004
+ style: "code" | "body" | "heading" | "subheading" | "caption";
4005
+ content: string;
4006
+ color?: string | undefined;
4007
+ align?: "left" | "center" | "right" | undefined;
4008
+ } | {
4009
+ type: "shape";
4010
+ id: string;
4011
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
4012
+ fill?: string | undefined;
4013
+ stroke?: string | undefined;
4014
+ strokeWidth?: number | undefined;
4015
+ } | {
4016
+ type: "image";
4017
+ id: string;
4018
+ src: string;
4019
+ alt?: string | undefined;
4020
+ fit?: "fill" | "none" | "contain" | "cover" | undefined;
4021
+ borderRadius?: number | undefined;
4022
+ })[] | undefined;
4023
+ decorators?: ({
4024
+ type: "rainbow-rule";
4025
+ y?: "custom" | "after-header" | "before-footer" | undefined;
4026
+ customY?: number | undefined;
4027
+ thickness?: number | undefined;
4028
+ colors?: string[] | undefined;
4029
+ margin?: number | undefined;
4030
+ } | {
4031
+ type: "vignette";
4032
+ color?: string | undefined;
4033
+ intensity?: number | undefined;
4034
+ } | {
4035
+ type: "gradient-overlay";
4036
+ gradient: {
4037
+ type: "linear";
4038
+ stops: {
4039
+ color: string;
4040
+ offset: number;
4041
+ }[];
4042
+ angle?: number | undefined;
4043
+ } | {
4044
+ type: "radial";
4045
+ stops: {
4046
+ color: string;
4047
+ offset: number;
4048
+ }[];
4049
+ };
4050
+ opacity?: number | undefined;
4051
+ })[] | undefined;
4052
+ layout?: {
4053
+ mode: "stack";
4054
+ direction?: "vertical" | "horizontal" | undefined;
4055
+ gap?: number | undefined;
4056
+ alignment?: "end" | "start" | "center" | "stretch" | undefined;
4057
+ } | {
4058
+ mode: "auto";
4059
+ direction?: "TB" | "BT" | "LR" | "RL" | undefined;
4060
+ algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
4061
+ nodeSpacing?: number | undefined;
4062
+ rankSpacing?: number | undefined;
4063
+ edgeRouting?: "orthogonal" | "polyline" | "spline" | undefined;
4064
+ aspectRatio?: number | undefined;
4065
+ } | {
4066
+ mode: "grid";
4067
+ gap?: number | undefined;
4068
+ columns?: number | undefined;
4069
+ cardMinHeight?: number | undefined;
4070
+ cardMaxHeight?: number | undefined;
4071
+ equalHeight?: boolean | undefined;
4072
+ } | {
4073
+ mode: "manual";
4074
+ positions?: Record<string, {
4075
+ x: number;
4076
+ y: number;
4077
+ width?: number | undefined;
4078
+ height?: number | undefined;
4079
+ }> | undefined;
4080
+ } | undefined;
4081
+ constraints?: {
4082
+ minContrastRatio?: number | undefined;
4083
+ minFooterSpacing?: number | undefined;
4084
+ checkOverlaps?: boolean | undefined;
4085
+ maxTextTruncation?: number | undefined;
4086
+ } | undefined;
4087
+ }>, {
4088
+ layout: {
4089
+ mode: "stack";
4090
+ direction: "vertical" | "horizontal";
4091
+ gap: number;
4092
+ alignment: "end" | "start" | "center" | "stretch";
4093
+ } | {
4094
+ mode: "auto";
4095
+ direction: "TB" | "BT" | "LR" | "RL";
4096
+ algorithm: "box" | "layered" | "stress" | "force" | "radial";
4097
+ nodeSpacing: number;
4098
+ rankSpacing: number;
4099
+ edgeRouting: "orthogonal" | "polyline" | "spline";
4100
+ aspectRatio?: number | undefined;
4101
+ } | {
4102
+ mode: "grid";
4103
+ gap: number;
4104
+ columns: number;
4105
+ equalHeight: boolean;
4106
+ cardMinHeight?: number | undefined;
4107
+ cardMaxHeight?: number | undefined;
4108
+ } | {
4109
+ mode: "manual";
4110
+ positions: Record<string, {
4111
+ x: number;
4112
+ y: number;
4113
+ width?: number | undefined;
4114
+ height?: number | undefined;
4115
+ }>;
4116
+ };
4117
+ theme: {
4118
+ code: {
4119
+ string: string;
4120
+ number: string;
4121
+ function: string;
4122
+ text: string;
4123
+ background: string;
4124
+ comment: string;
4125
+ keyword: string;
4126
+ variable: string;
4127
+ operator: string;
4128
+ punctuation: string;
4129
+ };
4130
+ accent: string;
4131
+ success: string;
4132
+ warning: string;
4133
+ error: string;
4134
+ text: string;
4135
+ background: string;
4136
+ surface: string;
4137
+ surfaceMuted: string;
4138
+ surfaceElevated: string;
4139
+ textMuted: string;
4140
+ textInverse: string;
4141
+ primary: string;
4142
+ secondary: string;
4143
+ info: string;
4144
+ border: string;
4145
+ borderMuted: string;
4146
+ fonts: {
4147
+ body: string;
4148
+ heading: string;
4149
+ mono: string;
4150
+ };
4151
+ } | "dracula" | "github-dark" | "nord" | "dark" | "light" | "one-dark";
4152
+ draw: ({
4153
+ type: "rect";
4154
+ width: number;
4155
+ height: number;
4156
+ opacity: number;
4157
+ strokeWidth: number;
4158
+ x: number;
4159
+ y: number;
4160
+ radius: number;
4161
+ fill?: string | undefined;
4162
+ stroke?: string | undefined;
4163
+ } | {
4164
+ type: "circle";
4165
+ opacity: number;
4166
+ strokeWidth: number;
4167
+ radius: number;
4168
+ cx: number;
4169
+ cy: number;
4170
+ fill?: string | undefined;
4171
+ stroke?: string | undefined;
4172
+ } | {
4173
+ type: "text";
4174
+ color: string;
4175
+ opacity: number;
4176
+ fontSize: number;
4177
+ text: string;
4178
+ align: "left" | "center" | "right";
4179
+ x: number;
4180
+ y: number;
4181
+ fontWeight: number;
4182
+ fontFamily: "body" | "heading" | "mono";
4183
+ baseline: "middle" | "alphabetic" | "bottom" | "top";
4184
+ letterSpacing: number;
4185
+ maxWidth?: number | undefined;
4186
+ } | {
4187
+ type: "line";
4188
+ color: string;
4189
+ width: number;
4190
+ opacity: number;
4191
+ arrow: "end" | "start" | "both" | "none";
4192
+ arrowSize: number;
4193
+ x1: number;
4194
+ y1: number;
4195
+ x2: number;
4196
+ y2: number;
4197
+ dash?: number[] | undefined;
4198
+ } | {
4199
+ type: "bezier";
4200
+ color: string;
4201
+ width: number;
4202
+ opacity: number;
4203
+ arrow: "end" | "start" | "both" | "none";
4204
+ arrowSize: number;
4205
+ points: {
4206
+ x: number;
4207
+ y: number;
4208
+ }[];
4209
+ dash?: number[] | undefined;
4210
+ } | {
4211
+ type: "path";
4212
+ opacity: number;
4213
+ strokeWidth: number;
4214
+ d: string;
4215
+ fill?: string | undefined;
4216
+ stroke?: string | undefined;
4217
+ } | {
4218
+ type: "badge";
4219
+ color: string;
4220
+ opacity: number;
4221
+ fontSize: number;
4222
+ text: string;
4223
+ borderRadius: number;
4224
+ x: number;
4225
+ y: number;
4226
+ background: string;
4227
+ fontFamily: "body" | "heading" | "mono";
4228
+ paddingX: number;
4229
+ paddingY: number;
4230
+ } | {
4231
+ type: "gradient-rect";
4232
+ width: number;
4233
+ height: number;
4234
+ opacity: number;
4235
+ x: number;
4236
+ y: number;
4237
+ radius: number;
4238
+ gradient: {
4239
+ type: "linear";
4240
+ angle: number;
4241
+ stops: {
4242
+ color: string;
4243
+ offset: number;
4244
+ }[];
4245
+ } | {
4246
+ type: "radial";
4247
+ stops: {
4248
+ color: string;
4249
+ offset: number;
4250
+ }[];
4251
+ };
4252
+ })[];
4253
+ version: 2;
4254
+ canvas: {
4255
+ width: number;
4256
+ height: number;
4257
+ padding: number;
4258
+ };
4259
+ elements: ({
4260
+ type: "card";
4261
+ id: string;
4262
+ title: string;
4263
+ body: string;
4264
+ tone: "neutral" | "accent" | "success" | "warning" | "error";
4265
+ badge?: string | undefined;
4266
+ metric?: string | undefined;
4267
+ icon?: string | undefined;
4268
+ } | {
4269
+ type: "flow-node";
4270
+ id: string;
4271
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4272
+ label: string;
4273
+ opacity: number;
4274
+ sublabel?: string | undefined;
4275
+ sublabelColor?: string | undefined;
4276
+ labelColor?: string | undefined;
4277
+ labelFontSize?: number | undefined;
4278
+ color?: string | undefined;
4279
+ borderColor?: string | undefined;
4280
+ borderWidth?: number | undefined;
4281
+ cornerRadius?: number | undefined;
4282
+ width?: number | undefined;
4283
+ height?: number | undefined;
4284
+ } | {
4285
+ type: "connection";
4286
+ opacity: number;
4287
+ from: string;
4288
+ to: string;
4289
+ style: "solid" | "dashed" | "dotted";
4290
+ arrow: "end" | "start" | "both" | "none";
4291
+ labelPosition: "end" | "start" | "middle";
4292
+ label?: string | undefined;
4293
+ color?: string | undefined;
4294
+ width?: number | undefined;
4295
+ arrowSize?: number | undefined;
4296
+ } | {
4297
+ type: "code-block";
4298
+ code: string;
4299
+ id: string;
4300
+ language: string;
4301
+ showLineNumbers: boolean;
4302
+ startLine: number;
4303
+ title?: string | undefined;
4304
+ style?: {
4305
+ paddingVertical?: number | undefined;
4306
+ paddingHorizontal?: number | undefined;
4307
+ windowControls?: "none" | "macos" | "bw" | undefined;
4308
+ dropShadow?: boolean | undefined;
4309
+ dropShadowOffsetY?: number | undefined;
4310
+ dropShadowBlurRadius?: number | undefined;
4311
+ surroundColor?: string | undefined;
4312
+ fontSize?: number | undefined;
4313
+ lineHeightPercent?: number | undefined;
4314
+ scale?: number | undefined;
4315
+ } | undefined;
4316
+ theme?: string | undefined;
4317
+ highlightLines?: number[] | undefined;
4318
+ } | {
4319
+ type: "terminal";
4320
+ id: string;
4321
+ content: string;
4322
+ showPrompt: boolean;
4323
+ title?: string | undefined;
4324
+ style?: {
4325
+ paddingVertical?: number | undefined;
4326
+ paddingHorizontal?: number | undefined;
4327
+ windowControls?: "none" | "macos" | "bw" | undefined;
4328
+ dropShadow?: boolean | undefined;
4329
+ dropShadowOffsetY?: number | undefined;
4330
+ dropShadowBlurRadius?: number | undefined;
4331
+ surroundColor?: string | undefined;
4332
+ fontSize?: number | undefined;
4333
+ lineHeightPercent?: number | undefined;
4334
+ scale?: number | undefined;
4335
+ } | undefined;
4336
+ prompt?: string | undefined;
4337
+ } | {
4338
+ type: "text";
4339
+ id: string;
4340
+ style: "code" | "body" | "heading" | "subheading" | "caption";
4341
+ content: string;
4342
+ align: "left" | "center" | "right";
4343
+ color?: string | undefined;
4344
+ } | {
4345
+ type: "shape";
4346
+ id: string;
4347
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
4348
+ strokeWidth: number;
4349
+ fill?: string | undefined;
4350
+ stroke?: string | undefined;
4351
+ } | {
4352
+ type: "image";
4353
+ id: string;
4354
+ src: string;
4355
+ fit: "fill" | "none" | "contain" | "cover";
4356
+ borderRadius: number;
4357
+ alt?: string | undefined;
4358
+ })[];
4359
+ decorators: ({
4360
+ type: "rainbow-rule";
4361
+ y: "custom" | "after-header" | "before-footer";
4362
+ thickness: number;
4363
+ margin: number;
4364
+ customY?: number | undefined;
4365
+ colors?: string[] | undefined;
4366
+ } | {
4367
+ type: "vignette";
4368
+ color: string;
4369
+ intensity: number;
4370
+ } | {
4371
+ type: "gradient-overlay";
4372
+ opacity: number;
4373
+ gradient: {
4374
+ type: "linear";
4375
+ angle: number;
4376
+ stops: {
4377
+ color: string;
4378
+ offset: number;
4379
+ }[];
4380
+ } | {
4381
+ type: "radial";
4382
+ stops: {
4383
+ color: string;
4384
+ offset: number;
4385
+ }[];
4386
+ };
4387
+ })[];
4388
+ constraints: {
4389
+ minContrastRatio: number;
4390
+ minFooterSpacing: number;
4391
+ checkOverlaps: boolean;
4392
+ maxTextTruncation: number;
4393
+ };
4394
+ background?: string | {
4395
+ type: "linear";
4396
+ angle: number;
4397
+ stops: {
4398
+ color: string;
4399
+ offset: number;
4400
+ }[];
4401
+ } | {
4402
+ type: "radial";
4403
+ stops: {
4404
+ color: string;
4405
+ offset: number;
4406
+ }[];
4407
+ } | undefined;
4408
+ header?: {
4409
+ title: string;
4410
+ align: "left" | "center" | "right";
4411
+ titleLetterSpacing: number;
4412
+ eyebrow?: string | undefined;
4413
+ subtitle?: string | undefined;
4414
+ titleFontSize?: number | undefined;
4415
+ } | undefined;
4416
+ footer?: {
4417
+ text: string;
4418
+ tagline?: string | undefined;
4419
+ } | undefined;
4420
+ }, {
4421
+ theme?: {
4422
+ code: {
4423
+ string: string;
4424
+ number: string;
4425
+ function: string;
4426
+ text: string;
4427
+ background: string;
4428
+ comment: string;
4429
+ keyword: string;
4430
+ variable: string;
4431
+ operator: string;
4432
+ punctuation: string;
4433
+ };
4434
+ accent: string;
4435
+ success: string;
4436
+ warning: string;
4437
+ error: string;
4438
+ text: string;
4439
+ background: string;
4440
+ surface: string;
4441
+ surfaceMuted: string;
4442
+ surfaceElevated: string;
4443
+ textMuted: string;
4444
+ textInverse: string;
4445
+ primary: string;
4446
+ secondary: string;
4447
+ info: string;
4448
+ border: string;
4449
+ borderMuted: string;
4450
+ fonts: {
4451
+ body: string;
4452
+ heading: string;
4453
+ mono: string;
4454
+ };
4455
+ } | "dracula" | "github-dark" | "nord" | "dark" | "light" | "one-dark" | undefined;
4456
+ background?: string | {
4457
+ type: "linear";
4458
+ stops: {
4459
+ color: string;
4460
+ offset: number;
4461
+ }[];
4462
+ angle?: number | undefined;
4463
+ } | {
4464
+ type: "radial";
4465
+ stops: {
4466
+ color: string;
4467
+ offset: number;
4468
+ }[];
4469
+ } | undefined;
4470
+ header?: {
4471
+ title: string;
4472
+ align?: "left" | "center" | "right" | undefined;
4473
+ eyebrow?: string | undefined;
4474
+ subtitle?: string | undefined;
4475
+ titleLetterSpacing?: number | undefined;
4476
+ titleFontSize?: number | undefined;
4477
+ } | undefined;
4478
+ footer?: {
4479
+ text: string;
4480
+ tagline?: string | undefined;
4481
+ } | undefined;
4482
+ draw?: ({
4483
+ type: "rect";
4484
+ width: number;
4485
+ height: number;
4486
+ x: number;
4487
+ y: number;
4488
+ fill?: string | undefined;
4489
+ opacity?: number | undefined;
4490
+ stroke?: string | undefined;
4491
+ strokeWidth?: number | undefined;
4492
+ radius?: number | undefined;
4493
+ } | {
4494
+ type: "circle";
4495
+ radius: number;
4496
+ cx: number;
4497
+ cy: number;
4498
+ fill?: string | undefined;
4499
+ opacity?: number | undefined;
4500
+ stroke?: string | undefined;
4501
+ strokeWidth?: number | undefined;
4502
+ } | {
4503
+ type: "text";
4504
+ text: string;
4505
+ x: number;
4506
+ y: number;
4507
+ color?: string | undefined;
4508
+ opacity?: number | undefined;
4509
+ fontSize?: number | undefined;
4510
+ align?: "left" | "center" | "right" | undefined;
4511
+ fontWeight?: number | undefined;
4512
+ fontFamily?: "body" | "heading" | "mono" | undefined;
4513
+ baseline?: "middle" | "alphabetic" | "bottom" | "top" | undefined;
4514
+ letterSpacing?: number | undefined;
4515
+ maxWidth?: number | undefined;
4516
+ } | {
4517
+ type: "line";
4518
+ x1: number;
4519
+ y1: number;
4520
+ x2: number;
4521
+ y2: number;
4522
+ color?: string | undefined;
4523
+ width?: number | undefined;
4524
+ opacity?: number | undefined;
4525
+ arrow?: "end" | "start" | "both" | "none" | undefined;
4526
+ arrowSize?: number | undefined;
4527
+ dash?: number[] | undefined;
4528
+ } | {
4529
+ type: "bezier";
4530
+ points: {
4531
+ x: number;
4532
+ y: number;
4533
+ }[];
4534
+ color?: string | undefined;
4535
+ width?: number | undefined;
4536
+ opacity?: number | undefined;
4537
+ arrow?: "end" | "start" | "both" | "none" | undefined;
4538
+ arrowSize?: number | undefined;
4539
+ dash?: number[] | undefined;
4540
+ } | {
4541
+ type: "path";
4542
+ d: string;
4543
+ fill?: string | undefined;
4544
+ opacity?: number | undefined;
4545
+ stroke?: string | undefined;
4546
+ strokeWidth?: number | undefined;
4547
+ } | {
4548
+ type: "badge";
4549
+ text: string;
4550
+ x: number;
4551
+ y: number;
4552
+ color?: string | undefined;
4553
+ opacity?: number | undefined;
4554
+ fontSize?: number | undefined;
4555
+ borderRadius?: number | undefined;
4556
+ background?: string | undefined;
4557
+ fontFamily?: "body" | "heading" | "mono" | undefined;
4558
+ paddingX?: number | undefined;
4559
+ paddingY?: number | undefined;
4560
+ } | {
4561
+ type: "gradient-rect";
4562
+ width: number;
4563
+ height: number;
4564
+ x: number;
4565
+ y: number;
4566
+ gradient: {
4567
+ type: "linear";
4568
+ stops: {
4569
+ color: string;
4570
+ offset: number;
4571
+ }[];
4572
+ angle?: number | undefined;
4573
+ } | {
4574
+ type: "radial";
4575
+ stops: {
4576
+ color: string;
4577
+ offset: number;
4578
+ }[];
4579
+ };
4580
+ opacity?: number | undefined;
4581
+ radius?: number | undefined;
4582
+ })[] | undefined;
4583
+ version?: 2 | undefined;
4584
+ canvas?: {
4585
+ width?: number | undefined;
4586
+ height?: number | undefined;
4587
+ padding?: number | undefined;
4588
+ } | undefined;
4589
+ elements?: ({
4590
+ type: "card";
4591
+ id: string;
4592
+ title: string;
4593
+ body: string;
4594
+ badge?: string | undefined;
4595
+ metric?: string | undefined;
4596
+ tone?: "neutral" | "accent" | "success" | "warning" | "error" | undefined;
4597
+ icon?: string | undefined;
4598
+ } | {
4599
+ type: "flow-node";
4600
+ id: string;
4601
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4602
+ label: string;
4603
+ sublabel?: string | undefined;
4604
+ sublabelColor?: string | undefined;
4605
+ labelColor?: string | undefined;
4606
+ labelFontSize?: number | undefined;
4607
+ color?: string | undefined;
4608
+ borderColor?: string | undefined;
4609
+ borderWidth?: number | undefined;
4610
+ cornerRadius?: number | undefined;
4611
+ width?: number | undefined;
4612
+ height?: number | undefined;
4613
+ opacity?: number | undefined;
4614
+ } | {
4615
+ type: "connection";
4616
+ from: string;
4617
+ to: string;
4618
+ label?: string | undefined;
4619
+ color?: string | undefined;
4620
+ width?: number | undefined;
4621
+ opacity?: number | undefined;
4622
+ style?: "solid" | "dashed" | "dotted" | undefined;
4623
+ arrow?: "end" | "start" | "both" | "none" | undefined;
4624
+ labelPosition?: "end" | "start" | "middle" | undefined;
4625
+ arrowSize?: number | undefined;
4626
+ } | {
4627
+ type: "code-block";
4628
+ code: string;
4629
+ id: string;
4630
+ language: string;
4631
+ title?: string | undefined;
4632
+ style?: {
4633
+ paddingVertical?: number | undefined;
4634
+ paddingHorizontal?: number | undefined;
4635
+ windowControls?: "none" | "macos" | "bw" | undefined;
4636
+ dropShadow?: boolean | undefined;
4637
+ dropShadowOffsetY?: number | undefined;
4638
+ dropShadowBlurRadius?: number | undefined;
4639
+ surroundColor?: string | undefined;
4640
+ fontSize?: number | undefined;
4641
+ lineHeightPercent?: number | undefined;
4642
+ scale?: number | undefined;
4643
+ } | undefined;
4644
+ theme?: string | undefined;
4645
+ showLineNumbers?: boolean | undefined;
4646
+ highlightLines?: number[] | undefined;
4647
+ startLine?: number | undefined;
4648
+ } | {
4649
+ type: "terminal";
4650
+ id: string;
4651
+ content: string;
4652
+ title?: string | undefined;
4653
+ style?: {
4654
+ paddingVertical?: number | undefined;
4655
+ paddingHorizontal?: number | undefined;
4656
+ windowControls?: "none" | "macos" | "bw" | undefined;
4657
+ dropShadow?: boolean | undefined;
4658
+ dropShadowOffsetY?: number | undefined;
4659
+ dropShadowBlurRadius?: number | undefined;
4660
+ surroundColor?: string | undefined;
4661
+ fontSize?: number | undefined;
4662
+ lineHeightPercent?: number | undefined;
4663
+ scale?: number | undefined;
4664
+ } | undefined;
4665
+ prompt?: string | undefined;
4666
+ showPrompt?: boolean | undefined;
4667
+ } | {
4668
+ type: "text";
4669
+ id: string;
4670
+ style: "code" | "body" | "heading" | "subheading" | "caption";
4671
+ content: string;
4672
+ color?: string | undefined;
4673
+ align?: "left" | "center" | "right" | undefined;
4674
+ } | {
4675
+ type: "shape";
4676
+ id: string;
4677
+ shape: "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse" | "line";
4678
+ fill?: string | undefined;
4679
+ stroke?: string | undefined;
4680
+ strokeWidth?: number | undefined;
4681
+ } | {
4682
+ type: "image";
4683
+ id: string;
4684
+ src: string;
4685
+ alt?: string | undefined;
4686
+ fit?: "fill" | "none" | "contain" | "cover" | undefined;
4687
+ borderRadius?: number | undefined;
4688
+ })[] | undefined;
4689
+ decorators?: ({
4690
+ type: "rainbow-rule";
4691
+ y?: "custom" | "after-header" | "before-footer" | undefined;
4692
+ customY?: number | undefined;
4693
+ thickness?: number | undefined;
4694
+ colors?: string[] | undefined;
4695
+ margin?: number | undefined;
4696
+ } | {
4697
+ type: "vignette";
4698
+ color?: string | undefined;
4699
+ intensity?: number | undefined;
4700
+ } | {
4701
+ type: "gradient-overlay";
4702
+ gradient: {
4703
+ type: "linear";
4704
+ stops: {
4705
+ color: string;
4706
+ offset: number;
4707
+ }[];
4708
+ angle?: number | undefined;
4709
+ } | {
4710
+ type: "radial";
4711
+ stops: {
4712
+ color: string;
4713
+ offset: number;
4714
+ }[];
4715
+ };
4716
+ opacity?: number | undefined;
4717
+ })[] | undefined;
4718
+ layout?: {
4719
+ mode: "stack";
4720
+ direction?: "vertical" | "horizontal" | undefined;
4721
+ gap?: number | undefined;
4722
+ alignment?: "end" | "start" | "center" | "stretch" | undefined;
4723
+ } | {
4724
+ mode: "auto";
4725
+ direction?: "TB" | "BT" | "LR" | "RL" | undefined;
4726
+ algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
4727
+ nodeSpacing?: number | undefined;
4728
+ rankSpacing?: number | undefined;
4729
+ edgeRouting?: "orthogonal" | "polyline" | "spline" | undefined;
4730
+ aspectRatio?: number | undefined;
4731
+ } | {
4732
+ mode: "grid";
4733
+ gap?: number | undefined;
4734
+ columns?: number | undefined;
4735
+ cardMinHeight?: number | undefined;
4736
+ cardMaxHeight?: number | undefined;
4737
+ equalHeight?: boolean | undefined;
4738
+ } | {
4739
+ mode: "manual";
4740
+ positions?: Record<string, {
4741
+ x: number;
4742
+ y: number;
4743
+ width?: number | undefined;
4744
+ height?: number | undefined;
4745
+ }> | undefined;
4746
+ } | undefined;
4747
+ constraints?: {
4748
+ minContrastRatio?: number | undefined;
4749
+ minFooterSpacing?: number | undefined;
4750
+ checkOverlaps?: boolean | undefined;
4751
+ maxTextTruncation?: number | undefined;
4752
+ } | undefined;
4753
+ }>;
4754
+ type DesignSpec = z.infer<typeof designSpecSchema>;
4755
+ type Element = z.infer<typeof elementSchema>;
4756
+ type CardElement = z.infer<typeof cardElementSchema>;
4757
+ type FlowNodeElement = z.infer<typeof flowNodeElementSchema>;
4758
+ type ConnectionElement = z.infer<typeof connectionElementSchema>;
4759
+ type CodeBlockStyle = z.infer<typeof codeBlockStyleSchema>;
4760
+ type CodeBlockElement = z.infer<typeof codeBlockElementSchema>;
4761
+ type TerminalElement = z.infer<typeof terminalElementSchema>;
4762
+ type TextElement = z.infer<typeof textElementSchema>;
4763
+ type ShapeElement = z.infer<typeof shapeElementSchema>;
4764
+ type ImageElement = z.infer<typeof imageElementSchema>;
4765
+ type DrawFontFamily = z.infer<typeof drawFontFamilySchema>;
4766
+ type DrawPoint = z.infer<typeof drawPointSchema>;
4767
+ type DrawRect = z.infer<typeof drawRectSchema>;
4768
+ type DrawCircle = z.infer<typeof drawCircleSchema>;
4769
+ type DrawText = z.infer<typeof drawTextSchema>;
4770
+ type DrawLine = z.infer<typeof drawLineSchema>;
4771
+ type DrawBezier = z.infer<typeof drawBezierSchema>;
4772
+ type DrawPath = z.infer<typeof drawPathSchema>;
4773
+ type DrawBadge = z.infer<typeof drawBadgeSchema>;
4774
+ type DrawGradientRect = z.infer<typeof drawGradientRectSchema>;
4775
+ type DrawCommand = z.infer<typeof drawCommandSchema>;
4776
+ type LayoutConfig = z.infer<typeof layoutConfigSchema>;
4777
+ type AutoLayoutConfig = z.infer<typeof autoLayoutConfigSchema>;
4778
+ type GridLayoutConfig = z.infer<typeof gridLayoutConfigSchema>;
4779
+ type StackLayoutConfig = z.infer<typeof stackLayoutConfigSchema>;
4780
+ type ManualLayoutConfig = z.infer<typeof manualLayoutConfigSchema>;
4781
+ type ConstraintSpec = z.infer<typeof constraintsSchema>;
4782
+ type Theme = z.infer<typeof themeSchema>;
4783
+ type BuiltInTheme = z.infer<typeof builtInThemeSchema>;
4784
+ type ThemeInput = z.infer<typeof themeInputSchema>;
4785
+ type GradientStop = z.infer<typeof gradientStopSchema>;
4786
+ type LinearGradient = z.infer<typeof linearGradientSchema>;
4787
+ type RadialGradient = z.infer<typeof radialGradientSchema>;
4788
+ type Gradient = z.infer<typeof gradientSchema>;
4789
+ type Decorator = z.infer<typeof decoratorSchema>;
4790
+ type RainbowRuleDecorator = Extract<Decorator, {
4791
+ type: 'rainbow-rule';
4792
+ }>;
4793
+ type VignetteDecorator = Extract<Decorator, {
4794
+ type: 'vignette';
4795
+ }>;
4796
+ type GradientOverlayDecorator = Extract<Decorator, {
4797
+ type: 'gradient-overlay';
4798
+ }>;
4799
+ type DesignSafeFrame = {
4800
+ x: number;
4801
+ y: number;
4802
+ width: number;
4803
+ height: number;
4804
+ };
4805
+
4806
+ declare function deriveSafeFrame(spec: DesignSpec): DesignSafeFrame;
4807
+ declare function parseDesignSpec(input: unknown): DesignSpec;
4808
+
4809
+ export { defaultGridLayout as $, type AutoLayoutConfig as A, type BuiltInTheme as B, type CardElement as C, type DesignSpec as D, type Element as E, type FlowNodeElement as F, type Gradient as G, type RainbowRuleDecorator as H, type ImageElement as I, type RenderResult as J, type StackLayoutConfig as K, type LayoutConfig as L, type ManualLayoutConfig as M, type TerminalElement as N, type TextElement as O, type ThemeInput as P, builtInThemeBackgrounds as Q, type RenderMetadata as R, type ShapeElement as S, type ThemeInput$1 as T, builtInThemes as U, type VignetteDecorator as V, type WrittenArtifacts as W, computeSpecHash as X, defaultAutoLayout as Y, defaultCanvas as Z, defaultConstraints as _, type Rect as a, defaultLayout as a0, defaultStackLayout as a1, defaultTheme as a2, deriveSafeFrame as a3, designSpecSchema as a4, drawGradientRect as a5, drawRainbowRule as a6, drawVignette as a7, inferLayout as a8, inferSidecarPath as a9, parseDesignSpec as aa, renderDesign as ab, resolveTheme as ac, writeRenderArtifacts as ad, type CodeBlockStyle as ae, type GradientStop as af, type LinearGradient as ag, type RadialGradient as ah, type DrawCommand as b, type Theme as c, type RenderedElement as d, type CodeBlockElement as e, type ConnectionElement as f, type ConstraintSpec as g, DEFAULT_GENERATOR_VERSION as h, DEFAULT_RAINBOW_COLORS as i, type Decorator as j, type DesignSafeFrame as k, type DrawBadge as l, type DrawBezier as m, type DrawCircle as n, type DrawFontFamily as o, type DrawGradientRect as p, type DrawLine as q, type DrawPath as r, type DrawPoint as s, type DrawRect as t, type DrawText as u, type GradientOverlayDecorator as v, type GradientSpec as w, type GradientStop$1 as x, type GridLayoutConfig as y, type LayoutSnapshot as z };