/**
 * ai-helpers.ts — Shared utility functions used across AI commands.
 *
 * These were extracted from ai.ts to improve maintainability.
 * ai.ts imports and re-uses these internally.
 */
import type { EditSuggestion } from "@vibeframe/ai-providers";
import { Project } from "../engine/index.js";
/**
 * Minimal shape required by {@link applySuggestion}. Accepts the canonical
 * {@link EditSuggestion} from the AI provider as well as the CLI's local
 * `SuggestEditEntry`, which omits the optional `id`/`previewUrl`.
 */
export type ApplicableSuggestion = Pick<EditSuggestion, "type" | "clipIds" | "params">;
/**
 * Download a video from URL, handling Veo/Google API authentication.
 * Uses x-goog-api-key header (not query param) for Google API URLs.
 *
 * @param url - Video URL to download
 * @param apiKey - Google API key (caller should resolve from env/config)
 */
export declare function downloadVideo(url: string, apiKey?: string): Promise<Buffer>;
/** Format a duration in seconds to m:ss.s display format */
export declare function formatTime(seconds: number): string;
/** Apply a single AI edit suggestion to a project */
export declare function applySuggestion(project: Project, suggestion: ApplicableSuggestion): boolean;
