export declare const renderHTMLToImage: (html: string, outputPath: string, width: number, height: number, isMermaid?: boolean, omitBackground?: boolean) => Promise<void>;
/**
 * Render an animated HTML page frame-by-frame using Puppeteer.
 *
 * For each frame:
 *   1. Update window.__MULMO.frame
 *   2. Call render(frame, totalFrames, fps) — awaits if it returns a Promise
 *   3. Take a screenshot
 *
 * The user-defined render() function may be sync or async.
 */
export declare const renderHTMLToFrames: (html: string, outputDir: string, width: number, height: number, totalFrames: number, fps: number) => Promise<string[]>;
/**
 * Record an animated HTML page as video using Puppeteer's screencast API.
 * The animation plays in real-time via requestAnimationFrame, and
 * page.screencast() captures frames directly to an mp4 file.
 */
export declare const renderHTMLToVideo: (html: string, videoPath: string, width: number, height: number, totalFrames: number, fps: number) => Promise<void>;
/**
 * Render the final frame of an animated HTML page as a static image.
 * Loads the animated HTML, calls window.renderFinal() to set all animations
 * to their end state, then takes a screenshot. Used for PDF/thumbnail generation.
 */
export declare const renderHTMLToFinalFrame: (html: string, outputPath: string, width: number, height: number) => Promise<void>;
export declare const renderMarkdownToImage: (markdown: string, style: string, outputPath: string, width: number, height: number) => Promise<void>;
export declare const interpolate: (template: string, data: Record<string, string>) => string;
