/** * Deterministic, collision-safe cache path for a video's poster frame. * A short sha256 prefix of the absolute video path keys the .jpg, so the same * video always maps to the same cache file (and distinct videos never collide). */ export declare function looseThumbPath(videoPath: string): string; /** * Ensure a cached poster frame exists for `videoPath`, returning its path. * * Cache hit: returns the existing thumb path when it is present AND newer than * the source video (mtime compare) — so a re-rendered video re-extracts. * Otherwise shells out to ffmpeg to grab a single frame at t=1s, scaled to * 480px wide. Returns `undefined` on ANY failure (no ffmpeg, unreadable video, * timeout, empty output) — never throws. */ export declare function ensureLooseThumbnail(videoPath: string): Promise; /** * Warm the thumbnail cache for many videos with a bounded concurrency window * (CONCURRENCY at a time). Individual failures are ignored — a missing or * unreadable video simply has no cached thumb and falls back to the gradient * placeholder in the UI. */ export declare function ensureLooseThumbnails(videos: string[]): Promise; //# sourceMappingURL=thumbnails.d.ts.map