/** * Tap overlay renderer. * * Takes an mp4 + a list of tap events and renders red rings at each tap * position via ffmpeg's drawbox filter. drawbox doesn't draw circles, so * we use a hollow square (the standard "tap target" idiom in iOS' built- * in "show touches" mode is a circle, but a 4-px-thick red square reads * just as well at video scale and avoids needing a generated PNG asset). */ export interface OverlayOptions { inputPath: string; outputPath: string; taps: Array<{ x: number; y: number; t: number; }>; /** How long each tap indicator stays on screen in seconds. Default 0.6. */ durationSec?: number; /** Half-side of the indicator square in px. Default 40. */ radius?: number; /** Optional override for the ffmpeg binary; defaults to "ffmpeg" on PATH. */ ffmpeg?: string; } /** Returns true if `ffmpeg` is on PATH. */ export declare function hasFfmpeg(binary?: string): Promise; /** * Build the ffmpeg `-vf` filter chain for the given tap events. * Pure helper exposed for unit testing. */ export declare function buildOverlayFilter(taps: Array<{ x: number; y: number; t: number; }>, durationSec?: number, radius?: number): string; /** * Render `inputPath` → `outputPath` with tap overlays composited at each * (x, y, t) coordinate. Throws if ffmpeg fails. */ export declare function applyTapOverlays(options: OverlayOptions): Promise; //# sourceMappingURL=overlay.d.ts.map