import { MediaProcessStatusEnum } from '../../../index'; import { UndoGroup, UndoRecord } from '../../undo'; /** * Canonical event names emitted by the SDK event bus. */ export declare enum EventsEnum { READY = "ready", PLAYING = "playing", LOG = "log", ERROR = "error", TIME = "time", RENDER_COMPLETED = "render:completed", RENDER_ERROR = "render:error", RENDER_CANCELED = "render:canceled", LAYER_ADDED = "layer:added", LAYER_REMOVED = "layer:removed", LAYER_UPDATED = "layer:updated", LAYER_PROPERTY_UPDATED = "layer:property:updated", LAYER_ERROR = "layer:error", LAYERS_ORDER_UPDATED = "layers:order:updated", TRANSITION_ADDED = "transition:added", TRANSITION_REMOVED = "transition:removed", TRANSITION_UPDATED = "transition:updated", TRANSITION_ERROR = "transition:error", CLIP_ADDED = "clip:added", CLIP_REMOVED = "clip:removed", CLIP_UPDATED = "clip:updated", CLIP_UPDATED_TEXT = "clip:updated:text", CLIP_ERROR = "clip:error", CLIP_STYLE_UPDATED = "clip:style:updated", CLIP_FILTER_ADDED = "clip:filter:added", CLIP_FILTER_REMOVED = "clip:filter:removed", CLIP_FILTER_UPDATED = "clip:filter:updated", CLIP_EFFECT_ADDED = "clip:effect:added", CLIP_EFFECT_REMOVED = "clip:effect:removed", CLIP_EFFECT_UPDATED = "clip:effect:updated", CLIP_LOTTIE_PROPERTY_UPDATED = "clip:lottie-property:updated", CLIP_ANIMATION_UPDATED = "clip:animation:updated", CLIP_KEYFRAME_CHANGED = "clip:keyframe:changed", LIBRARY_ADDED = "library:added", LIBRARY_REMOVED = "library:removed", LIBRARY_REPLACED = "library:replaced", LIBRARY_ERROR = "library:error", LIBRARY_MEDIA_UPDATED = "library:media:updated", LIBRARY_MEDIA_SAMPLES_UPDATED = "library:media:samples:updated", LIBRARY_MEDIA_FILMSTRIP_UPDATED = "library:media:filmstrip:updated", LIBRARY_MEDIA_READY = "library:media:ready",// This is called when media is loaded and is part of the library! LIBRARY_PROGRESS = "library:progress", LIBRARY_EFFECT_ADDED = "library:effect:added",// To Libary LIBRARY_EFFECT_REMOVED = "library:effect:removed",// From Library LIBRARY_FILTER_ADDED = "library:filter:added", LIBRARY_FILTER_REMOVED = "library:filter:removed", LIBRARY_TRANSITION_ADDED = "library:transition:added", LIBRARY_TRANSITION_REMOVED = "library:transition:removed", SUBTITLES_ADDED = "subtitles:added", SUBTITLES_REMOVED = "subtitles:removed", SUBTITLES_MAIN_STYLE_UPDATED = "subtitles:main-style:updated", SUBTITLES_HIGHLIGHTED_STYLE_UPDATED = "subtitles:highlighted-style:updated", SUBTITLES_ANIMATION_UPDATED = "subtitles:animation:updated", SUBTITLES_TEXT_MODE_UPDATED = "subtitles:text-mode:updated", SUBTITLES_TRANSFORM_UPDATED = "subtitles:transform:updated", SUBTITLES_CONTENT_UPDATED = "subtitles:content:updated",// Refers to textBlocks, when a mass text block update happens SUBTITLES_DURATION_UPDATED = "subtitles:duration:updated", SUBTITLES_TEXTBLOCK_ADDED = "subtitles:textblock:added", SUBTITLES_TEXTBLOCK_REMOVED = "subtitles:textblock:removed", SUBTITLES_TEXTBLOCK_UPDATED = "subtitles:textblock:updated", TRANSITION_PROPERTY_CHANGED = "transition:property:changed", FONT_ADDED = "font:added", FONT_REMOVED = "font:removed", FONT_ERROR = "font:error", DISPLAY_RESOLUTION_UPDATED = "display:resolution:updated", DISPLAY_BACKGROUND_UPDATED = "display:background:updated", UNDO_REDO_CHANGED = "undo:redo:changed", UNDO_PERFORMED = "undo:performed", REDO_PERFORMED = "redo:performed", UNDO_PROCESS_CUSTOM = "undo:process:custom", PROJECT_ID_CHANGED = "project:id:changed" } /** * Payload contract for each event emitted by the SDK event bus. * * A payload of `undefined` means the event carries no payload object. */ export type EventPayloadMap = { [EventsEnum.READY]: undefined; [EventsEnum.PLAYING]: { isPlaying: boolean; }; [EventsEnum.LOG]: { name: string; message: string; }; [EventsEnum.ERROR]: { name: string; message: string; }; [EventsEnum.TIME]: number; [EventsEnum.RENDER_COMPLETED]: undefined; [EventsEnum.RENDER_CANCELED]: undefined; [EventsEnum.RENDER_ERROR]: { name: string; message: string; }; [EventsEnum.LAYER_ADDED]: { layerId: string; }; [EventsEnum.LAYER_REMOVED]: { layerId: string; }; [EventsEnum.LAYER_UPDATED]: { layerId: string; }; [EventsEnum.LAYER_PROPERTY_UPDATED]: { layerId: string; property: string; value: unknown; }; [EventsEnum.LAYER_ERROR]: { layerId: string; name: string; message: string; }; [EventsEnum.LAYERS_ORDER_UPDATED]: { layersIds: string[]; }; [EventsEnum.TRANSITION_ADDED]: { layerId: string; transitionId: string; }; [EventsEnum.TRANSITION_REMOVED]: { layerId: string; transitionId: string; }; [EventsEnum.TRANSITION_UPDATED]: { transitionId: string; }; [EventsEnum.TRANSITION_ERROR]: { transitionId: string; name: string; message: string; }; [EventsEnum.CLIP_ADDED]: { clipId: string; }; [EventsEnum.CLIP_REMOVED]: { clipId: string; layerId: string; }; [EventsEnum.CLIP_UPDATED]: { clipId: string; }; [EventsEnum.CLIP_UPDATED_TEXT]: { clipId: string; text: string; }; [EventsEnum.CLIP_ERROR]: { clipId: string; name: string; message: string; }; [EventsEnum.CLIP_STYLE_UPDATED]: { clipId: string; property: string; value: unknown; }; [EventsEnum.CLIP_FILTER_ADDED]: { clipId: string; id: string; filterId: string; }; [EventsEnum.CLIP_FILTER_REMOVED]: { clipId: string; id: string; filterId: string; }; [EventsEnum.CLIP_FILTER_UPDATED]: { clipId: string; id: string; filterId: string; }; [EventsEnum.CLIP_EFFECT_ADDED]: { clipId: string; id: string; effectId: string; }; [EventsEnum.CLIP_EFFECT_REMOVED]: { clipId: string; id: string; effectId: string; }; [EventsEnum.CLIP_ANIMATION_UPDATED]: { clipId: string; }; [EventsEnum.CLIP_KEYFRAME_CHANGED]: { clipId: string; property?: string; }; [EventsEnum.CLIP_LOTTIE_PROPERTY_UPDATED]: { clipId: string; propertyId: string; }; [EventsEnum.LIBRARY_ADDED]: { mediaDataId: string; }; [EventsEnum.LIBRARY_REMOVED]: { mediaDataId: string; }; [EventsEnum.LIBRARY_REPLACED]: { mediaDataId: string; }; [EventsEnum.LIBRARY_ERROR]: { mediaDataId: string; error: Error; }; [EventsEnum.LIBRARY_MEDIA_UPDATED]: { mediaDataId: string; status: string; }; [EventsEnum.LIBRARY_MEDIA_SAMPLES_UPDATED]: { mediaDataId: string; status: MediaProcessStatusEnum; }; [EventsEnum.LIBRARY_MEDIA_FILMSTRIP_UPDATED]: { mediaDataId: string; status: MediaProcessStatusEnum; }; [EventsEnum.LIBRARY_MEDIA_READY]: { mediaDataId: string; }; [EventsEnum.LIBRARY_PROGRESS]: { mediaDataId: string; status: string; progress: number; }; [EventsEnum.SUBTITLES_ADDED]: { subtitlesId: string; }; [EventsEnum.SUBTITLES_REMOVED]: { subtitlesId: string; }; [EventsEnum.SUBTITLES_MAIN_STYLE_UPDATED]: undefined; [EventsEnum.SUBTITLES_HIGHLIGHTED_STYLE_UPDATED]: undefined; [EventsEnum.SUBTITLES_ANIMATION_UPDATED]: undefined; [EventsEnum.SUBTITLES_TEXT_MODE_UPDATED]: undefined; [EventsEnum.SUBTITLES_TRANSFORM_UPDATED]: undefined; [EventsEnum.SUBTITLES_CONTENT_UPDATED]: { subtitlesId: string; }; [EventsEnum.SUBTITLES_DURATION_UPDATED]: { subtitlesId: string; duration: number; }; [EventsEnum.SUBTITLES_TEXTBLOCK_ADDED]: { subtitlesId: string; index: number; }; [EventsEnum.SUBTITLES_TEXTBLOCK_REMOVED]: { subtitlesId: string; index: number; }; [EventsEnum.SUBTITLES_TEXTBLOCK_UPDATED]: { subtitlesId: string; index: number; }; [EventsEnum.LIBRARY_EFFECT_ADDED]: { effectId: string; }; [EventsEnum.LIBRARY_EFFECT_REMOVED]: { effectId: string; }; [EventsEnum.LIBRARY_FILTER_ADDED]: { filterId: string; }; [EventsEnum.LIBRARY_FILTER_REMOVED]: { filterId: string; }; [EventsEnum.LIBRARY_TRANSITION_ADDED]: { transitionId: string; }; [EventsEnum.LIBRARY_TRANSITION_REMOVED]: { transitionId: string; }; [EventsEnum.CLIP_EFFECT_UPDATED]: { clipId: string; id: string; property: string; value: any; }; [EventsEnum.TRANSITION_PROPERTY_CHANGED]: { id: string; property: string; value: any; }; [EventsEnum.FONT_ADDED]: { fontId: string; }; [EventsEnum.FONT_REMOVED]: { fontId: string; }; [EventsEnum.FONT_ERROR]: { fontId: string; name: string; message: string; }; [EventsEnum.DISPLAY_BACKGROUND_UPDATED]: { backgroundColor: string; }; [EventsEnum.DISPLAY_RESOLUTION_UPDATED]: { width: number; height: number; }; [EventsEnum.UNDO_REDO_CHANGED]: { canUndo: boolean; canRedo: boolean; }; [EventsEnum.UNDO_PERFORMED]: { group: UndoGroup; }; [EventsEnum.REDO_PERFORMED]: { group: UndoGroup; }; [EventsEnum.UNDO_PROCESS_CUSTOM]: { undoRecord: UndoRecord; redoGroup: UndoGroup; }; [EventsEnum.PROJECT_ID_CHANGED]: { projectId: string; }; }; type EventEmitterValidEventType = T extends undefined ? () => void : (payload: T) => void; /** * Mapping from event names to listener signatures understood by the typed event emitter. */ export type EventEmitterValidEventTypes = { [K in keyof EventPayloadMap]: EventEmitterValidEventType; }; export {};