1 | import React, { ComponentType, LazyExoticComponent } from 'react';
|
2 | export declare type TComposition<T = unknown> = {
|
3 | width: number;
|
4 | height: number;
|
5 | fps: number;
|
6 | durationInFrames: number;
|
7 | id: string;
|
8 | folderName: string | null;
|
9 | parentFolderName: string | null;
|
10 | component: LazyExoticComponent<ComponentType<T>>;
|
11 | defaultProps: T | undefined;
|
12 | nonce: number;
|
13 | };
|
14 | export declare type TCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames' | 'defaultProps'>;
|
15 | export declare type SmallTCompMetadata = Pick<TComposition, 'id' | 'height' | 'width' | 'fps' | 'durationInFrames'>;
|
16 | declare type EnhancedTSequenceData = {
|
17 | type: 'sequence';
|
18 | } | {
|
19 | type: 'audio';
|
20 | src: string;
|
21 | volume: string | number;
|
22 | doesVolumeChange: boolean;
|
23 | startMediaFrom: number;
|
24 | } | {
|
25 | type: 'video';
|
26 | src: string;
|
27 | volume: string | number;
|
28 | doesVolumeChange: boolean;
|
29 | startMediaFrom: number;
|
30 | };
|
31 | export declare type TSequence = {
|
32 | from: number;
|
33 | duration: number;
|
34 | id: string;
|
35 | displayName: string;
|
36 | parent: string | null;
|
37 | rootId: string;
|
38 | showInTimeline: boolean;
|
39 | nonce: number;
|
40 | showLoopTimesInTimeline: number | undefined;
|
41 | } & EnhancedTSequenceData;
|
42 | export declare type TAsset = {
|
43 | type: 'audio' | 'video';
|
44 | src: string;
|
45 | id: string;
|
46 | frame: number;
|
47 | volume: number;
|
48 | mediaFrame: number;
|
49 | playbackRate: number;
|
50 | };
|
51 | export declare type RenderAssetInfo = {
|
52 | assets: TAsset[][];
|
53 | imageSequenceName: string;
|
54 | firstFrameIndex: number;
|
55 | downloadDir: string;
|
56 | };
|
57 | export declare type CompositionManagerContext = {
|
58 | compositions: TComposition[];
|
59 | registerComposition: <T>(comp: TComposition<T>) => void;
|
60 | unregisterComposition: (name: string) => void;
|
61 | registerFolder: (name: string, parent: string | null) => void;
|
62 | unregisterFolder: (name: string, parent: string | null) => void;
|
63 | currentComposition: string | null;
|
64 | setCurrentComposition: (curr: string) => void;
|
65 | registerSequence: (seq: TSequence) => void;
|
66 | unregisterSequence: (id: string) => void;
|
67 | registerAsset: (asset: TAsset) => void;
|
68 | unregisterAsset: (id: string) => void;
|
69 | sequences: TSequence[];
|
70 | assets: TAsset[];
|
71 | folders: TFolder[];
|
72 | };
|
73 | export declare const CompositionManager: React.Context<CompositionManagerContext>;
|
74 | export declare const compositionsRef: React.RefObject<{
|
75 | getCompositions: () => TCompMetadata[];
|
76 | }>;
|
77 | export declare type TFolder = {
|
78 | name: string;
|
79 | parent: string | null;
|
80 | };
|
81 | export declare const CompositionManagerProvider: React.FC<{
|
82 | children: React.ReactNode;
|
83 | }>;
|
84 | export {};
|