@rendley/sdk 1.0.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.
Files changed (80) hide show
  1. package/LICENSE +48 -0
  2. package/README.md +40 -0
  3. package/dist/Engine.d.ts +118 -0
  4. package/dist/config/config.d.ts +6 -0
  5. package/dist/index.cjs +1 -0
  6. package/dist/index.d.ts +6 -0
  7. package/dist/index.js +1 -0
  8. package/dist/libs/ffmpeg/classes.d.ts +201 -0
  9. package/dist/libs/ffmpeg/config.d.ts +2 -0
  10. package/dist/libs/ffmpeg/const.d.ts +37 -0
  11. package/dist/libs/ffmpeg/empty.d.mts +3 -0
  12. package/dist/libs/ffmpeg/errors.d.ts +4 -0
  13. package/dist/libs/ffmpeg/fetchFile.d.ts +1 -0
  14. package/dist/libs/ffmpeg/index.d.ts +1 -0
  15. package/dist/libs/ffmpeg/types.d.ts +175 -0
  16. package/dist/libs/ffmpeg/utils.d.ts +4 -0
  17. package/dist/libs/ffmpeg/worker.d.ts +10 -0
  18. package/dist/modules/clip/Clip.d.ts +206 -0
  19. package/dist/modules/clip/ClipStyle.d.ts +92 -0
  20. package/dist/modules/clip/clips/audio/AudioClip.d.ts +36 -0
  21. package/dist/modules/clip/clips/gif/GifClip.d.ts +27 -0
  22. package/dist/modules/clip/clips/image/ImageClip.d.ts +16 -0
  23. package/dist/modules/clip/clips/index.d.ts +4 -0
  24. package/dist/modules/clip/clips/shape/ShapeClip.d.ts +43 -0
  25. package/dist/modules/clip/clips/shape/ShapeSprite.d.ts +9 -0
  26. package/dist/modules/clip/clips/shape/ShapeStyle.d.ts +27 -0
  27. package/dist/modules/clip/clips/text/TextClip.d.ts +42 -0
  28. package/dist/modules/clip/clips/text/TextSprite.d.ts +7 -0
  29. package/dist/modules/clip/clips/text/TextStyle.d.ts +69 -0
  30. package/dist/modules/clip/clips/video/VideoClip.d.ts +48 -0
  31. package/dist/modules/clip/index.d.ts +2 -0
  32. package/dist/modules/clip/utils/generateRawData.d.ts +1 -0
  33. package/dist/modules/display/Display.d.ts +42 -0
  34. package/dist/modules/display/index.d.ts +1 -0
  35. package/dist/modules/display/renderer/PixiRenderer.d.ts +16 -0
  36. package/dist/modules/display/utils/WebCodecsVideoFrameResource.d.ts +7 -0
  37. package/dist/modules/display/utils/registerSelectionEvents.d.ts +12 -0
  38. package/dist/modules/event-emitter/EventEmitter.d.ts +4 -0
  39. package/dist/modules/event-emitter/index.d.ts +2 -0
  40. package/dist/modules/event-emitter/types/EventEmitter.types.d.ts +179 -0
  41. package/dist/modules/ffmpeg/FFmpeg.d.ts +11 -0
  42. package/dist/modules/ffmpeg/types/FFmpeg.types.d.ts +32 -0
  43. package/dist/modules/filter/Effect.d.ts +36 -0
  44. package/dist/modules/filter/Filter.d.ts +52 -0
  45. package/dist/modules/filter/effects/OldFilmEffect.d.ts +2 -0
  46. package/dist/modules/filter/effects/WaveEffect.d.ts +2 -0
  47. package/dist/modules/filter/filters/VintageFilter.d.ts +2 -0
  48. package/dist/modules/filter/index.d.ts +2 -0
  49. package/dist/modules/filter/utils/removeShaderNameLine.d.ts +1 -0
  50. package/dist/modules/font-registry/FontRegistry.d.ts +22 -0
  51. package/dist/modules/font-registry/index.d.ts +1 -0
  52. package/dist/modules/layer/Layer.d.ts +278 -0
  53. package/dist/modules/layer/index.d.ts +1 -0
  54. package/dist/modules/library/Library.d.ts +117 -0
  55. package/dist/modules/library/MediaData.d.ts +50 -0
  56. package/dist/modules/library/Subtitles.d.ts +71 -0
  57. package/dist/modules/library/index.d.ts +1 -0
  58. package/dist/modules/library/types/MediaData.types.d.ts +7 -0
  59. package/dist/modules/subtitleManager/SubtitleManager.d.ts +9 -0
  60. package/dist/modules/subtitleManager/index.d.ts +1 -0
  61. package/dist/modules/timeline/Timeline.d.ts +372 -0
  62. package/dist/modules/timeline/index.d.ts +1 -0
  63. package/dist/modules/transition/Transition.d.ts +76 -0
  64. package/dist/modules/transition/index.d.ts +1 -0
  65. package/dist/types/clip.types.d.ts +18 -0
  66. package/dist/types/index.d.ts +1 -0
  67. package/dist/utils/browser/getIosVersion.d.ts +1 -0
  68. package/dist/utils/browser/isIos.d.ts +1 -0
  69. package/dist/utils/browser/isIosSafari.d.ts +1 -0
  70. package/dist/utils/color/getSolidColorFromGradient.d.ts +1 -0
  71. package/dist/utils/color/parseGradient.d.ts +7 -0
  72. package/dist/utils/core/emitEvent.d.ts +4 -0
  73. package/dist/utils/file/fileToArrayBuffer.d.ts +1 -0
  74. package/dist/utils/file/getFilenameFromResponse.d.ts +1 -0
  75. package/dist/utils/file/toBlobURL.d.ts +1 -0
  76. package/dist/utils/log.d.ts +7 -0
  77. package/dist/utils/math/calculateFitScale.d.ts +1 -0
  78. package/dist/utils/math/clampValue.d.ts +1 -0
  79. package/dist/utils/texture/createGradientTexture.d.ts +2 -0
  80. package/package.json +75 -0
@@ -0,0 +1,179 @@
1
+ export declare enum EventsEnum {
2
+ READY = "ready",
3
+ PLAYING = "playing",
4
+ LOG = "log",
5
+ ERROR = "error",
6
+ TIME = "time",
7
+ RENDER_COMPLETED = "render:completed",
8
+ RENDER_ERROR = "render:error",
9
+ LAYER_ADDED = "layer:added",
10
+ LAYER_REMOVED = "layer:removed",
11
+ LAYER_UPDATED = "layer:updated",
12
+ LAYER_ERROR = "layer:error",
13
+ LAYERS_ORDER_UPDATED = "layers:order:updated",
14
+ TRANSITION_ADDED = "transition:added",
15
+ TRANSITION_REMOVED = "transition:removed",
16
+ TRANSITION_UPDATED = "transition:updated",
17
+ TRANSITION_ERROR = "transition:error",
18
+ CLIP_ADDED = "clip:added",
19
+ CLIP_REMOVED = "clip:removed",
20
+ CLIP_UPDATED = "clip:updated",
21
+ CLIP_UPDATED_TEXT = "clip:updated:text",
22
+ CLIP_ERROR = "clip:error",
23
+ CLIP_STYLE_UPDATED = "clip:style:updated",
24
+ CLIP_FILTER_ADDED = "clip:filter:added",
25
+ CLIP_FILTER_REMOVED = "clip:filter:removed",
26
+ CLIP_EFFECT_ADDED = "clip:effect:added",
27
+ CLIP_EFFECT_REMOVED = "clip:effect:removed",
28
+ GALLERY_ADDED = "gallery:added",
29
+ GALLERY_REMOVED = "gallery:removed",
30
+ GALLERY_ERROR = "gallery:error",
31
+ GALLERY_MEDIA_UPDATED = "gallery:media:updated",
32
+ SUBTITLES_ADDED = "subtitles:added",
33
+ SUBTITLES_REMOVED = "subtitles:removed",
34
+ FONT_ADDED = "font:added",
35
+ FONT_REMOVED = "font:removed",
36
+ FONT_ERROR = "font:error",
37
+ DISPLAY_RESOLUTION_UPDATED = "display:resolution:updated",
38
+ DISPLAY_BACKGROUND_UPDATED = "display:background:updated"
39
+ }
40
+ export type EventPayloadMap = {
41
+ [EventsEnum.READY]: undefined;
42
+ [EventsEnum.PLAYING]: {
43
+ isPlaying: boolean;
44
+ };
45
+ [EventsEnum.LOG]: {
46
+ name: string;
47
+ message: string;
48
+ };
49
+ [EventsEnum.ERROR]: {
50
+ name: string;
51
+ message: string;
52
+ };
53
+ [EventsEnum.TIME]: number;
54
+ [EventsEnum.RENDER_COMPLETED]: undefined;
55
+ [EventsEnum.RENDER_ERROR]: {
56
+ name: string;
57
+ message: string;
58
+ };
59
+ [EventsEnum.LAYER_ADDED]: {
60
+ layerId: string;
61
+ };
62
+ [EventsEnum.LAYER_REMOVED]: {
63
+ layerId: string;
64
+ };
65
+ [EventsEnum.LAYER_UPDATED]: {
66
+ layerId: string;
67
+ };
68
+ [EventsEnum.LAYER_ERROR]: {
69
+ layerId: string;
70
+ name: string;
71
+ message: string;
72
+ };
73
+ [EventsEnum.LAYERS_ORDER_UPDATED]: {
74
+ layersIds: string[];
75
+ };
76
+ [EventsEnum.TRANSITION_ADDED]: {
77
+ layerId: string;
78
+ transitionId: string;
79
+ };
80
+ [EventsEnum.TRANSITION_REMOVED]: {
81
+ layerId: string;
82
+ transitionId: string;
83
+ };
84
+ [EventsEnum.TRANSITION_UPDATED]: {
85
+ transitionId: string;
86
+ };
87
+ [EventsEnum.TRANSITION_ERROR]: {
88
+ transitionId: string;
89
+ name: string;
90
+ message: string;
91
+ };
92
+ [EventsEnum.CLIP_ADDED]: {
93
+ clipId: string;
94
+ };
95
+ [EventsEnum.CLIP_REMOVED]: {
96
+ clipId: string;
97
+ layerId: string;
98
+ };
99
+ [EventsEnum.CLIP_UPDATED]: {
100
+ clipId: string;
101
+ };
102
+ [EventsEnum.CLIP_UPDATED_TEXT]: {
103
+ clipId: string;
104
+ text: string;
105
+ };
106
+ [EventsEnum.CLIP_ERROR]: {
107
+ clipId: string;
108
+ name: string;
109
+ message: string;
110
+ };
111
+ [EventsEnum.CLIP_STYLE_UPDATED]: {
112
+ clipId: string;
113
+ property: string;
114
+ value: unknown;
115
+ };
116
+ [EventsEnum.CLIP_FILTER_ADDED]: {
117
+ clipId: string;
118
+ filterId: string;
119
+ sourceId: string;
120
+ };
121
+ [EventsEnum.CLIP_FILTER_REMOVED]: {
122
+ clipId: string;
123
+ filterId: string;
124
+ sourceId: string;
125
+ };
126
+ [EventsEnum.CLIP_EFFECT_ADDED]: {
127
+ clipId: string;
128
+ effectId: string;
129
+ sourceId: string;
130
+ };
131
+ [EventsEnum.CLIP_EFFECT_REMOVED]: {
132
+ clipId: string;
133
+ effectId: string;
134
+ sourceId: string;
135
+ };
136
+ [EventsEnum.GALLERY_ADDED]: {
137
+ mediaDataId: string;
138
+ };
139
+ [EventsEnum.GALLERY_REMOVED]: {
140
+ mediaDataId: string;
141
+ };
142
+ [EventsEnum.GALLERY_ERROR]: {
143
+ mediaDataId: string;
144
+ error: Error;
145
+ };
146
+ [EventsEnum.GALLERY_MEDIA_UPDATED]: {
147
+ mediaDataId: string;
148
+ status: string;
149
+ };
150
+ [EventsEnum.SUBTITLES_ADDED]: {
151
+ subtitlesId: string;
152
+ };
153
+ [EventsEnum.SUBTITLES_REMOVED]: {
154
+ subtitlesId: string;
155
+ };
156
+ [EventsEnum.FONT_ADDED]: {
157
+ fontId: string;
158
+ };
159
+ [EventsEnum.FONT_REMOVED]: {
160
+ fontId: string;
161
+ };
162
+ [EventsEnum.FONT_ERROR]: {
163
+ fontId: string;
164
+ name: string;
165
+ message: string;
166
+ };
167
+ [EventsEnum.DISPLAY_BACKGROUND_UPDATED]: {
168
+ backgroundColor: string;
169
+ };
170
+ [EventsEnum.DISPLAY_RESOLUTION_UPDATED]: {
171
+ width: number;
172
+ height: number;
173
+ };
174
+ };
175
+ type EventEmitterValidEventType<T> = T extends undefined ? () => void : (payload: T) => void;
176
+ export type EventEmitterValidEventTypes = {
177
+ [K in keyof EventPayloadMap]: EventEmitterValidEventType<EventPayloadMap[K]>;
178
+ };
179
+ export {};
@@ -0,0 +1,11 @@
1
+ import { FFmpeg as RootFFmpeg } from '../../libs/ffmpeg';
2
+ import { FFMessageLoadConfig } from '../../libs/ffmpeg/types';
3
+ declare class FFmpeg {
4
+ private static instance;
5
+ private ffmpeg;
6
+ private constructor();
7
+ static getInstance(): FFmpeg;
8
+ initialize(config: FFMessageLoadConfig): Promise<boolean | undefined>;
9
+ getFFmpeg(): RootFFmpeg;
10
+ }
11
+ export { FFmpeg };
@@ -0,0 +1,32 @@
1
+ export interface MediaInfo {
2
+ type: string;
3
+ status: string;
4
+ path: string;
5
+ format: string;
6
+ duration: number;
7
+ streamCount: number;
8
+ streams: MediaInfoStream[];
9
+ averageFps: number;
10
+ thumbnail: Uint8Array;
11
+ wasConverted?: boolean;
12
+ }
13
+ export interface MediaInfoStream {
14
+ index: number;
15
+ type: string;
16
+ codec: string;
17
+ codecRFC6381: string;
18
+ extradata?: Uint8Array;
19
+ bitrate: number;
20
+ format: number;
21
+ duration: number;
22
+ startTime: number;
23
+ width?: number;
24
+ height?: number;
25
+ codedWidth?: number;
26
+ codedHeight?: number;
27
+ rotation?: number;
28
+ averageFps?: number;
29
+ frameCount?: number;
30
+ sampleRate?: number;
31
+ channels?: number;
32
+ }
@@ -0,0 +1,36 @@
1
+ import * as PIXI from 'pixi.js';
2
+ export interface EffectOptions {
3
+ sourceId: string;
4
+ fragmentSrc?: string;
5
+ uniforms?: Record<string, unknown>;
6
+ textureWidth: number;
7
+ textureHeight: number;
8
+ frameWidth: number;
9
+ frameHeight: number;
10
+ }
11
+ export declare class Effect {
12
+ id: string;
13
+ private sourceId;
14
+ private options;
15
+ private pixiFilter;
16
+ constructor(options: EffectOptions);
17
+ getSourceId(): string;
18
+ getPixiFilter(): PIXI.Filter;
19
+ private lastUpdate;
20
+ updateUniformsFromSprite(sprite: PIXI.Sprite): void;
21
+ update(currentTime: number): void;
22
+ serialize(): {
23
+ name: string;
24
+ options: {
25
+ textureWidth: number;
26
+ textureHeight: number;
27
+ frameWidth: number;
28
+ frameHeight: number;
29
+ fragmentSrc?: string | undefined;
30
+ uniforms?: Record<string, unknown> | undefined;
31
+ };
32
+ id: string;
33
+ sourceId: string;
34
+ };
35
+ static deserialize(data: object): Effect;
36
+ }
@@ -0,0 +1,52 @@
1
+ import * as PIXI from 'pixi.js';
2
+ import { z } from 'zod';
3
+ export declare const FilterSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ name: z.ZodString;
6
+ sourceId: z.ZodString;
7
+ options: z.ZodObject<{
8
+ lutUrl: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ lutUrl: string;
11
+ }, {
12
+ lutUrl: string;
13
+ }>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ name: string;
16
+ options: {
17
+ lutUrl: string;
18
+ };
19
+ id: string;
20
+ sourceId: string;
21
+ }, {
22
+ name: string;
23
+ options: {
24
+ lutUrl: string;
25
+ };
26
+ id: string;
27
+ sourceId: string;
28
+ }>;
29
+ export interface FilterOptions {
30
+ lutUrl: string;
31
+ sourceId: string;
32
+ }
33
+ export declare class Filter {
34
+ id: string;
35
+ private sourceId;
36
+ lutUrl: string;
37
+ intensity: number;
38
+ private lutTexture;
39
+ private pixiFilter;
40
+ constructor(options: FilterOptions);
41
+ getSourceId(): string;
42
+ getPixiFilter(): PIXI.Filter;
43
+ serialize(): {
44
+ name: string;
45
+ options: {
46
+ lutUrl: string;
47
+ };
48
+ id: string;
49
+ sourceId: string;
50
+ };
51
+ static deserialize(data: object): Filter;
52
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export * from './Filter';
2
+ export * from './Effect';
@@ -0,0 +1 @@
1
+ export declare function removeShaderNameLine(shaderCode: string): string | undefined;
@@ -0,0 +1,22 @@
1
+ export declare class FontRegistry {
2
+ fonts: {
3
+ font: FontFace;
4
+ src: string;
5
+ }[];
6
+ constructor();
7
+ loadFromUrl(name: string, url: string, descriptors?: FontFaceDescriptors): Promise<void>;
8
+ loadFromCssUrl(name: string, cssUrl: string): Promise<void>;
9
+ private load;
10
+ offload(fontFamily: string): void;
11
+ serialize(): {
12
+ fonts: {
13
+ family: string;
14
+ src: string;
15
+ descriptors?: {
16
+ weight?: string | undefined;
17
+ style?: string | undefined;
18
+ } | undefined;
19
+ }[];
20
+ };
21
+ static deserialize(data: unknown): Promise<FontRegistry>;
22
+ }
@@ -0,0 +1 @@
1
+ export * from './FontRegistry';
@@ -0,0 +1,278 @@
1
+ import * as PIXI from 'pixi.js';
2
+ import { z } from 'zod';
3
+ import { AudioClipOptions, Clip, ImageClipOptions, TextClipOptions, VideoClipOptions } from '../clip';
4
+ import { GifClipOptions } from '../clip/clips/gif/GifClip';
5
+ import { ShapeClipOptions } from '../clip/clips/shape/ShapeClip';
6
+ import { Transition } from '../transition/Transition';
7
+ type ClipOptions = ImageClipOptions | VideoClipOptions | TextClipOptions | AudioClipOptions | GifClipOptions | ShapeClipOptions;
8
+ export type ClipTypeRange = Pick<ClipOptions, 'startTime' | 'duration'>;
9
+ export declare const LayerSchema: z.ZodObject<{
10
+ id: z.ZodString;
11
+ isEnabled: z.ZodBoolean;
12
+ isMuted: z.ZodBoolean;
13
+ clips: z.ZodArray<z.ZodObject<{
14
+ name: z.ZodString;
15
+ id: z.ZodString;
16
+ type: z.ZodString;
17
+ mediaDataId: z.ZodOptional<z.ZodString>;
18
+ subtitlesId: z.ZodOptional<z.ZodString>;
19
+ subtitlesOffset: z.ZodNumber;
20
+ startTime: z.ZodNumber;
21
+ duration: z.ZodNumber;
22
+ leftTrim: z.ZodNumber;
23
+ rightTrim: z.ZodNumber;
24
+ filters: z.ZodArray<z.ZodObject<{
25
+ id: z.ZodString;
26
+ name: z.ZodString;
27
+ sourceId: z.ZodString;
28
+ options: z.ZodObject<{
29
+ lutUrl: z.ZodString;
30
+ }, "strip", z.ZodTypeAny, {
31
+ lutUrl: string;
32
+ }, {
33
+ lutUrl: string;
34
+ }>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ name: string;
37
+ options: {
38
+ lutUrl: string;
39
+ };
40
+ id: string;
41
+ sourceId: string;
42
+ }, {
43
+ name: string;
44
+ options: {
45
+ lutUrl: string;
46
+ };
47
+ id: string;
48
+ sourceId: string;
49
+ }>, "many">;
50
+ effects: z.ZodArray<z.ZodUnknown, "many">;
51
+ warpMode: z.ZodNativeEnum<typeof import('../../types').WarmModeEnum>;
52
+ style: z.ZodUnknown;
53
+ text: z.ZodOptional<z.ZodString>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ name: string;
56
+ type: string;
57
+ id: string;
58
+ duration: number;
59
+ filters: {
60
+ name: string;
61
+ options: {
62
+ lutUrl: string;
63
+ };
64
+ id: string;
65
+ sourceId: string;
66
+ }[];
67
+ effects: unknown[];
68
+ subtitlesOffset: number;
69
+ startTime: number;
70
+ leftTrim: number;
71
+ rightTrim: number;
72
+ warpMode: import('../../types').WarmModeEnum;
73
+ mediaDataId?: string | undefined;
74
+ subtitlesId?: string | undefined;
75
+ style?: unknown;
76
+ text?: string | undefined;
77
+ }, {
78
+ name: string;
79
+ type: string;
80
+ id: string;
81
+ duration: number;
82
+ filters: {
83
+ name: string;
84
+ options: {
85
+ lutUrl: string;
86
+ };
87
+ id: string;
88
+ sourceId: string;
89
+ }[];
90
+ effects: unknown[];
91
+ subtitlesOffset: number;
92
+ startTime: number;
93
+ leftTrim: number;
94
+ rightTrim: number;
95
+ warpMode: import('../../types').WarmModeEnum;
96
+ mediaDataId?: string | undefined;
97
+ subtitlesId?: string | undefined;
98
+ style?: unknown;
99
+ text?: string | undefined;
100
+ }>, "many">;
101
+ transitions: z.ZodArray<z.ZodObject<{
102
+ id: z.ZodString;
103
+ name: z.ZodString;
104
+ startClipId: z.ZodString;
105
+ endClipId: z.ZodString;
106
+ inDuration: z.ZodNumber;
107
+ outDuration: z.ZodNumber;
108
+ transitionSrc: z.ZodString;
109
+ type: z.ZodLiteral<"transition">;
110
+ }, "strip", z.ZodTypeAny, {
111
+ name: string;
112
+ type: "transition";
113
+ id: string;
114
+ startClipId: string;
115
+ endClipId: string;
116
+ inDuration: number;
117
+ outDuration: number;
118
+ transitionSrc: string;
119
+ }, {
120
+ name: string;
121
+ type: "transition";
122
+ id: string;
123
+ startClipId: string;
124
+ endClipId: string;
125
+ inDuration: number;
126
+ outDuration: number;
127
+ transitionSrc: string;
128
+ }>, "many">;
129
+ }, "strip", z.ZodTypeAny, {
130
+ id: string;
131
+ isEnabled: boolean;
132
+ isMuted: boolean;
133
+ clips: {
134
+ name: string;
135
+ type: string;
136
+ id: string;
137
+ duration: number;
138
+ filters: {
139
+ name: string;
140
+ options: {
141
+ lutUrl: string;
142
+ };
143
+ id: string;
144
+ sourceId: string;
145
+ }[];
146
+ effects: unknown[];
147
+ subtitlesOffset: number;
148
+ startTime: number;
149
+ leftTrim: number;
150
+ rightTrim: number;
151
+ warpMode: import('../../types').WarmModeEnum;
152
+ mediaDataId?: string | undefined;
153
+ subtitlesId?: string | undefined;
154
+ style?: unknown;
155
+ text?: string | undefined;
156
+ }[];
157
+ transitions: {
158
+ name: string;
159
+ type: "transition";
160
+ id: string;
161
+ startClipId: string;
162
+ endClipId: string;
163
+ inDuration: number;
164
+ outDuration: number;
165
+ transitionSrc: string;
166
+ }[];
167
+ }, {
168
+ id: string;
169
+ isEnabled: boolean;
170
+ isMuted: boolean;
171
+ clips: {
172
+ name: string;
173
+ type: string;
174
+ id: string;
175
+ duration: number;
176
+ filters: {
177
+ name: string;
178
+ options: {
179
+ lutUrl: string;
180
+ };
181
+ id: string;
182
+ sourceId: string;
183
+ }[];
184
+ effects: unknown[];
185
+ subtitlesOffset: number;
186
+ startTime: number;
187
+ leftTrim: number;
188
+ rightTrim: number;
189
+ warpMode: import('../../types').WarmModeEnum;
190
+ mediaDataId?: string | undefined;
191
+ subtitlesId?: string | undefined;
192
+ style?: unknown;
193
+ text?: string | undefined;
194
+ }[];
195
+ transitions: {
196
+ name: string;
197
+ type: "transition";
198
+ id: string;
199
+ startClipId: string;
200
+ endClipId: string;
201
+ inDuration: number;
202
+ outDuration: number;
203
+ transitionSrc: string;
204
+ }[];
205
+ }>;
206
+ export declare class Layer {
207
+ id: string;
208
+ isEnabled: boolean;
209
+ isMuted: boolean;
210
+ clipsIds: string[];
211
+ clips: Record<string, Clip>;
212
+ transitions: Transition[];
213
+ container: PIXI.Container;
214
+ constructor();
215
+ init(): void;
216
+ destroy(): void;
217
+ addClip(options: Clip): Clip | null;
218
+ addClip(options: ClipOptions): Clip | null;
219
+ removeClip(clipId: string, shouldNotDestroy?: boolean): boolean;
220
+ moveClipToLayer(clipId: string, newLayerId: string): void;
221
+ splitClip(clipId: string, time: number): Clip | null;
222
+ addTransition(transition: Transition): void;
223
+ removeTransition(transitionId: string): void;
224
+ getDuration(): number;
225
+ hasEmptySpace(startTime: number, endTime: number): boolean;
226
+ getClipById(clipId: string): Clip | undefined;
227
+ getNextEmptySpace(startTime: number, endTime: number): number;
228
+ adjustClipsLayout(): void;
229
+ setZIndex(zIndex: number): void;
230
+ onPlay(currentTime: number): Promise<void>;
231
+ onPause(currentTime: number): void;
232
+ onResize(width: number, height: number): void;
233
+ update(currentTime: number): void;
234
+ render(currentTime: number): PIXI.Container<PIXI.DisplayObject>;
235
+ isEmpty(): boolean;
236
+ private createClip;
237
+ serialize(): {
238
+ id: string;
239
+ isEnabled: boolean;
240
+ isMuted: boolean;
241
+ clips: {
242
+ name: string;
243
+ type: string;
244
+ id: string;
245
+ duration: number;
246
+ filters: {
247
+ name: string;
248
+ options: {
249
+ lutUrl: string;
250
+ };
251
+ id: string;
252
+ sourceId: string;
253
+ }[];
254
+ effects: unknown[];
255
+ subtitlesOffset: number;
256
+ startTime: number;
257
+ leftTrim: number;
258
+ rightTrim: number;
259
+ warpMode: import('../../types').WarmModeEnum;
260
+ mediaDataId?: string | undefined;
261
+ subtitlesId?: string | undefined;
262
+ style?: unknown;
263
+ text?: string | undefined;
264
+ }[];
265
+ transitions: {
266
+ name: string;
267
+ type: "transition";
268
+ id: string;
269
+ startClipId: string;
270
+ endClipId: string;
271
+ inDuration: number;
272
+ outDuration: number;
273
+ transitionSrc: string;
274
+ }[];
275
+ };
276
+ static deserialize(data: object): Layer;
277
+ }
278
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Layer';