/** One video clip placed on the primary storyline. */ export interface TimelineSegment { /** Path to the video file (mp4). */ path: string; /** Display label. */ label: string; /** Duration in seconds. */ durSec: number; /** Timeline start in seconds. */ startSec: number; } /** One connected audio clip on a non-primary lane. */ export interface TimelineAudioClip { /** Path to the audio file (mp3/wav/m4a). */ path: string; /** Display label. */ label: string; /** Timeline start in seconds. */ startSec: number; /** Duration in seconds. */ audioDur: number; /** Lane number — always negative (connected below primary in FCPXML). */ lane: -1 | -2 | -3; /** FCP X role. Premiere/Resolve exporters map this to their track-name conventions. */ role: 'dialogue.dialogue' | 'effects.effects' | 'music.music'; } /** * Format-neutral export options. Every exporter accepts the same shape * so the CLI command can dispatch via a `--format` flag without inventing * per-format option types. */ export interface TimelineExportOptions { outputPath: string; /** Video segments in spine order. Caller is responsible for ordering. */ segments: TimelineSegment[]; /** Connected audio clips. Order within a lane doesn't matter. */ audio: TimelineAudioClip[]; /** Total sequence duration. Defaults to the cumulative segment duration. */ totalDurationSec?: number; /** Frames per second. Defaults to 24. */ fps?: number; /** Sequence width in pixels. Defaults to 1920. */ width?: number; /** Sequence height in pixels. Defaults to 1080. */ height?: number; /** Library / event name. Defaults to "Episode". */ eventName?: string; /** Project / sequence name. Defaults to ` — fine-tune`. */ projectName?: string; /** * Emit media `src` paths RELATIVE to the output document's directory * (portable — the timeline resolves media on any machine as long as the * XML travels with its media in the same relative layout). When false/unset, * absolute `file://` paths are written (break on a machine move). Default * is set by the CLI to relative. */ relativePaths?: boolean; } /** @deprecated Use TimelineSegment. */ export type FcpxmlSegment = TimelineSegment; /** @deprecated Use TimelineAudioClip. */ export type FcpxmlAudioClip = TimelineAudioClip; /** @deprecated Use TimelineExportOptions. */ export type FcpxmlExportOptions = TimelineExportOptions; //# sourceMappingURL=types.d.ts.map