/** * Cast screenshot command — captures a per-eye/stereo VR frame via the * daemon's casting API, validates the bytes, and writes it to disk. * * Atomic workflow in one invocation: * 1. Ensure the daemon is running. * 2. POST /cast/start (idempotent). * 3. POST /cast/eye (set eye mode). * 4. GET /cast/screenshot (raw JPEG bytes). * 5. Validate JPEG magic bytes (SOI + EOI); refuse non-images. * 6. Write to the output directory; add caption metadata if provided. * 7. Print the absolute path on stdout. * * Why this exists: callers who hand-roll `curl -o foo.jpg` against the * daemon risk saving a JSON error body with a `.jpg` extension. Downstream * consumers that mime-sniff by extension (e.g. Claude Code's Read tool) will * crash on such a file. This command guarantees the file it prints is a * real JPEG. */ export type CastEyeMode = "left" | "right" | "stereo"; export interface CastScreenshotOptions { mode: CastEyeMode; directory: string; caption?: string; port?: number; device?: string; host?: string; } export declare function castScreenshotCommand(opts: CastScreenshotOptions): Promise; //# sourceMappingURL=cast-screenshot.d.ts.map