//#region src/preview/renderTimegroupToVideo.types.d.ts /** * Type definitions for video rendering. * This file has ZERO imports and ZERO side effects - safe for SSR. */ /** * A half-open time interval [fromMs, toMs) used to constrain render operations * to a specific window of the composition. */ interface RenderWindow { fromMs: number; toMs: number; } interface RenderProgress { progress: number; currentFrame: number; totalFrames: number; renderedMs: number; totalDurationMs: number; elapsedMs: number; estimatedRemainingMs: number; speedMultiplier: number; framePreviewCanvas?: HTMLCanvasElement; } interface RenderToVideoOptions { fps?: number; codec?: "avc" | "hevc" | "vp9" | "av1" | "vp8"; bitrate?: number; filename?: string; scale?: number; keyFrameInterval?: number; fromMs?: number; toMs?: number; onProgress?: (progress: RenderProgress) => void; streaming?: boolean; signal?: AbortSignal; includeAudio?: boolean; audioBitrate?: number; contentReadyMode?: "immediate" | "blocking"; blockingTimeoutMs?: number; returnBuffer?: boolean; preferredAudioCodecs?: Array<"aac" | "opus" | "mp3">; benchmarkMode?: boolean; customWritableStream?: WritableStream; progressPreviewInterval?: number; canvasMode?: "native" | "foreignObject"; /** API token (`ef_...`) to associate telemetry with an org. Omitting sends anonymous telemetry. */ telemetryToken?: string; /** Override the telemetry endpoint (defaults to https://editframe.com). */ telemetryEndpoint?: string; } //#endregion export { RenderProgress, RenderToVideoOptions, RenderWindow }; //# sourceMappingURL=renderTimegroupToVideo.types.d.ts.map