import { z } from "zod"; import type { AgentTool } from "@kenkaiiii/gg-agent"; declare const AuditFirstFrameParams: z.ZodObject<{ input: z.ZodString; detail: z.ZodOptional>; model: z.ZodOptional; }, z.core.$strip>; interface FirstFrameVisionResponse { score: number; hasFace: boolean; faceProminent: boolean; hasReadableText: boolean; hasClearSubject: boolean; hasMotion: boolean; mode: "static-logo" | "cold-open-load" | "face-blink" | "usable" | "strong"; findings: string[]; } /** * audit_first_frame — score t=0.0s as if it were the thumbnail. * * Per Hoyos / Galloway: "treat the first frame like a thumbnail." * Autoplay surfaces the first frame BEFORE audio loads, so a logo slate * or cold-open hold tanks retention before viewers ever hear the hook. */ export declare function createAuditFirstFrameTool(cwd: string): AgentTool; /** * Parse the model's JSON response. Robust to missing keys / weird types * — never throws as long as the JSON itself is valid. Pure — exported * for testing. */ export declare function parseFirstFrameResponse(content: string): FirstFrameVisionResponse; export {}; //# sourceMappingURL=audit-first-frame.d.ts.map