/// import type { MatchImageSnapshotOptions } from 'jest-image-snapshot'; import type { ScreenshotOptions, Browser, Page, ElementHandle, LaunchOptions } from 'puppeteer'; type PuppeteerLifeCycleEvent = 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'; export interface Context { kind: string; story: string; parameters: { [key: string]: any; }; } interface Options { context: Context; url: string; } interface Base64ScreenShotOptions extends ScreenshotOptions { encoding: 'base64'; } interface DirectNavigationOptions { referer?: string; timeout?: number; waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[]; } export interface CommonConfig { storybookUrl: string; chromeExecutablePath?: string; getGotoOptions: (options: Options) => DirectNavigationOptions | undefined; customizePage: (page: Page) => Promise; getCustomBrowser?: () => Promise; /** * Puppeteer browser launch options: * {@link https://pptr.dev/api/puppeteer.puppeteernode.launch/ puppeteer.launch()} */ browserLaunchOptions: LaunchOptions; setupTimeout: number; testTimeout: number; } export interface PuppeteerTestConfig extends CommonConfig { testBody: ((page: Page, options: Options) => void | Promise) & { filter?: (options: Options) => boolean; }; } export interface ImageSnapshotConfig extends CommonConfig { getMatchOptions: (options: Options) => MatchImageSnapshotOptions | undefined; getScreenshotOptions: (options: Options) => Base64ScreenShotOptions; beforeScreenshot: (page: Page, options: Options) => Promise; afterScreenshot: (options: { image: string | void | Buffer; context: Context; }) => Promise; } export interface AxeConfig extends CommonConfig { beforeAxeTest: (page: Page, options: Options) => Promise; } export declare const defaultCommonConfig: CommonConfig; export declare const defaultPuppeteerTestConfig: PuppeteerTestConfig; export declare const defaultImageSnapshotConfig: ImageSnapshotConfig; export declare const defaultAxeConfig: AxeConfig; export {};