export interface CaptureViewport { width: number; height: number; } export interface ViewportLockBrowser { resizeViewport(width: number, height: number): Promise; wait(ms: number): Promise; takeScreenshot(): Promise; currentPage: { viewportSize(): { width: number; height: number; } | null; }; } export interface LockedViewportScreenshot { buffer: Buffer; actualViewport: { width: number; height: number; } | null; screenshotSize: { width: number; height: number; }; expectedScreenshotSize: { width: number; height: number; }; repaired: boolean; } interface ViewportLockOptions { settleMs?: number; maxAttempts?: number; } interface TakeViewportLockedScreenshotOptions extends ViewportLockOptions { deviceScaleFactor: number; maxScreenshotAttempts?: number; } export declare function lockCaptureViewport(browser: ViewportLockBrowser, viewport: CaptureViewport, options?: ViewportLockOptions): Promise<{ actualViewport: { width: number; height: number; } | null; repaired: boolean; }>; export declare function takeViewportLockedScreenshot(browser: ViewportLockBrowser, viewport: CaptureViewport, options: TakeViewportLockedScreenshotOptions): Promise; export {};