import type { BrowserConfig } from './story-diff.types.js'; import type { Logger } from './logger.js'; type LaunchWaitUntil = 'load' | 'domcontentloaded'; interface ViewportSize { readonly width: number; readonly height: number; } interface WaitForOptions { readonly timeout: number; } interface GotoOptions { readonly waitUntil: LaunchWaitUntil; readonly timeout: number; } interface ScreenshotOptions { readonly path?: string; readonly type?: 'png'; readonly omitBackground?: boolean; } interface BoundingBox { readonly x: number; readonly y: number; readonly width: number; readonly height: number; } export interface BrowserResponse { ok(): boolean; status(): number; } export interface ElementHandleAdapter { boundingBox(): Promise; evaluate(pageFunction: (element: unknown) => R | Promise): Promise; screenshot(options: ScreenshotOptions): Promise; getUnderlyingObject(): unknown; } export interface PageAdapter { setViewport(viewport: ViewportSize): Promise; setDefaultNavigationTimeout(timeout: number): Promise; setDefaultTimeout(timeout: number): Promise; goto(url: string, options: GotoOptions): Promise; waitForFunction(expression: string, options: WaitForOptions): Promise; waitForSelector(selector: string, options: WaitForOptions): Promise; query(selector: string): Promise; screenshot(options: ScreenshotOptions): Promise; getUnderlyingObject(): unknown; } export interface BrowserAdapter { newPage(): Promise; close(): Promise; } export declare function launchBrowser(config?: BrowserConfig, logger?: Logger): Promise; export declare function createPage(browser: BrowserAdapter, width?: number, height?: number): Promise; export declare function closeBrowser(browser: BrowserAdapter): Promise; export {}; //# sourceMappingURL=browser.d.ts.map