/** * Shared FFmpeg/FFprobe binary resolution for every package that shells out * to them (engine, cli, lint, studio-server). Node-only: import via the * `@hyperframes/parsers/ff-binaries` subpath, never from a browser bundle. */ declare const FFMPEG_PATH_ENV = "HYPERFRAMES_FFMPEG_PATH"; declare const FFPROBE_PATH_ENV = "HYPERFRAMES_FFPROBE_PATH"; type FfBinaryName = "ffmpeg" | "ffprobe"; interface FindFfBinaryOptions { /** * How to treat an env override that points at a missing file: `true` * reports the binary as not found (callers that surface an install hint or * skip probing), `false`/unset returns the configured path as-is (callers * that validate the override separately and want spawn errors to name the * path the user configured). */ configuredMustExist?: boolean; } /** * Resolve an FFmpeg-family binary: env override first, then a native * current-directory/PATH scan on Windows or `which` plus PATH scan on Unix, * then a project-local * `.hyperframes/bin`, then well-known Unix install dirs. System lookups are * cached per binary for the process lifetime; the env override is re-read on * every call. */ declare function findFfBinary(name: FfBinaryName, options?: FindFfBinaryOptions): string | undefined; /** Test hook: drop cached system lookups so resolution can be re-exercised. */ declare function clearFfBinaryLookupCache(): void; export { FFMPEG_PATH_ENV, FFPROBE_PATH_ENV, type FfBinaryName, type FindFfBinaryOptions, clearFfBinaryLookupCache, findFfBinary };