@shotstack/shotstack-studio 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +164 -0
  2. package/dist/core/animations/curve-interpolator.d.ts +6 -0
  3. package/dist/core/animations/effect-preset-builder.d.ts +18 -0
  4. package/dist/core/animations/keyframe-builder.d.ts +12 -0
  5. package/dist/core/animations/transition-preset-builder.d.ts +20 -0
  6. package/dist/core/entities/audio-player.d.ts +17 -0
  7. package/dist/core/entities/edit.d.ts +46 -0
  8. package/dist/core/entities/entity.d.ts +5 -0
  9. package/dist/core/entities/html-player.d.ts +17 -0
  10. package/dist/core/entities/image-player.d.ts +15 -0
  11. package/dist/core/entities/inspector.d.ts +18 -0
  12. package/dist/core/entities/luma-player.d.ts +18 -0
  13. package/dist/core/entities/player.d.ts +73 -0
  14. package/dist/core/entities/shape-player.d.ts +15 -0
  15. package/dist/core/entities/text-player.d.ts +18 -0
  16. package/dist/core/entities/video-player.d.ts +22 -0
  17. package/dist/core/events/asset-load-tracker.d.ts +16 -0
  18. package/dist/core/events/event-emitter.d.ts +10 -0
  19. package/dist/core/export/video-exporter.d.ts +17 -0
  20. package/dist/core/inputs/controls.d.ts +11 -0
  21. package/dist/core/inputs/pointer.d.ts +4 -0
  22. package/dist/core/layouts/geometry.d.ts +8 -0
  23. package/dist/core/layouts/position-builder.d.ts +8 -0
  24. package/dist/core/loaders/asset-loader.d.ts +9 -0
  25. package/dist/core/loaders/audio-load-parser.d.ts +11 -0
  26. package/dist/core/loaders/font-load-parser.d.ts +13 -0
  27. package/dist/core/schemas/asset.d.ts +648 -0
  28. package/dist/core/schemas/audio-asset.d.ts +82 -0
  29. package/dist/core/schemas/clip.d.ts +1185 -0
  30. package/dist/core/schemas/edit.d.ts +4061 -0
  31. package/dist/core/schemas/html-asset.d.ts +27 -0
  32. package/dist/core/schemas/image-asset.d.ts +57 -0
  33. package/dist/core/schemas/keyframe.d.ts +26 -0
  34. package/dist/core/schemas/luma-asset.d.ts +13 -0
  35. package/dist/core/schemas/shape-asset.d.ts +199 -0
  36. package/dist/core/schemas/text-asset.d.ts +155 -0
  37. package/dist/core/schemas/track.d.ts +1491 -0
  38. package/dist/core/schemas/video-asset.d.ts +126 -0
  39. package/dist/core/shotstack-canvas.d.ts +24 -0
  40. package/dist/index.d.ts +4 -0
  41. package/dist/main.d.ts +1 -0
  42. package/dist/shotstack-studio.es.js +5546 -0
  43. package/dist/shotstack-studio.umd.js +183 -0
  44. package/package.json +56 -0
  45. package/readme.md +298 -0
@@ -0,0 +1,648 @@
1
+ import * as zod from "zod";
2
+ export declare const AssetSchema: zod.ZodEffects<zod.ZodUnion<[zod.ZodObject<{
3
+ type: zod.ZodLiteral<"text">;
4
+ text: zod.ZodString;
5
+ width: zod.ZodOptional<zod.ZodNumber>;
6
+ height: zod.ZodOptional<zod.ZodNumber>;
7
+ font: zod.ZodOptional<zod.ZodObject<{
8
+ color: zod.ZodOptional<zod.ZodString>;
9
+ family: zod.ZodOptional<zod.ZodString>;
10
+ size: zod.ZodOptional<zod.ZodNumber>;
11
+ weight: zod.ZodOptional<zod.ZodNumber>;
12
+ lineHeight: zod.ZodOptional<zod.ZodNumber>;
13
+ }, "strip", zod.ZodTypeAny, {
14
+ color?: string | undefined;
15
+ family?: string | undefined;
16
+ size?: number | undefined;
17
+ weight?: number | undefined;
18
+ lineHeight?: number | undefined;
19
+ }, {
20
+ color?: string | undefined;
21
+ family?: string | undefined;
22
+ size?: number | undefined;
23
+ weight?: number | undefined;
24
+ lineHeight?: number | undefined;
25
+ }>>;
26
+ alignment: zod.ZodOptional<zod.ZodObject<{
27
+ horizontal: zod.ZodOptional<zod.ZodEnum<["left", "center", "right"]>>;
28
+ vertical: zod.ZodOptional<zod.ZodEnum<["top", "center", "bottom"]>>;
29
+ }, "strip", zod.ZodTypeAny, {
30
+ horizontal?: "right" | "left" | "center" | undefined;
31
+ vertical?: "top" | "bottom" | "center" | undefined;
32
+ }, {
33
+ horizontal?: "right" | "left" | "center" | undefined;
34
+ vertical?: "top" | "bottom" | "center" | undefined;
35
+ }>>;
36
+ background: zod.ZodOptional<zod.ZodObject<{
37
+ color: zod.ZodString;
38
+ opacity: zod.ZodNumber;
39
+ }, "strip", zod.ZodTypeAny, {
40
+ color: string;
41
+ opacity: number;
42
+ }, {
43
+ color: string;
44
+ opacity: number;
45
+ }>>;
46
+ stroke: zod.ZodOptional<zod.ZodObject<{
47
+ width: zod.ZodNumber;
48
+ color: zod.ZodString;
49
+ }, "strip", zod.ZodTypeAny, {
50
+ width: number;
51
+ color: string;
52
+ }, {
53
+ width: number;
54
+ color: string;
55
+ }>>;
56
+ }, "strip", zod.ZodTypeAny, {
57
+ type: "text";
58
+ text: string;
59
+ width?: number | undefined;
60
+ height?: number | undefined;
61
+ stroke?: {
62
+ width: number;
63
+ color: string;
64
+ } | undefined;
65
+ font?: {
66
+ color?: string | undefined;
67
+ family?: string | undefined;
68
+ size?: number | undefined;
69
+ weight?: number | undefined;
70
+ lineHeight?: number | undefined;
71
+ } | undefined;
72
+ alignment?: {
73
+ horizontal?: "right" | "left" | "center" | undefined;
74
+ vertical?: "top" | "bottom" | "center" | undefined;
75
+ } | undefined;
76
+ background?: {
77
+ color: string;
78
+ opacity: number;
79
+ } | undefined;
80
+ }, {
81
+ type: "text";
82
+ text: string;
83
+ width?: number | undefined;
84
+ height?: number | undefined;
85
+ stroke?: {
86
+ width: number;
87
+ color: string;
88
+ } | undefined;
89
+ font?: {
90
+ color?: string | undefined;
91
+ family?: string | undefined;
92
+ size?: number | undefined;
93
+ weight?: number | undefined;
94
+ lineHeight?: number | undefined;
95
+ } | undefined;
96
+ alignment?: {
97
+ horizontal?: "right" | "left" | "center" | undefined;
98
+ vertical?: "top" | "bottom" | "center" | undefined;
99
+ } | undefined;
100
+ background?: {
101
+ color: string;
102
+ opacity: number;
103
+ } | undefined;
104
+ }>, zod.ZodEffects<zod.ZodObject<{
105
+ type: zod.ZodLiteral<"shape">;
106
+ width: zod.ZodOptional<zod.ZodNumber>;
107
+ height: zod.ZodOptional<zod.ZodNumber>;
108
+ shape: zod.ZodEnum<["rectangle", "circle", "line"]>;
109
+ fill: zod.ZodOptional<zod.ZodObject<{
110
+ color: zod.ZodString;
111
+ opacity: zod.ZodNumber;
112
+ }, "strip", zod.ZodTypeAny, {
113
+ color: string;
114
+ opacity: number;
115
+ }, {
116
+ color: string;
117
+ opacity: number;
118
+ }>>;
119
+ stroke: zod.ZodOptional<zod.ZodObject<{
120
+ color: zod.ZodString;
121
+ width: zod.ZodNumber;
122
+ }, "strip", zod.ZodTypeAny, {
123
+ width: number;
124
+ color: string;
125
+ }, {
126
+ width: number;
127
+ color: string;
128
+ }>>;
129
+ rectangle: zod.ZodOptional<zod.ZodObject<{
130
+ width: zod.ZodNumber;
131
+ height: zod.ZodNumber;
132
+ }, "strip", zod.ZodTypeAny, {
133
+ width: number;
134
+ height: number;
135
+ }, {
136
+ width: number;
137
+ height: number;
138
+ }>>;
139
+ circle: zod.ZodOptional<zod.ZodObject<{
140
+ radius: zod.ZodNumber;
141
+ }, "strip", zod.ZodTypeAny, {
142
+ radius: number;
143
+ }, {
144
+ radius: number;
145
+ }>>;
146
+ line: zod.ZodOptional<zod.ZodObject<{
147
+ length: zod.ZodNumber;
148
+ thickness: zod.ZodNumber;
149
+ }, "strip", zod.ZodTypeAny, {
150
+ length: number;
151
+ thickness: number;
152
+ }, {
153
+ length: number;
154
+ thickness: number;
155
+ }>>;
156
+ }, "strip", zod.ZodTypeAny, {
157
+ type: "shape";
158
+ shape: "rectangle" | "circle" | "line";
159
+ fill?: {
160
+ color: string;
161
+ opacity: number;
162
+ } | undefined;
163
+ width?: number | undefined;
164
+ height?: number | undefined;
165
+ rectangle?: {
166
+ width: number;
167
+ height: number;
168
+ } | undefined;
169
+ circle?: {
170
+ radius: number;
171
+ } | undefined;
172
+ line?: {
173
+ length: number;
174
+ thickness: number;
175
+ } | undefined;
176
+ stroke?: {
177
+ width: number;
178
+ color: string;
179
+ } | undefined;
180
+ }, {
181
+ type: "shape";
182
+ shape: "rectangle" | "circle" | "line";
183
+ fill?: {
184
+ color: string;
185
+ opacity: number;
186
+ } | undefined;
187
+ width?: number | undefined;
188
+ height?: number | undefined;
189
+ rectangle?: {
190
+ width: number;
191
+ height: number;
192
+ } | undefined;
193
+ circle?: {
194
+ radius: number;
195
+ } | undefined;
196
+ line?: {
197
+ length: number;
198
+ thickness: number;
199
+ } | undefined;
200
+ stroke?: {
201
+ width: number;
202
+ color: string;
203
+ } | undefined;
204
+ }>, {
205
+ type: "shape";
206
+ shape: "rectangle" | "circle" | "line";
207
+ fill?: {
208
+ color: string;
209
+ opacity: number;
210
+ } | undefined;
211
+ width?: number | undefined;
212
+ height?: number | undefined;
213
+ rectangle?: {
214
+ width: number;
215
+ height: number;
216
+ } | undefined;
217
+ circle?: {
218
+ radius: number;
219
+ } | undefined;
220
+ line?: {
221
+ length: number;
222
+ thickness: number;
223
+ } | undefined;
224
+ stroke?: {
225
+ width: number;
226
+ color: string;
227
+ } | undefined;
228
+ }, {
229
+ type: "shape";
230
+ shape: "rectangle" | "circle" | "line";
231
+ fill?: {
232
+ color: string;
233
+ opacity: number;
234
+ } | undefined;
235
+ width?: number | undefined;
236
+ height?: number | undefined;
237
+ rectangle?: {
238
+ width: number;
239
+ height: number;
240
+ } | undefined;
241
+ circle?: {
242
+ radius: number;
243
+ } | undefined;
244
+ line?: {
245
+ length: number;
246
+ thickness: number;
247
+ } | undefined;
248
+ stroke?: {
249
+ width: number;
250
+ color: string;
251
+ } | undefined;
252
+ }>, zod.ZodObject<{
253
+ type: zod.ZodLiteral<"html">;
254
+ html: zod.ZodString;
255
+ css: zod.ZodString;
256
+ width: zod.ZodOptional<zod.ZodNumber>;
257
+ height: zod.ZodOptional<zod.ZodNumber>;
258
+ position: zod.ZodOptional<zod.ZodEnum<["top", "topRight", "right", "bottomRight", "bottom", "bottomLeft", "left", "topLeft", "center"]>>;
259
+ }, "strip", zod.ZodTypeAny, {
260
+ type: "html";
261
+ html: string;
262
+ css: string;
263
+ width?: number | undefined;
264
+ height?: number | undefined;
265
+ position?: "top" | "topRight" | "right" | "bottomRight" | "bottom" | "bottomLeft" | "left" | "topLeft" | "center" | undefined;
266
+ }, {
267
+ type: "html";
268
+ html: string;
269
+ css: string;
270
+ width?: number | undefined;
271
+ height?: number | undefined;
272
+ position?: "top" | "topRight" | "right" | "bottomRight" | "bottom" | "bottomLeft" | "left" | "topLeft" | "center" | undefined;
273
+ }>, zod.ZodObject<{
274
+ type: zod.ZodLiteral<"image">;
275
+ src: zod.ZodString;
276
+ crop: zod.ZodOptional<zod.ZodObject<{
277
+ top: zod.ZodOptional<zod.ZodNumber>;
278
+ right: zod.ZodOptional<zod.ZodNumber>;
279
+ bottom: zod.ZodOptional<zod.ZodNumber>;
280
+ left: zod.ZodOptional<zod.ZodNumber>;
281
+ }, "strip", zod.ZodTypeAny, {
282
+ top?: number | undefined;
283
+ right?: number | undefined;
284
+ bottom?: number | undefined;
285
+ left?: number | undefined;
286
+ }, {
287
+ top?: number | undefined;
288
+ right?: number | undefined;
289
+ bottom?: number | undefined;
290
+ left?: number | undefined;
291
+ }>>;
292
+ }, "strip", zod.ZodTypeAny, {
293
+ src: string;
294
+ type: "image";
295
+ crop?: {
296
+ top?: number | undefined;
297
+ right?: number | undefined;
298
+ bottom?: number | undefined;
299
+ left?: number | undefined;
300
+ } | undefined;
301
+ }, {
302
+ src: string;
303
+ type: "image";
304
+ crop?: {
305
+ top?: number | undefined;
306
+ right?: number | undefined;
307
+ bottom?: number | undefined;
308
+ left?: number | undefined;
309
+ } | undefined;
310
+ }>, zod.ZodObject<{
311
+ type: zod.ZodLiteral<"video">;
312
+ src: zod.ZodString;
313
+ trim: zod.ZodOptional<zod.ZodNumber>;
314
+ crop: zod.ZodOptional<zod.ZodObject<{
315
+ top: zod.ZodOptional<zod.ZodNumber>;
316
+ right: zod.ZodOptional<zod.ZodNumber>;
317
+ bottom: zod.ZodOptional<zod.ZodNumber>;
318
+ left: zod.ZodOptional<zod.ZodNumber>;
319
+ }, "strip", zod.ZodTypeAny, {
320
+ top?: number | undefined;
321
+ right?: number | undefined;
322
+ bottom?: number | undefined;
323
+ left?: number | undefined;
324
+ }, {
325
+ top?: number | undefined;
326
+ right?: number | undefined;
327
+ bottom?: number | undefined;
328
+ left?: number | undefined;
329
+ }>>;
330
+ volume: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<zod.objectUtil.extendShape<{
331
+ from: zod.ZodNumber;
332
+ to: zod.ZodNumber;
333
+ start: zod.ZodNumber;
334
+ length: zod.ZodNumber;
335
+ interpolation: zod.ZodOptional<zod.ZodEnum<["linear", "bezier", "constant"]>>;
336
+ easing: zod.ZodOptional<zod.ZodEnum<["ease", "easeIn", "easeOut", "easeInOut", "easeInQuad", "easeInCubic", "easeInQuart", "easeInQuint", "easeInSine", "easeInExpo", "easeInCirc", "easeInBack", "easeOutQuad", "easeOutCubic", "easeOutQuart", "easeOutQuint", "easeOutSine", "easeOutExpo", "easeOutCirc", "easeOutBack", "easeInOutQuad", "easeInOutCubic", "easeInOutQuart", "easeInOutQuint", "easeInOutSine", "easeInOutExpo", "easeInOutCirc", "easeInOutBack"]>>;
337
+ }, {
338
+ from: zod.ZodNumber;
339
+ to: zod.ZodNumber;
340
+ }>, "strip", zod.ZodTypeAny, {
341
+ length: number;
342
+ from: number;
343
+ to: number;
344
+ start: number;
345
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
346
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
347
+ }, {
348
+ length: number;
349
+ from: number;
350
+ to: number;
351
+ start: number;
352
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
353
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
354
+ }>, "many">, zod.ZodNumber]>>;
355
+ }, "strip", zod.ZodTypeAny, {
356
+ src: string;
357
+ type: "video";
358
+ trim?: number | undefined;
359
+ volume?: number | {
360
+ length: number;
361
+ from: number;
362
+ to: number;
363
+ start: number;
364
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
365
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
366
+ }[] | undefined;
367
+ crop?: {
368
+ top?: number | undefined;
369
+ right?: number | undefined;
370
+ bottom?: number | undefined;
371
+ left?: number | undefined;
372
+ } | undefined;
373
+ }, {
374
+ src: string;
375
+ type: "video";
376
+ trim?: number | undefined;
377
+ volume?: number | {
378
+ length: number;
379
+ from: number;
380
+ to: number;
381
+ start: number;
382
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
383
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
384
+ }[] | undefined;
385
+ crop?: {
386
+ top?: number | undefined;
387
+ right?: number | undefined;
388
+ bottom?: number | undefined;
389
+ left?: number | undefined;
390
+ } | undefined;
391
+ }>, zod.ZodObject<{
392
+ type: zod.ZodLiteral<"luma">;
393
+ src: zod.ZodString;
394
+ }, "strip", zod.ZodTypeAny, {
395
+ src: string;
396
+ type: "luma";
397
+ }, {
398
+ src: string;
399
+ type: "luma";
400
+ }>, zod.ZodObject<{
401
+ type: zod.ZodLiteral<"audio">;
402
+ src: zod.ZodString;
403
+ trim: zod.ZodOptional<zod.ZodNumber>;
404
+ volume: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<zod.objectUtil.extendShape<{
405
+ from: zod.ZodNumber;
406
+ to: zod.ZodNumber;
407
+ start: zod.ZodNumber;
408
+ length: zod.ZodNumber;
409
+ interpolation: zod.ZodOptional<zod.ZodEnum<["linear", "bezier", "constant"]>>;
410
+ easing: zod.ZodOptional<zod.ZodEnum<["ease", "easeIn", "easeOut", "easeInOut", "easeInQuad", "easeInCubic", "easeInQuart", "easeInQuint", "easeInSine", "easeInExpo", "easeInCirc", "easeInBack", "easeOutQuad", "easeOutCubic", "easeOutQuart", "easeOutQuint", "easeOutSine", "easeOutExpo", "easeOutCirc", "easeOutBack", "easeInOutQuad", "easeInOutCubic", "easeInOutQuart", "easeInOutQuint", "easeInOutSine", "easeInOutExpo", "easeInOutCirc", "easeInOutBack"]>>;
411
+ }, {
412
+ from: zod.ZodNumber;
413
+ to: zod.ZodNumber;
414
+ }>, "strip", zod.ZodTypeAny, {
415
+ length: number;
416
+ from: number;
417
+ to: number;
418
+ start: number;
419
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
420
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
421
+ }, {
422
+ length: number;
423
+ from: number;
424
+ to: number;
425
+ start: number;
426
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
427
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
428
+ }>, "many">, zod.ZodNumber]>>;
429
+ }, "strip", zod.ZodTypeAny, {
430
+ src: string;
431
+ type: "audio";
432
+ trim?: number | undefined;
433
+ volume?: number | {
434
+ length: number;
435
+ from: number;
436
+ to: number;
437
+ start: number;
438
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
439
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
440
+ }[] | undefined;
441
+ }, {
442
+ src: string;
443
+ type: "audio";
444
+ trim?: number | undefined;
445
+ volume?: number | {
446
+ length: number;
447
+ from: number;
448
+ to: number;
449
+ start: number;
450
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
451
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
452
+ }[] | undefined;
453
+ }>]>, {
454
+ src: string;
455
+ type: "audio";
456
+ trim?: number | undefined;
457
+ volume?: number | {
458
+ length: number;
459
+ from: number;
460
+ to: number;
461
+ start: number;
462
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
463
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
464
+ }[] | undefined;
465
+ } | {
466
+ type: "html";
467
+ html: string;
468
+ css: string;
469
+ width?: number | undefined;
470
+ height?: number | undefined;
471
+ position?: "top" | "topRight" | "right" | "bottomRight" | "bottom" | "bottomLeft" | "left" | "topLeft" | "center" | undefined;
472
+ } | {
473
+ src: string;
474
+ type: "image";
475
+ crop?: {
476
+ top?: number | undefined;
477
+ right?: number | undefined;
478
+ bottom?: number | undefined;
479
+ left?: number | undefined;
480
+ } | undefined;
481
+ } | {
482
+ src: string;
483
+ type: "luma";
484
+ } | {
485
+ type: "shape";
486
+ shape: "rectangle" | "circle" | "line";
487
+ fill?: {
488
+ color: string;
489
+ opacity: number;
490
+ } | undefined;
491
+ width?: number | undefined;
492
+ height?: number | undefined;
493
+ rectangle?: {
494
+ width: number;
495
+ height: number;
496
+ } | undefined;
497
+ circle?: {
498
+ radius: number;
499
+ } | undefined;
500
+ line?: {
501
+ length: number;
502
+ thickness: number;
503
+ } | undefined;
504
+ stroke?: {
505
+ width: number;
506
+ color: string;
507
+ } | undefined;
508
+ } | {
509
+ type: "text";
510
+ text: string;
511
+ width?: number | undefined;
512
+ height?: number | undefined;
513
+ stroke?: {
514
+ width: number;
515
+ color: string;
516
+ } | undefined;
517
+ font?: {
518
+ color?: string | undefined;
519
+ family?: string | undefined;
520
+ size?: number | undefined;
521
+ weight?: number | undefined;
522
+ lineHeight?: number | undefined;
523
+ } | undefined;
524
+ alignment?: {
525
+ horizontal?: "right" | "left" | "center" | undefined;
526
+ vertical?: "top" | "bottom" | "center" | undefined;
527
+ } | undefined;
528
+ background?: {
529
+ color: string;
530
+ opacity: number;
531
+ } | undefined;
532
+ } | {
533
+ src: string;
534
+ type: "video";
535
+ trim?: number | undefined;
536
+ volume?: number | {
537
+ length: number;
538
+ from: number;
539
+ to: number;
540
+ start: number;
541
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
542
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
543
+ }[] | undefined;
544
+ crop?: {
545
+ top?: number | undefined;
546
+ right?: number | undefined;
547
+ bottom?: number | undefined;
548
+ left?: number | undefined;
549
+ } | undefined;
550
+ }, {
551
+ src: string;
552
+ type: "audio";
553
+ trim?: number | undefined;
554
+ volume?: number | {
555
+ length: number;
556
+ from: number;
557
+ to: number;
558
+ start: number;
559
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
560
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
561
+ }[] | undefined;
562
+ } | {
563
+ type: "html";
564
+ html: string;
565
+ css: string;
566
+ width?: number | undefined;
567
+ height?: number | undefined;
568
+ position?: "top" | "topRight" | "right" | "bottomRight" | "bottom" | "bottomLeft" | "left" | "topLeft" | "center" | undefined;
569
+ } | {
570
+ src: string;
571
+ type: "image";
572
+ crop?: {
573
+ top?: number | undefined;
574
+ right?: number | undefined;
575
+ bottom?: number | undefined;
576
+ left?: number | undefined;
577
+ } | undefined;
578
+ } | {
579
+ src: string;
580
+ type: "luma";
581
+ } | {
582
+ type: "shape";
583
+ shape: "rectangle" | "circle" | "line";
584
+ fill?: {
585
+ color: string;
586
+ opacity: number;
587
+ } | undefined;
588
+ width?: number | undefined;
589
+ height?: number | undefined;
590
+ rectangle?: {
591
+ width: number;
592
+ height: number;
593
+ } | undefined;
594
+ circle?: {
595
+ radius: number;
596
+ } | undefined;
597
+ line?: {
598
+ length: number;
599
+ thickness: number;
600
+ } | undefined;
601
+ stroke?: {
602
+ width: number;
603
+ color: string;
604
+ } | undefined;
605
+ } | {
606
+ type: "text";
607
+ text: string;
608
+ width?: number | undefined;
609
+ height?: number | undefined;
610
+ stroke?: {
611
+ width: number;
612
+ color: string;
613
+ } | undefined;
614
+ font?: {
615
+ color?: string | undefined;
616
+ family?: string | undefined;
617
+ size?: number | undefined;
618
+ weight?: number | undefined;
619
+ lineHeight?: number | undefined;
620
+ } | undefined;
621
+ alignment?: {
622
+ horizontal?: "right" | "left" | "center" | undefined;
623
+ vertical?: "top" | "bottom" | "center" | undefined;
624
+ } | undefined;
625
+ background?: {
626
+ color: string;
627
+ opacity: number;
628
+ } | undefined;
629
+ } | {
630
+ src: string;
631
+ type: "video";
632
+ trim?: number | undefined;
633
+ volume?: number | {
634
+ length: number;
635
+ from: number;
636
+ to: number;
637
+ start: number;
638
+ interpolation?: "linear" | "bezier" | "constant" | undefined;
639
+ easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack" | undefined;
640
+ }[] | undefined;
641
+ crop?: {
642
+ top?: number | undefined;
643
+ right?: number | undefined;
644
+ bottom?: number | undefined;
645
+ left?: number | undefined;
646
+ } | undefined;
647
+ }>;
648
+ export type Asset = zod.infer<typeof AssetSchema>;