import type { VideoExportSettings, VideoMedia } from "./video-production-state.ts"; export interface VideoRenderGeometry { canvasWidth: number; canvasHeight: number; width: number; height: number; captureScale: number; } /** The largest adopted HD source owns automatic output size; preview keeps the editing canvas. */ export declare function resolveVideoRenderGeometry(canvas: { width: number; height: number; }, settings: VideoExportSettings, sources: readonly VideoMedia[]): VideoRenderGeometry; /** Native rendering handles timing/audio/effects. Final encoding scales the whole high-resolution frame, never individual elements or source videos. */ export declare function renderVideoComposition(input: { snapshotFolder: string; compositionPath: string; outputPath: string; settings: VideoExportSettings; geometry: VideoRenderGeometry; signal: AbortSignal; renderNative(args: string[], captureScale: number): Promise; }): Promise;