import { type Browser } from 'playwright-core'; import type { UiKeyframe } from './hud-state.js'; export declare const CHROME_MISSING_HINT = "Google Chrome could not be launched \u2014 install it from https://www.google.com/chrome/"; /** Headless system Chrome for offscreen rasterization; null (with a warning) when it cannot start. */ export declare function launchRasterBrowser(purpose: string): Promise; export interface RasterizeOptions { harnessUrl: string; /** Overlay PNGs are written here as ui_NNNN.png, one per keyframe. */ outDir: string; /** * CSS-pixel viewport the HUD lays out against — the recorded window's * aspect-corrected size when the manifest carries one, else the recording * resolution (see computeRasterGeometry in hud-state.ts). */ width: number; height: number; /** PNG pixels per CSS pixel; >1 keeps overlays at/above the recording size. */ deviceScaleFactor: number; } export declare function uiPngPath(outDir: string, index: number): string; /** * Render one transparent PNG per keyframe, reusing a single browser + page. * Returns paths in keyframe order — a slot is null when that one keyframe * failed (the caller holds the previous overlay across its window) — or null * overall when UI must be skipped entirely (no Chrome, harness unreachable, the * page died mid-run, or every keyframe failed). */ export declare function rasterizeUiKeyframes(keyframes: readonly UiKeyframe[], options: RasterizeOptions): Promise | null>;