/**
 * HDR Capture Service
 *
 * Captures HDR video frames via WebGPU float16 readback.
 *
 * The pipeline:
 * 1. FFmpeg extracts raw HDR pixels (rgba64le) from video sources
 * 2. Node converts HLG/PQ signal → linear light → float16
 * 3. writeTexture uploads float16 data to WebGPU rgba16float texture
 * 4. (Optional) WebGPU shader applies GSAP CSS transform
 * 5. readback extracts float16 RGBA via base64 transfer
 * 6. Node converts linear float16 → PQ signal → pipe to FFmpeg H.265
 *
 * Requirements:
 * - Headed Chrome (not headless) — WebGPU unavailable in headless mode
 * - GPU access (Metal on macOS, Vulkan+NVIDIA on Linux)
 *
 * Performance: ~6 fps at 1080x1920 via base64 transfer.
 */
import type { Page, Browser } from "puppeteer-core";
/**
 * Inject the WebGPU HDR readback runtime into the page.
 *
 * Creates an rgba16float render texture that accepts writeTexture uploads
 * and provides readback via base64 transfer.
 */
export declare function initHdrReadback(page: Page, width: number, height: number): Promise<boolean>;
/**
 * Upload a float16 frame to WebGPU and read it back.
 * Call after converting with convertHdrFrameToFloat16Base64.
 */
export declare function uploadAndReadbackHdrFrame(page: Page, float16Base64: string): Promise<{
    rawBuffer: Buffer;
    bytesPerRow: number;
}>;
/**
 * Convert float16 RGBA readback to PQ-encoded rgb48le for FFmpeg.
 */
export declare function float16ToPqRgb(rawBuffer: Buffer, bytesPerRow: number, width: number, height: number): Buffer;
/**
 * Launch a headed Chrome browser with WebGPU enabled.
 */
export declare function launchHdrBrowser(width: number, height: number): Promise<{
    browser: Browser;
    page: Page;
}>;
export declare function buildHdrChromeArgs(width: number, height: number): string[];
//# sourceMappingURL=hdrCapture.d.ts.map