import type { PageCaptureResponseMessage } from "./_vendor/replo-utils/lib/pageCapture"; interface PageCaptureMessageListener { (event: { data: unknown; source: unknown; origin: string; }): void; } /** The slice of `window` the responder touches, so specs can pass a fake. */ export interface PageCaptureWindow { readonly innerWidth: number; readonly parent: { postMessage(message: PageCaptureResponseMessage, targetOrigin: string, transfer: Transferable[]): void; }; readonly document: { readonly fonts?: { readonly ready: Promise; }; }; requestIdleCallback?(callback: () => void, options: { timeout: number; }): number; addEventListener(type: "message", listener: PageCaptureMessageListener): void; removeEventListener(type: "message", listener: PageCaptureMessageListener): void; } /** * Answers Site Builder's page-capture requests with a JPEG of this page's * first screen. Requests run one at a time so concurrent captures never * fight over the page's temporary video posters. */ export declare function startPageCaptureResponder(targetWindow: PageCaptureWindow): () => void; export {};