import type { ScenePluginMetadata, ThemePluginMetadata, TransitionPluginMetadata, VideoResourceDescriptor, VideoResourceMetadata, } from './video-resource.ts' import { ScenePluginMetadataSchema, ThemePluginMetadataSchema, TransitionPluginMetadataSchema, } from './video-resource.ts' import { videoResourceDescriptorDefinitions } from './video-resource-descriptors.ts' export { videoResourceDescriptorDefinitions } export type VideoResourceDescriptorDefinition = (typeof videoResourceDescriptorDefinitions)[number] export const sceneResourceDescriptor: VideoResourceDescriptor = { kind: 'scene', annotationName: 'VideoComponent', metadataFactoryName: 'defineScenePluginMetadata', schema: ScenePluginMetadataSchema, } export const transitionResourceDescriptor: VideoResourceDescriptor = { kind: 'transition', annotationName: 'TransitionComponent', metadataFactoryName: 'defineTransitionPluginMetadata', schema: TransitionPluginMetadataSchema, } export const themeResourceDescriptor: VideoResourceDescriptor = { kind: 'theme', annotationName: 'ThemeComponent', metadataFactoryName: 'defineThemePluginMetadata', schema: ThemePluginMetadataSchema, } export const videoResourceDescriptors = [ sceneResourceDescriptor, transitionResourceDescriptor, themeResourceDescriptor, ] as const satisfies readonly VideoResourceDescriptor[]