/**
 * A screenshot renderer takes screenshots of arbitrary URLs.
 *
 * This is an abstraction around a browser. In particular, it allows us to wrap
 * Chrome within Docker to ensure screenshots are consistent even when tests are
 * run from a different platform (e.g. Mac OS).
 */ export interface ScreenshotRenderer { start ( ) : Promise < void > ; stop ( ) : Promise < void > ; /**
     * Returns a buffer representing a PNG screenshot, or `null` when screenshot
     * comparison is delegated to a third-party.
     */ render ( name , url , viewport ? ) : Promise < Buffer | string | void > ; } export interface Viewport { /** The page width in pixels. */ width : number ; /** The page height in pixels. */ height : number ; default deviceScaleFactor ? : number ; default isMobile ? : boolean ; default hasTouch ? : boolean ; default isLandscape ? : boolean ; }