import { z } from "zod"; import type { AgentTool } from "@kenkaiiii/gg-agent"; import type { VideoHost } from "../core/hosts/types.js"; /** * add_sfx_to_timeline — drop SFX clips DIRECTLY onto the active timeline's * audio track at each cut point. Sibling of `add_sfx_at_cuts` but operates * on the live host (Resolve / Premiere) instead of producing a new mp4. * * Why this exists: `add_sfx_at_cuts` is file-only — it bakes SFX into a * rendered mp4. That's right for "ship the final file" workflows but wrong * when the user wants the SFX in the timeline so they can keep editing, * tune levels in Fairlight, or hear it on playback in Resolve. * * Mechanics: * 1. Resolve the SFX (bundled name → synthesise via ffmpeg / cache; * file path → pass through). * 2. Get the timeline frame rate (needed to convert seconds → record frames). * 3. For each cut point: place the SFX wav at that record frame on the * target audio track via `host.insertClipOnTrack(mediaKind="audio")`. * * Volume / ducking: the inserted clips land at unity gain. Use Fairlight * (Resolve) or Audio Mixer (Premiere) to adjust per-clip levels — Fairlight * isn't scriptable so we don't try. */ declare const AddSfxToTimelineParams: z.ZodObject<{ sfx: z.ZodString; cutPoints: z.ZodArray; track: z.ZodOptional; frameRate: z.ZodOptional; minSpacingSec: z.ZodOptional; }, z.core.$strip>; export declare function createAddSfxToTimelineTool(host: VideoHost, cwd: string): AgentTool; export {}; //# sourceMappingURL=add-sfx-to-timeline.d.ts.map