UNPKG

2.13 kBTypeScriptView Raw
1import React, { LazyExoticComponent } from 'react';
2import { LooseAnyComponent } from './any-component';
3export declare type TComposition<T = unknown> = {
4 width: number;
5 height: number;
6 fps: number;
7 durationInFrames: number;
8 id: string;
9 component: LazyExoticComponent<LooseAnyComponent<T>>;
10 defaultProps: T | undefined;
11 nonce: number;
12};
13export declare type TCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames' | 'defaultProps'>;
14declare type EnhancedTSequenceData = {
15 type: 'sequence';
16} | {
17 type: 'audio';
18 src: string;
19 volume: string | number;
20 doesVolumeChange: boolean;
21 startMediaFrom: number;
22} | {
23 type: 'video';
24 src: string;
25 volume: string | number;
26 doesVolumeChange: boolean;
27 startMediaFrom: number;
28};
29export declare type TSequence = {
30 from: number;
31 duration: number;
32 id: string;
33 displayName: string;
34 parent: string | null;
35 rootId: string;
36 showInTimeline: boolean;
37 nonce: number;
38 showLoopTimesInTimeline: number | undefined;
39} & EnhancedTSequenceData;
40export declare type TAsset = {
41 type: 'audio' | 'video';
42 src: string;
43 id: string;
44 frame: number;
45 volume: number;
46 isRemote: boolean;
47 mediaFrame: number;
48 playbackRate: number;
49};
50export declare type RenderAssetInfo = {
51 assets: TAsset[][];
52 bundleDir: string;
53};
54export declare type CompositionManagerContext = {
55 compositions: TComposition[];
56 registerComposition: <T>(comp: TComposition<T>) => void;
57 unregisterComposition: (name: string) => void;
58 currentComposition: string | null;
59 setCurrentComposition: (curr: string) => void;
60 registerSequence: (seq: TSequence) => void;
61 unregisterSequence: (id: string) => void;
62 registerAsset: (asset: TAsset) => void;
63 unregisterAsset: (id: string) => void;
64 sequences: TSequence[];
65 assets: TAsset[];
66};
67export declare const CompositionManager: React.Context<CompositionManagerContext>;
68export declare const CompositionManagerProvider: React.FC;
69export {};
70//# sourceMappingURL=CompositionManager.d.ts.map
\No newline at end of file