UNPKG

editia-core

Version:

Core services and utilities for Editia applications - Authentication, Monetization, Video Generation Types, and Database Management

60 lines 2.43 kB
/** * Unified Video Template Service * Consolidates video template operations with validation */ import type { VideoType, CaptionConfiguration, ScenePlan, TemplateValidationResult } from './types'; /** * Service for managing video templates with comprehensive validation */ export declare class VideoTemplateService { /** * Validates a video template with caption and duration checks * * @param scriptText - The script text to validate against * @param selectedVideos - Videos selected for the template * @param captionConfig - Caption configuration * @returns Validation result with warnings and errors */ static validateTemplate(scriptText: string, selectedVideos: VideoType[], captionConfig: CaptionConfiguration): TemplateValidationResult; /** * Generates a scene plan for video template * Removes caption elements if captions are disabled * * @param scriptText - The script text * @param selectedVideos - Videos to use in template * @param captionConfig - Caption configuration * @returns Array of scene plans */ static generateScenePlan(scriptText: string, selectedVideos: VideoType[], captionConfig: CaptionConfiguration): ScenePlan[]; /** * Processes template configuration by removing captions if disabled * * @param template - Base template configuration * @param captionConfig - Caption configuration * @returns Processed template with captions removed if disabled */ static processTemplate(template: any, captionConfig: CaptionConfiguration): any; /** * Gets Y position for caption placement * * @param placement - Caption placement option * @returns Y coordinate for caption positioning */ private static getCaptionYPosition; /** * Validates script length against available video durations * * @param scriptText - The script text * @param videos - Available videos * @returns Whether the script can be accommodated by the videos */ static canAccommodateScript(scriptText: string, videos: VideoType[]): boolean; /** * Gets recommended video duration for a given script * * @param scriptText - The script text * @returns Recommended minimum video duration in seconds */ static getRecommendedDuration(scriptText: string): number; } //# sourceMappingURL=template-service.d.ts.map