@microfox/remotion 1.1.0 → 1.2.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,1164 @@
1
+ import React$1, { CSSProperties, ReactNode, ComponentType as ComponentType$1 } from 'react';
2
+ import { CalculateMetadataFunction, VideoConfig } from 'remotion';
3
+ import { z } from 'zod';
4
+
5
+ type Boundaries = {
6
+ left?: number | string;
7
+ top?: number | string;
8
+ width?: number | string;
9
+ height?: number | string;
10
+ right?: number | string;
11
+ bottom?: number | string;
12
+ zIndex?: number;
13
+ };
14
+ type Timing = {
15
+ start?: number;
16
+ duration?: number;
17
+ };
18
+ type CalculatedBoundaries = {
19
+ left?: number;
20
+ top?: number;
21
+ right?: number;
22
+ bottom?: number;
23
+ width?: number;
24
+ height?: number;
25
+ zIndex?: number;
26
+ reset?: boolean;
27
+ };
28
+ type CalculatedTiming = {
29
+ startInFrames?: number;
30
+ durationInFrames?: number;
31
+ start?: number;
32
+ duration?: number;
33
+ fitDurationTo?: string[] | string;
34
+ };
35
+ type Hierarchy = {
36
+ depth: number;
37
+ parentIds: string[];
38
+ };
39
+ interface BaseRenderableContext {
40
+ overrideStyle?: CSSProperties;
41
+ }
42
+ interface RenderableContext extends BaseRenderableContext {
43
+ boundaries?: CalculatedBoundaries;
44
+ timing?: CalculatedTiming;
45
+ hierarchy?: Hierarchy;
46
+ }
47
+ interface InternalRenderableContext extends BaseRenderableContext {
48
+ boundaries: CalculatedBoundaries;
49
+ timing?: CalculatedTiming;
50
+ hierarchy: Hierarchy;
51
+ }
52
+ type RenderableData = {
53
+ [key: string]: any;
54
+ };
55
+ interface BaseComponentData {
56
+ id: string;
57
+ componentId: string;
58
+ type: ComponentType;
59
+ data?: RenderableData;
60
+ context?: RenderableContext;
61
+ childrenData?: RenderableComponentData[];
62
+ effects?: BaseEffect[];
63
+ }
64
+ type BaseEffect = string | {
65
+ id: string;
66
+ componentId: string;
67
+ data?: RenderableData;
68
+ context?: RenderableContext;
69
+ };
70
+ type ComponentType = 'atom' | 'layout' | 'frame' | 'scene' | 'transition';
71
+ interface AtomComponentData extends BaseComponentData {
72
+ type: 'atom';
73
+ data?: RenderableData & {
74
+ boundaries?: Boundaries;
75
+ };
76
+ context?: RenderableContext;
77
+ }
78
+ interface LayoutComponentData extends BaseComponentData {
79
+ type: 'layout';
80
+ data?: RenderableData & {
81
+ boundaries?: Boundaries;
82
+ timing?: Timing;
83
+ };
84
+ context?: RenderableContext;
85
+ }
86
+ interface FrameComponentData extends BaseComponentData {
87
+ type: 'frame';
88
+ data?: RenderableData & {
89
+ boundaries?: Boundaries;
90
+ timing?: Timing;
91
+ };
92
+ context?: RenderableContext;
93
+ }
94
+ interface SceneComponentData extends BaseComponentData {
95
+ type: 'scene';
96
+ data?: RenderableData & {
97
+ timing?: Timing;
98
+ };
99
+ }
100
+ interface TransitionComponentData extends BaseComponentData {
101
+ type: 'transition';
102
+ data?: RenderableData & {
103
+ timing?: Timing;
104
+ };
105
+ }
106
+ type RenderableComponentData = AtomComponentData | LayoutComponentData | FrameComponentData | SceneComponentData | TransitionComponentData;
107
+ interface BaseRenderableProps {
108
+ id: string;
109
+ componentId: string;
110
+ type: ComponentType;
111
+ data?: RenderableData;
112
+ context?: InternalRenderableContext;
113
+ children?: ReactNode;
114
+ }
115
+ interface BaseRenderableData extends BaseComponentData {
116
+ childrenData?: RenderableComponentData[];
117
+ context?: RenderableContext;
118
+ }
119
+
120
+ interface BoundaryConstraints {
121
+ x?: number | string;
122
+ y?: number | string;
123
+ width?: number | string;
124
+ height?: number | string;
125
+ zIndex?: number;
126
+ }
127
+ interface TimingConstraints {
128
+ startFrame?: number;
129
+ durationFrames?: number;
130
+ delay?: number;
131
+ }
132
+ interface LayoutConstraints {
133
+ alignment?: 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
134
+ padding?: number;
135
+ spacing?: number;
136
+ columns?: number;
137
+ rows?: number;
138
+ }
139
+
140
+ interface CompositionContext {
141
+ childrenData?: RenderableComponentData[];
142
+ width: number;
143
+ height: number;
144
+ duration: number;
145
+ fps: number;
146
+ currentFrame: number;
147
+ }
148
+
149
+ interface ComponentConfig {
150
+ displayName: string;
151
+ type?: ComponentType;
152
+ isInnerSequence?: boolean;
153
+ [key: string]: any;
154
+ }
155
+ interface ComponentRegistry {
156
+ [key: string]: {
157
+ component: React$1.ComponentType<BaseRenderableProps>;
158
+ config: ComponentConfig;
159
+ };
160
+ }
161
+ interface RegistryEntry {
162
+ type: ComponentType;
163
+ component: React$1.ComponentType<BaseRenderableProps>;
164
+ config: ComponentConfig;
165
+ package?: string;
166
+ }
167
+ interface PackageRegistry {
168
+ [packageName: string]: {
169
+ [componentName: string]: {
170
+ component: React$1.ComponentType<BaseRenderableProps>;
171
+ config: ComponentConfig;
172
+ };
173
+ };
174
+ }
175
+
176
+ declare class ComponentRegistryManager {
177
+ private registry;
178
+ private packageRegistry;
179
+ registerComponent(name: string, component: React$1.ComponentType<any>, type: 'frame' | 'layout' | 'atom', config?: ComponentConfig, packageName?: string): void;
180
+ registerEffect(name: string, component: React$1.ComponentType<any>, config?: ComponentConfig, packageName?: string): void;
181
+ getComponent(name: string): React$1.ComponentType<any> | undefined;
182
+ getComponentConfig(name: string): ComponentConfig | undefined;
183
+ getComponentWithConfig(name: string): {
184
+ component: React$1.ComponentType<any>;
185
+ config: ComponentConfig;
186
+ } | undefined;
187
+ registerPackage(packageName: string, components: Record<string, {
188
+ component: React$1.ComponentType<any>;
189
+ config: ComponentConfig;
190
+ }>): void;
191
+ getPackageComponents(packageName: string): Record<string, {
192
+ component: React$1.ComponentType<any>;
193
+ config: ComponentConfig;
194
+ }> | undefined;
195
+ getAllComponents(): ComponentRegistry;
196
+ clear(): void;
197
+ }
198
+ declare const componentRegistry: ComponentRegistryManager;
199
+ declare const registerComponent: (name: string, component: React$1.ComponentType<any>, type: "frame" | "layout" | "atom", config?: ComponentConfig, packageName?: string) => void;
200
+ declare const registerEffect: (name: string, component: React$1.ComponentType<any>, config?: ComponentConfig, packageName?: string) => void;
201
+ declare const registerPackage: (packageName: string, components: Record<string, {
202
+ component: React$1.ComponentType<any>;
203
+ config: ComponentConfig;
204
+ }>) => void;
205
+ declare const getComponent: (name: string) => React$1.ComponentType<any>;
206
+ declare const getComponentConfig: (name: string) => ComponentConfig;
207
+ declare const getComponentWithConfig: (name: string) => {
208
+ component: React$1.ComponentType<any>;
209
+ config: ComponentConfig;
210
+ };
211
+
212
+ interface CompositionContextValue {
213
+ root?: RenderableComponentData[];
214
+ duration: number;
215
+ }
216
+ interface CompositionProviderProps {
217
+ children: React$1.ReactNode;
218
+ value: CompositionContextValue;
219
+ }
220
+ declare const CompositionProvider: React$1.FC<CompositionProviderProps>;
221
+ declare const useComposition: () => CompositionContextValue;
222
+
223
+ interface CompositionProps extends BaseRenderableData {
224
+ id: string;
225
+ style?: React$1.CSSProperties;
226
+ config: {
227
+ width: number;
228
+ height: number;
229
+ fps: number;
230
+ duration: number;
231
+ fitDurationTo?: string | string[];
232
+ };
233
+ }
234
+ type InputCompositionProps = {
235
+ childrenData?: RenderableComponentData[];
236
+ style?: React$1.CSSProperties;
237
+ config?: {
238
+ width?: number;
239
+ height?: number;
240
+ fps?: number;
241
+ duration?: number;
242
+ fitDurationTo?: string;
243
+ };
244
+ };
245
+ declare const CompositionLayout: ({ childrenData, style, config }: InputCompositionProps) => React$1.JSX.Element;
246
+ declare const calculateCompositionLayoutMetadata: CalculateMetadataFunction<InputCompositionProps>;
247
+ declare const Composition: ({ id, childrenData, config, style }: CompositionProps) => React$1.JSX.Element;
248
+ declare const Player: (props: any) => React$1.JSX.Element;
249
+
250
+ declare const findMatchingComponents: (childrenData: RenderableComponentData[], targetIds: string[]) => RenderableComponentData[];
251
+ declare const findMatchingComponentsByQuery: (childrenData: RenderableComponentData[], query: {
252
+ type?: string;
253
+ componentId?: string;
254
+ }) => RenderableComponentData[];
255
+ declare const calculateComponentDuration: (component: Pick<RenderableComponentData, "data" | "componentId">) => Promise<number | undefined>;
256
+ declare const calculateDuration: (childrenData: RenderableComponentData[], config: {
257
+ fitDurationTo: string[] | string;
258
+ }) => Promise<number | undefined>;
259
+ declare const setDurationsInContext: (root: InputCompositionProps) => Promise<{
260
+ childrenData: RenderableComponentData[];
261
+ style?: React.CSSProperties;
262
+ config?: {
263
+ width?: number;
264
+ height?: number;
265
+ fps?: number;
266
+ duration?: number;
267
+ fitDurationTo?: string;
268
+ };
269
+ }>;
270
+
271
+ declare const useRenderContext: () => RenderableContext;
272
+ declare const ComponentRenderer: React$1.FC<BaseRenderableData>;
273
+
274
+ interface FrameProps extends BaseRenderableProps {
275
+ data?: {
276
+ style?: React$1.CSSProperties;
277
+ };
278
+ }
279
+ declare const Frame: ({ children, data }: FrameProps) => React$1.JSX.Element;
280
+
281
+ interface SceneFrameProps extends BaseRenderableProps {
282
+ children?: ReactNode;
283
+ }
284
+ declare const SceneFrame: React$1.FC<SceneFrameProps>;
285
+
286
+ interface BaseLayoutProps extends BaseRenderableProps {
287
+ children?: ReactNode;
288
+ data: {
289
+ isAbsoluteFill?: boolean;
290
+ containerProps?: any;
291
+ childrenProps?: any[];
292
+ repeatChildrenProps?: boolean;
293
+ };
294
+ }
295
+ declare const Layout: ComponentType$1<BaseLayoutProps>;
296
+ declare const config$c: ComponentConfig;
297
+
298
+ type Shape = 'circle' | 'rectangle' | 'star' | 'triangle';
299
+ interface ShapeAtomProps extends BaseRenderableProps {
300
+ data: {
301
+ shape: Shape;
302
+ color: string;
303
+ rotation?: {
304
+ duration: number;
305
+ };
306
+ style?: React$1.CSSProperties;
307
+ };
308
+ }
309
+ declare const Atom$5: React$1.FC<ShapeAtomProps>;
310
+ declare const config$b: ComponentConfig;
311
+
312
+ interface ImageAtomProps extends BaseRenderableProps {
313
+ data: {
314
+ src: string;
315
+ style?: React$1.CSSProperties;
316
+ className?: string;
317
+ proxySrc?: string;
318
+ };
319
+ }
320
+ declare const Atom$4: React$1.FC<ImageAtomProps>;
321
+ declare const config$a: ComponentConfig;
322
+
323
+ interface FontConfig$1 {
324
+ family: string;
325
+ weights?: string[];
326
+ subsets?: string[];
327
+ display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
328
+ preload?: boolean;
329
+ }
330
+ interface TextAtomData {
331
+ text: string;
332
+ style?: React$1.CSSProperties;
333
+ className?: string;
334
+ font?: FontConfig$1;
335
+ fallbackFonts?: string[];
336
+ loadingState?: {
337
+ showLoadingIndicator?: boolean;
338
+ loadingText?: string;
339
+ loadingStyle?: React$1.CSSProperties;
340
+ };
341
+ errorState?: {
342
+ showErrorIndicator?: boolean;
343
+ errorText?: string;
344
+ errorStyle?: React$1.CSSProperties;
345
+ };
346
+ }
347
+ interface TextAtomProps extends BaseRenderableProps {
348
+ data: TextAtomData;
349
+ }
350
+ /**
351
+ * Enhanced TextAtom with comprehensive dynamic font loading capabilities
352
+ *
353
+ * Features:
354
+ * - Dynamic Google Font loading with simplified API
355
+ * - Loading states with visual indicators
356
+ * - Error handling with fallbacks
357
+ * - Multiple font weights and subsets support
358
+ * - Font preloading for performance
359
+ * - Graceful degradation to system fonts
360
+ */
361
+ declare const Atom$3: React$1.FC<TextAtomProps>;
362
+ declare const config$9: ComponentConfig;
363
+
364
+ declare const VideoAtomDataProps: z.ZodObject<{
365
+ src: z.ZodString;
366
+ srcDuration: z.ZodOptional<z.ZodNumber>;
367
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
368
+ containerClassName: z.ZodOptional<z.ZodString>;
369
+ className: z.ZodOptional<z.ZodString>;
370
+ startFrom: z.ZodOptional<z.ZodNumber>;
371
+ endAt: z.ZodOptional<z.ZodNumber>;
372
+ playbackRate: z.ZodOptional<z.ZodNumber>;
373
+ volume: z.ZodOptional<z.ZodNumber>;
374
+ muted: z.ZodOptional<z.ZodBoolean>;
375
+ loop: z.ZodOptional<z.ZodBoolean>;
376
+ fit: z.ZodOptional<z.ZodEnum<{
377
+ fill: "fill";
378
+ none: "none";
379
+ contain: "contain";
380
+ cover: "cover";
381
+ "scale-down": "scale-down";
382
+ }>>;
383
+ }, z.core.$strip>;
384
+ type VideoAtomDataProps = z.infer<typeof VideoAtomDataProps>;
385
+ /**
386
+ * Props interface for the VideoAtom component
387
+ * Extends base renderable props with video-specific data
388
+ */
389
+ interface VideoAtomProps extends BaseRenderableProps {
390
+ data: VideoAtomDataProps;
391
+ }
392
+ /**
393
+ * VideoAtom Component
394
+ *
395
+ * A Remotion component that renders video with advanced control features:
396
+ * - Time-based trimming (start/end points)
397
+ * - Playback rate and volume control
398
+ * - Flexible styling and object fit options
399
+ * - Loop functionality
400
+ *
401
+ * @param data - Video configuration object containing all playback and styling settings
402
+ * @returns Remotion Video component with applied configurations
403
+ */
404
+ declare const Atom$2: React$1.FC<VideoAtomProps>;
405
+ declare const config$8: ComponentConfig;
406
+
407
+ declare const AudioAtomDataProps: z.ZodObject<{
408
+ src: z.ZodString;
409
+ startFrom: z.ZodOptional<z.ZodNumber>;
410
+ endAt: z.ZodOptional<z.ZodNumber>;
411
+ volume: z.ZodOptional<z.ZodNumber>;
412
+ playbackRate: z.ZodOptional<z.ZodNumber>;
413
+ muted: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
414
+ type: z.ZodLiteral<"full">;
415
+ value: z.ZodBoolean;
416
+ }, z.core.$strip>, z.ZodObject<{
417
+ type: z.ZodLiteral<"range">;
418
+ values: z.ZodArray<z.ZodObject<{
419
+ start: z.ZodNumber;
420
+ end: z.ZodNumber;
421
+ }, z.core.$strip>>;
422
+ }, z.core.$strip>]>>;
423
+ }, z.core.$strip>;
424
+ type AudioAtomDataProps = z.infer<typeof AudioAtomDataProps>;
425
+ /**
426
+ * Props interface for the AudioAtom component
427
+ * Extends base renderable props with audio-specific data
428
+ */
429
+ interface AudioAtomProps extends BaseRenderableProps {
430
+ data: AudioAtomDataProps;
431
+ }
432
+ /**
433
+ * AudioAtom Component
434
+ *
435
+ * A Remotion component that renders audio with advanced control features:
436
+ * - Time-based trimming (start/end points)
437
+ * - Volume and playback rate control
438
+ * - Flexible muting (full track or specific time ranges)
439
+ *
440
+ * @param data - Audio configuration object containing all playback settings
441
+ * @returns Remotion Audio component with applied configurations
442
+ */
443
+ declare const Atom$1: React$1.FC<AudioAtomProps>;
444
+ declare const config$7: ComponentConfig;
445
+
446
+ declare const LottieAtomDataProps: z.ZodObject<{
447
+ src: z.ZodString;
448
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
449
+ className: z.ZodOptional<z.ZodString>;
450
+ loop: z.ZodOptional<z.ZodBoolean>;
451
+ playbackRate: z.ZodOptional<z.ZodNumber>;
452
+ direction: z.ZodOptional<z.ZodEnum<{
453
+ reverse: "reverse";
454
+ forward: "forward";
455
+ }>>;
456
+ }, z.core.$strip>;
457
+ type LottieAtomDataProps = z.infer<typeof LottieAtomDataProps>;
458
+ /**
459
+ * Props interface for the LottieAtom component
460
+ * Extends base renderable props with Lottie-specific data
461
+ */
462
+ interface LottieAtomProps extends BaseRenderableProps {
463
+ data: LottieAtomDataProps;
464
+ }
465
+ /**
466
+ * LottieAtom Component
467
+ *
468
+ * A Remotion component that renders Lottie animations with advanced control features:
469
+ * - Supports both local and remote Lottie JSON files
470
+ * - Playback rate control for speed adjustments
471
+ * - Direction control (forward/reverse)
472
+ * - Flexible styling options
473
+ * - Integration with Remotion's animation effects system
474
+ *
475
+ * @param data - Lottie configuration object containing all playback and styling settings
476
+ * @param id - Unique identifier for the component (used for animation effects)
477
+ * @returns Remotion Lottie component with applied configurations
478
+ */
479
+ declare const Atom: React$1.FC<LottieAtomProps>;
480
+ /**
481
+ * Static configuration for LottieAtom
482
+ * Used for component registration and identification
483
+ */
484
+ declare const config$6: ComponentConfig;
485
+
486
+ interface AnimationRange {
487
+ key: string;
488
+ val: any;
489
+ prog: number;
490
+ }
491
+ interface UniversalEffectData {
492
+ start?: number;
493
+ duration?: number;
494
+ type?: 'spring' | 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out';
495
+ ranges?: AnimationRange[];
496
+ targetIds?: string[];
497
+ mode?: 'wrapper' | 'provider';
498
+ props?: any;
499
+ [key: string]: any;
500
+ }
501
+ interface UniversalEffectContextType {
502
+ animatedStyles: React$1.CSSProperties;
503
+ targetIds: string[];
504
+ effectType: string;
505
+ }
506
+ declare const useUniversalEffect: () => UniversalEffectContextType;
507
+ declare const useUniversalEffectOptional: () => UniversalEffectContextType;
508
+ declare const useHasUniversalEffectProvider: () => boolean;
509
+
510
+ declare const UniversalEffect: React$1.FC<BaseRenderableProps & {
511
+ effectType?: string;
512
+ customAnimationLogic?: (effectData: UniversalEffectData, progress: number, frame: number) => React$1.CSSProperties;
513
+ }>;
514
+ declare const UniversalEffectProvider: React$1.FC<{
515
+ children: ReactNode;
516
+ data: UniversalEffectData;
517
+ effectType?: string;
518
+ customAnimationLogic?: (effectData: UniversalEffectData, progress: number, frame: number) => React$1.CSSProperties;
519
+ id?: string;
520
+ componentId?: string;
521
+ type?: string;
522
+ }>;
523
+ declare const useAnimatedStyles: (componentId: string) => React$1.CSSProperties;
524
+
525
+ declare const BlurEffect: React$1.FC<BaseRenderableProps>;
526
+ declare const config$5: {
527
+ displayName: string;
528
+ description: string;
529
+ isInnerSequence: boolean;
530
+ props: {
531
+ intensity: {
532
+ type: string;
533
+ default: number;
534
+ description: string;
535
+ };
536
+ direction: {
537
+ type: string;
538
+ values: string[];
539
+ default: string;
540
+ description: string;
541
+ };
542
+ };
543
+ };
544
+
545
+ declare const LoopEffect: React$1.FC<BaseRenderableProps>;
546
+ declare const config$4: ComponentConfig;
547
+
548
+ interface PanEffectData {
549
+ effectTiming?: 'start' | 'end';
550
+ panDuration?: number | string;
551
+ panStart?: number;
552
+ panEnd?: number;
553
+ panStartDelay?: number | string;
554
+ panEndDelay?: number | string;
555
+ panDirection?: 'left' | 'right' | 'up' | 'down' | 'diagonal' | 'custom';
556
+ panDistance?: number | [number, number][];
557
+ loopTimes?: number;
558
+ panStartPosition?: [number, number] | string;
559
+ panEndPosition?: [number, number] | string;
560
+ animationType?: 'linear' | 'spring' | 'ease-in' | 'ease-out' | 'ease-in-out';
561
+ }
562
+ declare const PanEffect: React$1.FC<BaseRenderableProps>;
563
+ declare const config$3: ComponentConfig;
564
+
565
+ interface ZoomEffectData {
566
+ effectTiming?: 'start' | 'end';
567
+ zoomDuration?: number | string;
568
+ zoomStart?: number;
569
+ zoomEnd?: number;
570
+ zoomStartDelay?: number | string;
571
+ zoomEndDelay?: number | string;
572
+ zoomDirection?: 'in' | 'out';
573
+ zoomDepth?: number | [number, number][];
574
+ loopTimes?: number;
575
+ zoomPosition?: [number, number] | string;
576
+ animationType?: 'linear' | 'spring' | 'ease-in' | 'ease-out' | 'ease-in-out';
577
+ }
578
+ declare const ZoomEffect: React$1.FC<BaseRenderableProps>;
579
+ declare const config$2: ComponentConfig;
580
+
581
+ interface ShakeEffectData extends UniversalEffectData {
582
+ amplitude?: number;
583
+ frequency?: number;
584
+ decay?: boolean;
585
+ axis?: 'x' | 'y' | 'both';
586
+ }
587
+ declare const ShakeEffect: React$1.FC<BaseRenderableProps>;
588
+ declare const config$1: {
589
+ displayName: string;
590
+ description: string;
591
+ isInnerSequence: boolean;
592
+ props: {
593
+ amplitude: {
594
+ type: string;
595
+ default: number;
596
+ description: string;
597
+ };
598
+ frequency: {
599
+ type: string;
600
+ default: number;
601
+ description: string;
602
+ };
603
+ decay: {
604
+ type: string;
605
+ default: boolean;
606
+ description: string;
607
+ };
608
+ axis: {
609
+ type: string;
610
+ values: string[];
611
+ default: string;
612
+ description: string;
613
+ };
614
+ };
615
+ };
616
+
617
+ interface StretchEffectData extends UniversalEffectData {
618
+ stretchFrom?: number;
619
+ stretchTo?: number;
620
+ springConfig?: {
621
+ stiffness?: number;
622
+ damping?: number;
623
+ mass?: number;
624
+ };
625
+ }
626
+ declare const StretchEffect: React$1.FC<BaseRenderableProps>;
627
+ declare const config: {
628
+ displayName: string;
629
+ description: string;
630
+ isInnerSequence: boolean;
631
+ props: {
632
+ stretchFrom: {
633
+ type: string;
634
+ default: number;
635
+ description: string;
636
+ };
637
+ stretchTo: {
638
+ type: string;
639
+ default: number;
640
+ description: string;
641
+ };
642
+ };
643
+ };
644
+
645
+ declare const GenericEffectPresets: {
646
+ fadeInPreset: AnimationRange[];
647
+ fadeOutPreset: AnimationRange[];
648
+ scaleInPreset: AnimationRange[];
649
+ scaleOutPreset: AnimationRange[];
650
+ slideInLeftPreset: AnimationRange[];
651
+ slideInRightPreset: AnimationRange[];
652
+ slideInTopPreset: AnimationRange[];
653
+ slideInBottomPreset: AnimationRange[];
654
+ bouncePreset: AnimationRange[];
655
+ pulsePreset: AnimationRange[];
656
+ rotateInPreset: AnimationRange[];
657
+ blurInPreset: AnimationRange[];
658
+ fadeInScalePreset: AnimationRange[];
659
+ slideInFadePreset: AnimationRange[];
660
+ slideInLeftStringPreset: AnimationRange[];
661
+ slideInRightStringPreset: AnimationRange[];
662
+ slideInTopStringPreset: AnimationRange[];
663
+ slideInBottomStringPreset: AnimationRange[];
664
+ rotateInStringPreset: AnimationRange[];
665
+ blurInStringPreset: AnimationRange[];
666
+ scaleInStringPreset: AnimationRange[];
667
+ slideInLeftResponsivePreset: AnimationRange[];
668
+ slideInTopResponsivePreset: AnimationRange[];
669
+ backgroundColorPreset: AnimationRange[];
670
+ borderRadiusPreset: AnimationRange[];
671
+ boxShadowPreset: AnimationRange[];
672
+ fontSizePreset: AnimationRange[];
673
+ letterSpacingPreset: AnimationRange[];
674
+ lineHeightPreset: AnimationRange[];
675
+ textShadowPreset: AnimationRange[];
676
+ widthPreset: AnimationRange[];
677
+ heightPreset: AnimationRange[];
678
+ marginPreset: AnimationRange[];
679
+ paddingPreset: AnimationRange[];
680
+ morphingCardPreset: AnimationRange[];
681
+ textRevealPreset: AnimationRange[];
682
+ };
683
+
684
+ type GenericEffectData = UniversalEffectData;
685
+
686
+ declare const useComponentRegistry: () => {
687
+ registerComponent: any;
688
+ registerPackage: any;
689
+ getComponent: any;
690
+ getAllComponents: any;
691
+ };
692
+
693
+ interface UseBoundaryCalculationProps {
694
+ parentBoundaries: {
695
+ x: number;
696
+ y: number;
697
+ width: number;
698
+ height: number;
699
+ };
700
+ constraints: BoundaryConstraints;
701
+ layout?: LayoutConstraints;
702
+ }
703
+ declare const useBoundaryCalculation: ({ parentBoundaries, constraints, layout, }: UseBoundaryCalculationProps) => {
704
+ x: number;
705
+ y: number;
706
+ width: number;
707
+ height: number;
708
+ zIndex: number;
709
+ };
710
+
711
+ declare function buildLayoutHook<T extends z.ZodSchema>(schema: T, defaultValue: z.infer<T>): () => z.core.output<T>;
712
+
713
+ interface FontConfig {
714
+ family: string;
715
+ weights?: string[];
716
+ subsets?: string[];
717
+ display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
718
+ preload?: boolean;
719
+ }
720
+ interface FontLoadingOptions {
721
+ subsets?: string[];
722
+ weights?: string[];
723
+ display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
724
+ preload?: boolean;
725
+ }
726
+ /**
727
+ * Load a Google Font dynamically using dynamic imports
728
+ * @param fontFamily - The font family name (e.g., 'Inter', 'Roboto')
729
+ * @param options - Font loading options
730
+ * @returns Promise that resolves with the fontFamily CSS value
731
+ */
732
+ declare const loadGoogleFont: (fontFamily: string, options?: FontLoadingOptions) => Promise<string>;
733
+ /**
734
+ * Load multiple fonts in parallel
735
+ * @param fonts - Array of font configurations
736
+ * @returns Promise that resolves with a map of font family names to CSS values
737
+ */
738
+ declare const loadMultipleFonts: (fonts: Array<{
739
+ family: string;
740
+ options?: FontLoadingOptions;
741
+ }>) => Promise<Map<string, string>>;
742
+ /**
743
+ * Get font family CSS value from cache
744
+ * @param fontFamily - The font family name
745
+ * @param options - Font loading options
746
+ * @returns CSS font-family value or undefined if not loaded
747
+ */
748
+ declare const getLoadedFontFamily: (fontFamily: string, options?: FontLoadingOptions) => string | undefined;
749
+ /**
750
+ * Preload common fonts for better performance
751
+ */
752
+ declare const preloadCommonFonts: () => Promise<Map<string, string>>;
753
+ /**
754
+ * Check if a font is already loaded
755
+ * @param fontFamily - The font family name
756
+ * @param options - Font loading options
757
+ * @returns boolean indicating if font is loaded
758
+ */
759
+ declare const isFontLoaded: (fontFamily: string, options?: FontLoadingOptions) => boolean;
760
+ /**
761
+ * Clear font cache (useful for testing or memory management)
762
+ */
763
+ declare const clearFontCache: () => void;
764
+ /**
765
+ * Get all loaded fonts
766
+ * @returns Map of loaded fonts
767
+ */
768
+ declare const getLoadedFonts: () => Map<string, string>;
769
+ /**
770
+ * Check if a font is available in @remotion/google-fonts
771
+ * @param fontFamily - The font family name to check
772
+ * @returns Promise that resolves to boolean indicating if font is available
773
+ */
774
+ declare const isFontAvailable: (fontFamily: string) => Promise<boolean>;
775
+ /**
776
+ * Get normalized font name for import
777
+ * @param fontFamily - The font family name
778
+ * @returns Normalized font name suitable for import
779
+ */
780
+ declare const getNormalizedFontName: (fontFamily: string) => string;
781
+
782
+ interface UseFontLoaderOptions {
783
+ preload?: boolean;
784
+ onLoad?: (fontFamily: string, cssValue: string) => void;
785
+ onError?: (fontFamily: string, error: Error) => void;
786
+ }
787
+ interface FontLoaderState {
788
+ loadedFonts: Map<string, string>;
789
+ loadingFonts: Set<string>;
790
+ errorFonts: Map<string, Error>;
791
+ }
792
+ /**
793
+ * Hook for managing dynamic font loading in Remotion components
794
+ */
795
+ declare const useFontLoader: (options?: UseFontLoaderOptions) => {
796
+ loadedFonts: Map<string, string>;
797
+ loadingFonts: Set<string>;
798
+ errorFonts: Map<string, Error>;
799
+ loadFont: (fontFamily: string, fontOptions?: FontLoadingOptions) => Promise<string>;
800
+ loadMultipleFonts: (fonts: Array<{
801
+ family: string;
802
+ options?: FontLoadingOptions;
803
+ }>) => Promise<Map<string, string>>;
804
+ isFontReady: (fontFamily: string, options?: FontLoadingOptions) => boolean;
805
+ areFontsReady: (fontFamilies: Array<{
806
+ family: string;
807
+ options?: FontLoadingOptions;
808
+ }>) => boolean;
809
+ getFontFamily: (fontFamily: string, options?: FontLoadingOptions) => string | undefined;
810
+ getFontError: (fontFamily: string) => Error | undefined;
811
+ clearErrors: () => void;
812
+ };
813
+ /**
814
+ * Hook for loading a single font with automatic loading and delayRender support
815
+ */
816
+ declare const useFont: (fontFamily: string, options?: FontLoadingOptions & UseFontLoaderOptions) => {
817
+ loadedFonts: Map<string, string>;
818
+ loadingFonts: Set<string>;
819
+ errorFonts: Map<string, Error>;
820
+ loadMultipleFonts: (fonts: Array<{
821
+ family: string;
822
+ options?: FontLoadingOptions;
823
+ }>) => Promise<Map<string, string>>;
824
+ areFontsReady: (fontFamilies: Array<{
825
+ family: string;
826
+ options?: FontLoadingOptions;
827
+ }>) => boolean;
828
+ clearErrors: () => void;
829
+ isLoaded: boolean;
830
+ error: Error;
831
+ isReady: boolean;
832
+ fontFamily: string;
833
+ };
834
+
835
+ declare const createRootContext: (width: number, height: number, duration: number, fps: number) => RenderableContext;
836
+ declare const mergeContexts: (parent: RenderableContext, child: Partial<RenderableContext>) => RenderableContext;
837
+
838
+ declare const calculateGridPosition: (index: number, columns: number, cellWidth: number, cellHeight: number, spacing: number) => {
839
+ x: number;
840
+ y: number;
841
+ width: number;
842
+ height: number;
843
+ };
844
+ declare const calculateCircularPosition: (index: number, total: number, radius: number, centerX: number, centerY: number) => {
845
+ x: number;
846
+ y: number;
847
+ };
848
+
849
+ /**
850
+ * Image Proxy Utilities
851
+ *
852
+ * Helper functions for working with image proxying in Remotion components
853
+ */
854
+ /**
855
+ * Creates a proxy URL for an external image
856
+ * @param imageUrl - The original image URL
857
+ * @param proxyEndpoint - The proxy endpoint (defaults to local API)
858
+ * @returns The proxied URL
859
+ */
860
+ declare const createImageProxyUrl: (imageUrl: string, proxyEndpoint?: string) => string;
861
+ /**
862
+ * Creates image data with proxy fallback
863
+ * @param src - The original image source
864
+ * @param proxyEndpoint - Optional custom proxy endpoint
865
+ * @returns Image data object with proxySrc configured
866
+ */
867
+ declare const createImageDataWithProxy: (src: string, proxyEndpoint?: string) => {
868
+ src: string;
869
+ proxySrc: string;
870
+ style: {};
871
+ className: string;
872
+ };
873
+ /**
874
+ * Checks if a URL needs proxying (external HTTP/HTTPS URLs)
875
+ * @param url - The URL to check
876
+ * @returns True if the URL needs proxying
877
+ */
878
+ declare const needsProxying: (url: string) => boolean;
879
+
880
+ /**
881
+ * Finds a component in the root data by its ID
882
+ */
883
+ declare const findComponentById: (root: RenderableComponentData[] | undefined, targetId: string) => RenderableComponentData | null;
884
+ /**
885
+ * Finds the parent component of a given component
886
+ */
887
+ declare const findParentComponent: (root: RenderableComponentData[] | undefined, targetId: string) => RenderableComponentData | null;
888
+ /**
889
+ * Calculates the hierarchy for a component based on its position in the root data
890
+ */
891
+ declare const calculateHierarchy: (root: RenderableComponentData[] | undefined, componentId: string, currentContext?: RenderableContext) => Hierarchy;
892
+ /**
893
+ * Calculates timing for a component, inheriting from parent if duration is not provided
894
+ */
895
+ declare const calculateTimingWithInheritance: (component: RenderableComponentData, root: RenderableComponentData[] | undefined, videoConfig: VideoConfig) => CalculatedTiming;
896
+
897
+ declare const NextjsLogo: React$1.FC;
898
+ declare const nextjsLogoConfig: ComponentConfig;
899
+
900
+ declare const Rings: React$1.FC<{
901
+ context?: RenderableContext;
902
+ data?: RenderableData;
903
+ }>;
904
+ declare const ringsConfig: ComponentConfig;
905
+
906
+ interface LayoutProps$1 extends BaseRenderableProps {
907
+ children: React$1.ReactNode | React$1.ReactNode[];
908
+ }
909
+
910
+ declare const RippleOutTransitionSchema: z.ZodObject<{
911
+ progress: z.ZodNumber;
912
+ logoOut: z.ZodNumber;
913
+ }, z.core.$strip>;
914
+ declare const useRippleOutLayout: () => {
915
+ progress: number;
916
+ logoOut: number;
917
+ };
918
+ type RippleOutTransitionData = z.infer<typeof RippleOutTransitionSchema>;
919
+ declare const RippleOutLayout: React$1.FC<LayoutProps$1>;
920
+ declare const rippleOutLayoutConfig: ComponentConfig;
921
+
922
+ interface LayoutProps extends BaseRenderableProps {
923
+ children?: React$1.ReactNode;
924
+ }
925
+ declare const TextFade: (props: LayoutProps) => React$1.JSX.Element;
926
+ declare const textFadeConfig: ComponentConfig;
927
+
928
+ interface WaveformConfig {
929
+ audioSrc: string;
930
+ useFrequencyData?: boolean;
931
+ numberOfSamples?: number;
932
+ windowInSeconds?: number;
933
+ dataOffsetInSeconds?: number;
934
+ normalize?: boolean;
935
+ height?: number;
936
+ width?: number;
937
+ color?: string;
938
+ strokeWidth?: number;
939
+ backgroundColor?: string;
940
+ amplitude?: number;
941
+ smoothing?: boolean;
942
+ posterize?: number;
943
+ }
944
+ interface WaveformContextType {
945
+ waveformData: number[] | null;
946
+ frequencyData: number[] | null;
947
+ amplitudes: number[] | null;
948
+ audioData: any;
949
+ frame: number;
950
+ fps: number;
951
+ config: WaveformConfig;
952
+ width: number;
953
+ height: number;
954
+ bass: number | null;
955
+ mid: number | null;
956
+ treble: number | null;
957
+ bassValues?: number[] | null;
958
+ midValues?: number[] | null;
959
+ trebleValues?: number[] | null;
960
+ }
961
+ declare const useWaveformContext: () => WaveformContextType;
962
+ interface WaveformProps {
963
+ config: WaveformConfig;
964
+ children?: ReactNode;
965
+ className?: string;
966
+ style?: React$1.CSSProperties;
967
+ }
968
+ declare const Waveform: React$1.FC<WaveformProps>;
969
+
970
+ interface UseWaveformDataConfig {
971
+ audioSrc: string;
972
+ numberOfSamples: number;
973
+ windowInSeconds: number;
974
+ dataOffsetInSeconds?: number;
975
+ normalize?: boolean;
976
+ frame: number;
977
+ fps: number;
978
+ posterize?: number;
979
+ includeFrequencyData?: boolean;
980
+ minDb?: number;
981
+ maxDb?: number;
982
+ }
983
+ interface UseWaveformDataReturn {
984
+ waveformData: number[] | null;
985
+ frequencyData: number[] | null;
986
+ amplitudes: number[] | null;
987
+ audioData: any;
988
+ isLoading: boolean;
989
+ error: string | null;
990
+ bass: number | null;
991
+ bassValues?: number[] | null;
992
+ mid: number | null;
993
+ midValues?: number[] | null;
994
+ treble: number | null;
995
+ trebleValues?: number[] | null;
996
+ }
997
+ declare const useWaveformData: (config: UseWaveformDataConfig) => UseWaveformDataReturn;
998
+
999
+ interface WaveformLineDataProps {
1000
+ config: WaveformConfig & {
1001
+ useFrequencyData?: boolean;
1002
+ };
1003
+ className?: string;
1004
+ style?: React$1.CSSProperties;
1005
+ strokeColor?: string;
1006
+ strokeWidth?: number;
1007
+ strokeLinecap?: 'butt' | 'round' | 'square';
1008
+ strokeLinejoin?: 'miter' | 'round' | 'bevel';
1009
+ fill?: string;
1010
+ opacity?: number;
1011
+ centerLine?: boolean;
1012
+ centerLineColor?: string;
1013
+ centerLineWidth?: number;
1014
+ beatSync?: boolean;
1015
+ bpm?: number;
1016
+ beatThreshold?: number;
1017
+ beatAmplitudeMultiplier?: number;
1018
+ beatAnimationDuration?: number;
1019
+ smoothAnimation?: boolean;
1020
+ waveSpacing?: number;
1021
+ waveSegments?: number;
1022
+ waveOffset?: number;
1023
+ waveDirection?: 'horizontal' | 'vertical';
1024
+ amplitudeCurve?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce';
1025
+ animationSpeed?: number;
1026
+ pulseOnBeat?: boolean;
1027
+ pulseColor?: string;
1028
+ pulseScale?: number;
1029
+ }
1030
+ interface WaveformLineProps extends BaseRenderableData {
1031
+ data: WaveformLineDataProps;
1032
+ }
1033
+ declare const WaveformLine: React$1.FC<WaveformLineProps>;
1034
+
1035
+ interface WaveformHistogramDataProps {
1036
+ config: any;
1037
+ className?: string;
1038
+ style?: React$1.CSSProperties;
1039
+ barColor?: string;
1040
+ barWidth?: number;
1041
+ barSpacing?: number;
1042
+ barBorderRadius?: number;
1043
+ opacity?: number;
1044
+ multiplier?: number;
1045
+ horizontalSymmetry?: boolean;
1046
+ verticalMirror?: boolean;
1047
+ waveDirection?: 'right-to-left' | 'left-to-right';
1048
+ histogramStyle?: 'centered' | 'full-width';
1049
+ amplitude?: number;
1050
+ gradientStartColor?: string;
1051
+ gradientEndColor?: string;
1052
+ gradientDirection?: 'vertical' | 'horizontal';
1053
+ gradientStyle?: 'mirrored' | 'normal';
1054
+ }
1055
+ interface WaveformHistogramProps extends BaseRenderableData {
1056
+ data: WaveformHistogramDataProps;
1057
+ }
1058
+ declare const WaveformHistogram: React$1.FC<WaveformHistogramProps>;
1059
+
1060
+ interface WaveformHistogramRangedDataProps {
1061
+ config: any;
1062
+ className?: string;
1063
+ style?: React$1.CSSProperties;
1064
+ barColor?: string;
1065
+ barWidth?: number;
1066
+ barSpacing?: number;
1067
+ barBorderRadius?: number;
1068
+ opacity?: number;
1069
+ horizontalSymmetry?: boolean;
1070
+ verticalMirror?: boolean;
1071
+ histogramStyle?: 'centered' | 'full-width';
1072
+ waveDirection?: 'right-to-left' | 'left-to-right';
1073
+ amplitude?: number;
1074
+ showFrequencyRanges?: boolean;
1075
+ rangeDividerColor?: string;
1076
+ rangeLabels?: boolean;
1077
+ bassBarColor?: string;
1078
+ midBarColor?: string;
1079
+ trebleBarColor?: string;
1080
+ gradientStartColor?: string;
1081
+ gradientEndColor?: string;
1082
+ gradientDirection?: 'vertical' | 'horizontal';
1083
+ gradientStyle?: 'mirrored' | 'normal';
1084
+ }
1085
+ interface WaveformHistogramRangedProps extends BaseRenderableData {
1086
+ data: WaveformHistogramRangedDataProps;
1087
+ }
1088
+ declare const WaveformHistogramRanged: React$1.FC<WaveformHistogramRangedProps>;
1089
+
1090
+ interface WaveformCircleDataProps {
1091
+ config: any;
1092
+ className?: string;
1093
+ style?: React$1.CSSProperties;
1094
+ strokeColor?: string;
1095
+ strokeWidth?: number;
1096
+ fill?: string;
1097
+ opacity?: number;
1098
+ radius?: number;
1099
+ centerX?: number;
1100
+ centerY?: number;
1101
+ startAngle?: number;
1102
+ endAngle?: number;
1103
+ amplitude?: number;
1104
+ rotationSpeed?: number;
1105
+ gradientStartColor?: string;
1106
+ gradientEndColor?: string;
1107
+ }
1108
+ interface WaveformCircleProps extends BaseRenderableData {
1109
+ data: WaveformCircleDataProps;
1110
+ }
1111
+ declare const WaveformCircle: React$1.FC<WaveformCircleProps>;
1112
+
1113
+ declare const WaveformPresets: {
1114
+ stopgapLine: (props: WaveformLineDataProps) => {
1115
+ componentId: string;
1116
+ type: string;
1117
+ data: {
1118
+ config: {
1119
+ audioSrc: string;
1120
+ useFrequencyData?: boolean;
1121
+ numberOfSamples: number;
1122
+ windowInSeconds: number;
1123
+ dataOffsetInSeconds?: number;
1124
+ normalize?: boolean;
1125
+ height: number;
1126
+ width: number;
1127
+ color?: string;
1128
+ strokeWidth?: number;
1129
+ backgroundColor?: string;
1130
+ amplitude: number;
1131
+ smoothing?: boolean;
1132
+ posterize: number;
1133
+ };
1134
+ className?: string;
1135
+ style?: React.CSSProperties;
1136
+ strokeColor: string;
1137
+ strokeWidth: number;
1138
+ strokeLinecap: string;
1139
+ strokeLinejoin?: "miter" | "round" | "bevel";
1140
+ fill?: string;
1141
+ opacity: number;
1142
+ centerLine?: boolean;
1143
+ centerLineColor?: string;
1144
+ centerLineWidth?: number;
1145
+ beatSync?: boolean;
1146
+ bpm?: number;
1147
+ beatThreshold?: number;
1148
+ beatAmplitudeMultiplier?: number;
1149
+ beatAnimationDuration?: number;
1150
+ smoothAnimation: boolean;
1151
+ waveSpacing?: number;
1152
+ waveSegments?: number;
1153
+ waveOffset?: number;
1154
+ waveDirection?: "horizontal" | "vertical";
1155
+ amplitudeCurve: string;
1156
+ animationSpeed: number;
1157
+ pulseOnBeat?: boolean;
1158
+ pulseColor?: string;
1159
+ pulseScale?: number;
1160
+ };
1161
+ };
1162
+ };
1163
+
1164
+ export { type AnimationRange, Atom$1 as AudioAtom, config$7 as AudioAtomConfig, AudioAtomDataProps, type BaseComponentData, type BaseEffect, Layout as BaseLayout, config$c as BaseLayoutConfig, type BaseRenderableData, type BaseRenderableProps, BlurEffect, config$5 as BlurEffectConfig, type Boundaries, type BoundaryConstraints, type CalculatedBoundaries, type CalculatedTiming, type ComponentConfig, type ComponentRegistry, ComponentRenderer, type ComponentType, Composition, type CompositionContext, CompositionLayout, CompositionProvider, type FontConfig, type FontLoaderState, type FontLoadingOptions, Frame, type GenericEffectData, GenericEffectPresets, type Hierarchy, Atom$4 as ImageAtom, config$a as ImageAtomConfig, type InputCompositionProps, type InternalRenderableContext, type LayoutConstraints, LoopEffect, config$4 as LoopEffectConfig, Atom as LottieAtom, config$6 as LottieAtomConfig, LottieAtomDataProps, NextjsLogo, type PackageRegistry, PanEffect, config$3 as PanEffectConfig, type PanEffectData, Player, type RegistryEntry, type RenderableComponentData, type RenderableContext, type RenderableData, Rings, RippleOutLayout, type RippleOutTransitionData, SceneFrame, ShakeEffect, config$1 as ShakeEffectConfig, type ShakeEffectData, Atom$5 as ShapeAtom, config$b as ShapeAtomConfig, StretchEffect, config as StretchEffectConfig, type StretchEffectData, Atom$3 as TextAtom, config$9 as TextAtomConfig, type TextAtomData, TextFade, type Timing, type TimingConstraints, UniversalEffect, type UniversalEffectData, UniversalEffectProvider, type UseFontLoaderOptions, type UseWaveformDataConfig, type UseWaveformDataReturn, Atom$2 as VideoAtom, config$8 as VideoAtomConfig, VideoAtomDataProps, Waveform, WaveformCircle, type WaveformCircleDataProps, type WaveformCircleProps, type WaveformConfig, type WaveformContextType, WaveformHistogram, type WaveformHistogramDataProps, type WaveformHistogramProps, WaveformHistogramRanged, type WaveformHistogramRangedDataProps, type WaveformHistogramRangedProps, WaveformLine, type WaveformLineDataProps, type WaveformLineProps, WaveformPresets, type WaveformProps, ZoomEffect, config$2 as ZoomEffectConfig, type ZoomEffectData, buildLayoutHook, calculateCircularPosition, calculateComponentDuration, calculateCompositionLayoutMetadata, calculateDuration, calculateGridPosition, calculateHierarchy, calculateTimingWithInheritance, clearFontCache, componentRegistry, createImageDataWithProxy, createImageProxyUrl, createRootContext, findComponentById, findMatchingComponents, findMatchingComponentsByQuery, findParentComponent, getComponent, getComponentConfig, getComponentWithConfig, getLoadedFontFamily, getLoadedFonts, getNormalizedFontName, isFontAvailable, isFontLoaded, loadGoogleFont, loadMultipleFonts, mergeContexts, needsProxying, nextjsLogoConfig, preloadCommonFonts, registerComponent, registerEffect, registerPackage, ringsConfig, rippleOutLayoutConfig, setDurationsInContext, textFadeConfig, useAnimatedStyles, useBoundaryCalculation, useComponentRegistry, useComposition, useFont, useFontLoader, useHasUniversalEffectProvider, useRenderContext, useRippleOutLayout, useUniversalEffect, useUniversalEffectOptional, useWaveformContext, useWaveformData };