export type FfmpegTool = 'ffmpeg' | 'ffprobe'; export declare function missingFfmpegMessage(tool?: FfmpegTool): string; /** * Refuse up front when a tool is missing, before any frames are read or sparks spent. `spawnSync` * with `-version` is the cheapest probe that also proves the binary actually runs. */ export declare function ensureFfmpeg(tools?: readonly FfmpegTool[]): void; /** * The first of `tools` that is not on PATH, or null when they all are — the non-throwing half of * {@link ensureFfmpeg}, for callers that skip a step rather than fail when ffmpeg is absent. */ export declare function missingFfmpegTool(tools?: readonly FfmpegTool[]): FfmpegTool | null; export declare function runFfmpeg(args: string[]): Promise; /** * Run a tool and keep stdout. {@link runFfmpeg} discards it — everything in the trailer pipeline * writes files — so the PCM decode and every ffprobe query come through here instead. */ export declare function captureFfmpegTool(tool: FfmpegTool, args: string[]): Promise;