UNPKG

remotion

Version:

Make videos programmatically

41 lines (40 loc) 1.76 kB
import type React from 'react'; import type { AnyZodObject } from './any-zod-type.js'; import type { AnyComposition, TComposition } from './CompositionManager.js'; import type { TFolder } from './Folder.js'; import type { VideoConfig } from './video-config.js'; export type BaseMetadata = Pick<VideoConfig, 'durationInFrames' | 'fps' | 'props' | 'height' | 'width' | 'defaultCodec' | 'defaultOutName' | 'defaultVideoImageFormat' | 'defaultPixelFormat' | 'defaultProResProfile'>; export type CanvasContent = { type: 'composition'; compositionId: string; } | { type: 'asset'; asset: string; } | { type: 'output'; path: string; } | { type: 'output-blob'; displayName: string; getBlob: () => Promise<Blob>; width: number; height: number; sizeInBytes: number; }; export type CompositionManagerSetters = { registerComposition: <Schema extends AnyZodObject, Props extends Record<string, unknown>>(comp: TComposition<Schema, Props>) => void; unregisterComposition: (name: string) => void; registerFolder: (name: string, parent: string | null) => void; unregisterFolder: (name: string, parent: string | null) => void; setCanvasContent: React.Dispatch<React.SetStateAction<CanvasContent | null>>; updateCompositionDefaultProps: (id: string, newDefaultProps: Record<string, unknown>) => void; onlyRenderComposition: string | null; }; export type CompositionManagerContext = { compositions: AnyComposition[]; currentCompositionMetadata: BaseMetadata | null; folders: TFolder[]; canvasContent: CanvasContent | null; }; export declare const CompositionManager: React.Context<CompositionManagerContext>; export declare const CompositionSetters: React.Context<CompositionManagerSetters>;