/** How a title is drawn. */ export type TitleStyle = /** Big centred wordmark, optional subtitle beneath. */ 'title' /** Mid-size lower-third line — feature callouts. */ | 'line' /** Dimmed footage + wordmark + subtitle + small note: the end card. */ | 'card'; export interface TitleCue { /** Output time in seconds when the title appears. */ at: number; /** How long it stays, in seconds. */ dur: number; text: string; /** Second line, smaller (styles `title` and `card`). */ sub?: string; /** Small print, e.g. "ACTUAL GAMEPLAY" (style `card`). */ note?: string; style?: TitleStyle; } /** Fade at each end of a cue, in seconds. */ export declare const TITLE_FADE_SEC = 0.22; /** * The page for one cue. Transparent background so `omitBackground` yields real * alpha; the `card` style paints its own scrim. */ export declare function titleHtml(cue: TitleCue, width: number, height: number, fontFile: string): string; /** * Filter lines overlaying pre-rendered title PNGs onto the video. * * Each PNG is a still input looped for the cue's duration, so `fade` times are * relative to the cue itself; `setpts` shifts it to its output slot and * `enable` gates it. Returns a passthrough when there is nothing to draw. */ export declare function buildTitleOverlayChain(inLabel: string, outLabel: string, cues: readonly TitleCue[], baseInputIndex: number): string[]; /** ffmpeg input args for the title PNGs — each looped for its cue duration. */ export declare function titleInputArgs(cues: readonly TitleCue[], pngPaths: readonly string[]): string[]; /** * The bundled title font, shipped in the package's `assets/fonts/` (see `files` in package.json) * so titles render identically on any machine instead of depending on system fonts. Resolved from * this module's own location: `../../assets/` is the same hop from `src/trailer/` and from * `dist/trailer/`, so it works run from source and from an installed package alike. */ export declare function defaultTitleFont(): string;