/** * Frame extraction helpers. Used by score_shot and (later) any other tool * that needs sampled frames. * * Two modes: * - extractAtTimes: per-timestamp sampling (one ffmpeg call per frame). Slower * but precise; agent picks exactly what to inspect. * - extractAtInterval: regular sampling via the fps filter (one ffmpeg call * total). Fast; ideal for "score this whole video". */ export interface ExtractedFrame { path: string; atSec: number; } export interface ExtractOptions { /** Output dir; defaults to a fresh temp dir. */ outDir?: string; /** JPEG quality 1-31 (lower = better, ffmpeg convention). Default 4. */ quality?: number; /** Optional max width to scale frames down to (saves vision tokens). */ maxWidth?: number; signal?: AbortSignal; } /** * Extract one frame per requested timestamp. Returns paths in the same order. */ export declare function extractAtTimes(inputPath: string, times: number[], opts?: ExtractOptions): Promise; /** * Extract one frame every `intervalSec`. Returns frames in temporal order. * * Single ffmpeg invocation regardless of how many frames are produced; way * faster than per-timestamp for whole-video sampling. */ export declare function extractAtInterval(inputPath: string, intervalSec: number, totalSec: number, opts?: ExtractOptions): Promise; //# sourceMappingURL=frames.d.ts.map