import { type Flags } from "../utils/cli.js"; export type YamlNode = string | number | boolean | null | YamlNode[] | { [k: string]: YamlNode; }; export declare class YamlError extends Error { line: number; constructor(msg: string, line: number); } export declare function parseYaml(src: string): YamlNode; export interface SrtEntry { index: number; start_us: number; end_us: number; text: string; } export declare function parseSrt(src: string): SrtEntry[]; export interface KenBurnsSpec { from: number; to: number; curve?: string; } export interface ImageSpec { path: string; duration: string; ken_burns?: KenBurnsSpec; } export interface AudioSpec { path: string; volume?: number; } export interface CaptionStyle { font_size?: number; color?: string; align?: number; } export interface CaptionsSpec { srt: string; style?: CaptionStyle; } export interface Manifest { title: string; resolution: { width: number; height: number; }; fps: number; seed?: string | number; images: ImageSpec[]; voice?: AudioSpec; music?: AudioSpec; captions?: CaptionsSpec; } export declare function validateManifest(raw: YamlNode): Manifest; export declare function parseDurationToUs(s: string): number; export declare function makeSeededUuid(seed: string | number): () => string; export interface PsychoBuildResult { draftPath: string; filePath: string; metaInfoPath: string; draftInfoPath: string; total_duration_us: number; images: number; voice: boolean; music: boolean; captions: number; seeded: boolean; registered: boolean; registerRootMetaPath?: string; } export interface PsychoBuildRegisterOpts { register: boolean; projectsRoot?: string; } export declare function psychoBuild(manifestPath: string, outOpt: string | undefined, seedOpt: string | undefined, registerOpt?: PsychoBuildRegisterOpts): PsychoBuildResult; export declare function cmdPsychoBuild(positional: string[], flags: Flags): void;