import { type LaunchOptions, type BrowserContextOptions, type Page } from 'playwright-core'; import * as z from 'zod'; export declare const PageScreenshotParameterSchema: z.ZodObject<{ /** * Path to the page to take a screenshot of (e.g. /login) */ path: z.ZodString; /** * Unique name for the page */ name: z.ZodString; /** * Time to wait before taking a screenshot * @default 1_000 */ waitBeforeScreenshot: z.ZodDefault; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>; export type PageScreenshotParameter = z.infer; export declare const PlatformModeConfigSchema: z.ZodObject, z.ZodDefault, "many">>]>>; /** * Enable Storybook mode */ storybookShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Storybook shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Target specific element on page with a selector */ elementLocator: z.ZodOptional; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Ladle mode */ ladleShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Ladle shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Histoire mode */ histoireShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Histoire shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Page mode */ pageShots: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonUrl: z.ZodOptional; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonRefiner: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">], z.ZodUnknown>, z.ZodArray; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">>>; /** * Base URL of the running application (e.g. http://localhost:3000) */ baseUrl: z.ZodString; /** * Define areas for all pages where differences will be ignored */ mask: z.ZodOptional, "many">>; /** * Define custom breakpoints for all page shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }, { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }>>; /** * Enable Custom mode */ customShots: z.ZodOptional>; /** * Path to the current image folder * @default '.lostpixel/current/' */ imagePathCurrent: z.ZodDefault; /** * Define custom breakpoints for all tests as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Number of concurrent shots to take * @default 5 */ shotConcurrency: z.ZodDefault; /** * Timeouts for various stages of the test */ timeouts: z.ZodDefault; /** * Timeout for loading the state of the page * @default 30_000 */ loadState: z.ZodDefault; /** * Timeout for waiting for network requests to finish * @default 30_000 */ networkRequests: z.ZodDefault; }, "strip", z.ZodTypeAny, { fetchStories: number; loadState: number; networkRequests: number; }, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }>>; /** * Time to wait before taking a screenshot * @default 1_000 */ waitBeforeScreenshot: z.ZodDefault; /** * Time to wait for the first network request to start * @default 1_000 */ waitForFirstRequest: z.ZodDefault; /** * Time to wait for the last network request to start * @default 1_000 */ waitForLastRequest: z.ZodDefault; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * How often to retry a shot for a stable result * @default 0 */ flakynessRetries: z.ZodDefault; /** * Time to wait between flakyness retries * @default 2_000 */ waitBetweenFlakynessRetries: z.ZodDefault; /** * Global shot filter */ filterShot: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>; /** * Shot and file name generator for images */ shotNameGenerator: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodString>>; /** * Configure browser context options */ configureBrowser: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodType>>; /** * Configure page before screenshot */ beforeScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Perform actions after screenshot was taken */ afterScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Launch options for the browser */ browserLaunchOptions: z.ZodOptional>; firefox: z.ZodOptional>; webkit: z.ZodOptional>; }, "strip", z.ZodTypeAny, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }>>; }, { /** * URL of the Lost Pixel API endpoint * @default 'https://api.lost-pixel.com' */ lostPixelPlatform: z.ZodDefault; /** * API key for the Lost Pixel platform */ apiKey: z.ZodString; /** * Project ID */ lostPixelProjectId: z.ZodString; /** * CI build ID */ ciBuildId: z.ZodDefault; /** * CI build number */ ciBuildNumber: z.ZodDefault; /** * Git repository name (e.g. 'lost-pixel/lost-pixel-storybook') */ repository: z.ZodDefault; /** * Git branch name (e.g. 'main') */ commitRefName: z.ZodDefault; /** * Git commit SHA (e.g. 'b9b8b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9') */ commitHash: z.ZodDefault; /** * File path to event.json file */ eventFilePath: z.ZodOptional; /** * Whether to set the GitHub status check on process start or not * * Setting this option to `true` makes only sense if the repository settings have pending status checks disabled * @default false */ setPendingStatusCheck: z.ZodDefault; }>, "strip", z.ZodTypeAny, { threshold: number; waitBeforeScreenshot: number; browser: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[]; imagePathCurrent: string; shotConcurrency: number; timeouts: { fetchStories: number; loadState: number; networkRequests: number; }; waitForFirstRequest: number; waitForLastRequest: number; flakynessRetries: number; waitBetweenFlakynessRetries: number; lostPixelPlatform: string; apiKey: string; lostPixelProjectId: string; ciBuildId: string; ciBuildNumber: string; repository: string; commitRefName: string; commitHash: string; setPendingStatusCheck: boolean; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; eventFilePath?: string | undefined; }, { apiKey: string; lostPixelProjectId: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; lostPixelPlatform?: string | undefined; ciBuildId?: string | undefined; ciBuildNumber?: string | undefined; repository?: string | undefined; commitRefName?: string | undefined; commitHash?: string | undefined; eventFilePath?: string | undefined; setPendingStatusCheck?: boolean | undefined; }>; export declare const GenerateOnlyModeConfigSchema: z.ZodObject, z.ZodDefault, "many">>]>>; /** * Enable Storybook mode */ storybookShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Storybook shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Target specific element on page with a selector */ elementLocator: z.ZodOptional; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Ladle mode */ ladleShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Ladle shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Histoire mode */ histoireShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Histoire shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Page mode */ pageShots: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonUrl: z.ZodOptional; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonRefiner: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">], z.ZodUnknown>, z.ZodArray; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">>>; /** * Base URL of the running application (e.g. http://localhost:3000) */ baseUrl: z.ZodString; /** * Define areas for all pages where differences will be ignored */ mask: z.ZodOptional, "many">>; /** * Define custom breakpoints for all page shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }, { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }>>; /** * Enable Custom mode */ customShots: z.ZodOptional>; /** * Path to the current image folder * @default '.lostpixel/current/' */ imagePathCurrent: z.ZodDefault; /** * Define custom breakpoints for all tests as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Number of concurrent shots to take * @default 5 */ shotConcurrency: z.ZodDefault; /** * Timeouts for various stages of the test */ timeouts: z.ZodDefault; /** * Timeout for loading the state of the page * @default 30_000 */ loadState: z.ZodDefault; /** * Timeout for waiting for network requests to finish * @default 30_000 */ networkRequests: z.ZodDefault; }, "strip", z.ZodTypeAny, { fetchStories: number; loadState: number; networkRequests: number; }, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }>>; /** * Time to wait before taking a screenshot * @default 1_000 */ waitBeforeScreenshot: z.ZodDefault; /** * Time to wait for the first network request to start * @default 1_000 */ waitForFirstRequest: z.ZodDefault; /** * Time to wait for the last network request to start * @default 1_000 */ waitForLastRequest: z.ZodDefault; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * How often to retry a shot for a stable result * @default 0 */ flakynessRetries: z.ZodDefault; /** * Time to wait between flakyness retries * @default 2_000 */ waitBetweenFlakynessRetries: z.ZodDefault; /** * Global shot filter */ filterShot: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>; /** * Shot and file name generator for images */ shotNameGenerator: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodString>>; /** * Configure browser context options */ configureBrowser: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodType>>; /** * Configure page before screenshot */ beforeScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Perform actions after screenshot was taken */ afterScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Launch options for the browser */ browserLaunchOptions: z.ZodOptional>; firefox: z.ZodOptional>; webkit: z.ZodOptional>; }, "strip", z.ZodTypeAny, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }>>; }, { /** * Run in local mode * @deprecated Defaults to running in generateOnly mode */ generateOnly: z.ZodOptional; /** * Flag that decides if process should exit if a difference is found */ failOnDifference: z.ZodOptional; /** * Path to the baseline image folder * @default '.lostpixel/baseline/' */ imagePathBaseline: z.ZodDefault; /** * Path to the difference image folder * @default '.lostpixel/difference/' */ imagePathDifference: z.ZodDefault; /** * Number of concurrent screenshots to compare * @default 10 */ compareConcurrency: z.ZodDefault; /** * Which comparison engine to use for diffing images * @default 'pixelmatch' */ compareEngine: z.ZodDefault>; /** * Filter stories to take screenshots of and run comparisons on (existing shots remain untouched) */ filterItemsToCheck: z.ZodOptional; id: z.ZodString; shotName: z.ZodString; url: z.ZodString; filePathBaseline: z.ZodString; filePathCurrent: z.ZodString; filePathDifference: z.ZodString; browserConfig: z.ZodOptional>; threshold: z.ZodNumber; waitBeforeScreenshot: z.ZodOptional; importPath: z.ZodOptional; mask: z.ZodOptional, "many">>; viewport: z.ZodOptional; }, "strip", z.ZodTypeAny, { width: number; height?: number | undefined; }, { width: number; height?: number | undefined; }>>; breakpoint: z.ZodOptional; breakpointGroup: z.ZodOptional; elementLocator: z.ZodOptional; waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { threshold: number; waitBeforeScreenshot: number; browser: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[]; imagePathCurrent: string; shotConcurrency: number; timeouts: { fetchStories: number; loadState: number; networkRequests: number; }; waitForFirstRequest: number; waitForLastRequest: number; flakynessRetries: number; waitBetweenFlakynessRetries: number; imagePathBaseline: string; imagePathDifference: string; compareConcurrency: number; compareEngine: "pixelmatch" | "odiff"; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }, { threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; imagePathBaseline?: string | undefined; imagePathDifference?: string | undefined; compareConcurrency?: number | undefined; compareEngine?: "pixelmatch" | "odiff" | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }>; export declare const ConfigSchema: z.ZodUnion<[z.ZodObject, z.ZodDefault, "many">>]>>; /** * Enable Storybook mode */ storybookShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Storybook shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Target specific element on page with a selector */ elementLocator: z.ZodOptional; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Ladle mode */ ladleShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Ladle shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Histoire mode */ histoireShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Histoire shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Page mode */ pageShots: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonUrl: z.ZodOptional; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonRefiner: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">], z.ZodUnknown>, z.ZodArray; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">>>; /** * Base URL of the running application (e.g. http://localhost:3000) */ baseUrl: z.ZodString; /** * Define areas for all pages where differences will be ignored */ mask: z.ZodOptional, "many">>; /** * Define custom breakpoints for all page shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }, { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }>>; /** * Enable Custom mode */ customShots: z.ZodOptional>; /** * Path to the current image folder * @default '.lostpixel/current/' */ imagePathCurrent: z.ZodDefault; /** * Define custom breakpoints for all tests as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Number of concurrent shots to take * @default 5 */ shotConcurrency: z.ZodDefault; /** * Timeouts for various stages of the test */ timeouts: z.ZodDefault; /** * Timeout for loading the state of the page * @default 30_000 */ loadState: z.ZodDefault; /** * Timeout for waiting for network requests to finish * @default 30_000 */ networkRequests: z.ZodDefault; }, "strip", z.ZodTypeAny, { fetchStories: number; loadState: number; networkRequests: number; }, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }>>; /** * Time to wait before taking a screenshot * @default 1_000 */ waitBeforeScreenshot: z.ZodDefault; /** * Time to wait for the first network request to start * @default 1_000 */ waitForFirstRequest: z.ZodDefault; /** * Time to wait for the last network request to start * @default 1_000 */ waitForLastRequest: z.ZodDefault; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * How often to retry a shot for a stable result * @default 0 */ flakynessRetries: z.ZodDefault; /** * Time to wait between flakyness retries * @default 2_000 */ waitBetweenFlakynessRetries: z.ZodDefault; /** * Global shot filter */ filterShot: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>; /** * Shot and file name generator for images */ shotNameGenerator: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodString>>; /** * Configure browser context options */ configureBrowser: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodType>>; /** * Configure page before screenshot */ beforeScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Perform actions after screenshot was taken */ afterScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Launch options for the browser */ browserLaunchOptions: z.ZodOptional>; firefox: z.ZodOptional>; webkit: z.ZodOptional>; }, "strip", z.ZodTypeAny, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }>>; }, { /** * URL of the Lost Pixel API endpoint * @default 'https://api.lost-pixel.com' */ lostPixelPlatform: z.ZodDefault; /** * API key for the Lost Pixel platform */ apiKey: z.ZodString; /** * Project ID */ lostPixelProjectId: z.ZodString; /** * CI build ID */ ciBuildId: z.ZodDefault; /** * CI build number */ ciBuildNumber: z.ZodDefault; /** * Git repository name (e.g. 'lost-pixel/lost-pixel-storybook') */ repository: z.ZodDefault; /** * Git branch name (e.g. 'main') */ commitRefName: z.ZodDefault; /** * Git commit SHA (e.g. 'b9b8b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9') */ commitHash: z.ZodDefault; /** * File path to event.json file */ eventFilePath: z.ZodOptional; /** * Whether to set the GitHub status check on process start or not * * Setting this option to `true` makes only sense if the repository settings have pending status checks disabled * @default false */ setPendingStatusCheck: z.ZodDefault; }>, "strip", z.ZodTypeAny, { threshold: number; waitBeforeScreenshot: number; browser: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[]; imagePathCurrent: string; shotConcurrency: number; timeouts: { fetchStories: number; loadState: number; networkRequests: number; }; waitForFirstRequest: number; waitForLastRequest: number; flakynessRetries: number; waitBetweenFlakynessRetries: number; lostPixelPlatform: string; apiKey: string; lostPixelProjectId: string; ciBuildId: string; ciBuildNumber: string; repository: string; commitRefName: string; commitHash: string; setPendingStatusCheck: boolean; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; eventFilePath?: string | undefined; }, { apiKey: string; lostPixelProjectId: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; lostPixelPlatform?: string | undefined; ciBuildId?: string | undefined; ciBuildNumber?: string | undefined; repository?: string | undefined; commitRefName?: string | undefined; commitHash?: string | undefined; eventFilePath?: string | undefined; setPendingStatusCheck?: boolean | undefined; }>, z.ZodObject, z.ZodDefault, "many">>]>>; /** * Enable Storybook mode */ storybookShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Storybook shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Target specific element on page with a selector */ elementLocator: z.ZodOptional; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Ladle mode */ ladleShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Ladle shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Histoire mode */ histoireShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Histoire shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>; /** * Enable Page mode */ pageShots: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonUrl: z.ZodOptional; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonRefiner: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">], z.ZodUnknown>, z.ZodArray; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">>>; /** * Base URL of the running application (e.g. http://localhost:3000) */ baseUrl: z.ZodString; /** * Define areas for all pages where differences will be ignored */ mask: z.ZodOptional, "many">>; /** * Define custom breakpoints for all page shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }, { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }>>; /** * Enable Custom mode */ customShots: z.ZodOptional>; /** * Path to the current image folder * @default '.lostpixel/current/' */ imagePathCurrent: z.ZodDefault; /** * Define custom breakpoints for all tests as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Number of concurrent shots to take * @default 5 */ shotConcurrency: z.ZodDefault; /** * Timeouts for various stages of the test */ timeouts: z.ZodDefault; /** * Timeout for loading the state of the page * @default 30_000 */ loadState: z.ZodDefault; /** * Timeout for waiting for network requests to finish * @default 30_000 */ networkRequests: z.ZodDefault; }, "strip", z.ZodTypeAny, { fetchStories: number; loadState: number; networkRequests: number; }, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }>>; /** * Time to wait before taking a screenshot * @default 1_000 */ waitBeforeScreenshot: z.ZodDefault; /** * Time to wait for the first network request to start * @default 1_000 */ waitForFirstRequest: z.ZodDefault; /** * Time to wait for the last network request to start * @default 1_000 */ waitForLastRequest: z.ZodDefault; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * How often to retry a shot for a stable result * @default 0 */ flakynessRetries: z.ZodDefault; /** * Time to wait between flakyness retries * @default 2_000 */ waitBetweenFlakynessRetries: z.ZodDefault; /** * Global shot filter */ filterShot: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>; /** * Shot and file name generator for images */ shotNameGenerator: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodString>>; /** * Configure browser context options */ configureBrowser: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodType>>; /** * Configure page before screenshot */ beforeScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Perform actions after screenshot was taken */ afterScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>; /** * Launch options for the browser */ browserLaunchOptions: z.ZodOptional>; firefox: z.ZodOptional>; webkit: z.ZodOptional>; }, "strip", z.ZodTypeAny, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }>>; }, { /** * Run in local mode * @deprecated Defaults to running in generateOnly mode */ generateOnly: z.ZodOptional; /** * Flag that decides if process should exit if a difference is found */ failOnDifference: z.ZodOptional; /** * Path to the baseline image folder * @default '.lostpixel/baseline/' */ imagePathBaseline: z.ZodDefault; /** * Path to the difference image folder * @default '.lostpixel/difference/' */ imagePathDifference: z.ZodDefault; /** * Number of concurrent screenshots to compare * @default 10 */ compareConcurrency: z.ZodDefault; /** * Which comparison engine to use for diffing images * @default 'pixelmatch' */ compareEngine: z.ZodDefault>; /** * Filter stories to take screenshots of and run comparisons on (existing shots remain untouched) */ filterItemsToCheck: z.ZodOptional; id: z.ZodString; shotName: z.ZodString; url: z.ZodString; filePathBaseline: z.ZodString; filePathCurrent: z.ZodString; filePathDifference: z.ZodString; browserConfig: z.ZodOptional>; threshold: z.ZodNumber; waitBeforeScreenshot: z.ZodOptional; importPath: z.ZodOptional; mask: z.ZodOptional, "many">>; viewport: z.ZodOptional; }, "strip", z.ZodTypeAny, { width: number; height?: number | undefined; }, { width: number; height?: number | undefined; }>>; breakpoint: z.ZodOptional; breakpointGroup: z.ZodOptional; elementLocator: z.ZodOptional; waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { threshold: number; waitBeforeScreenshot: number; browser: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[]; imagePathCurrent: string; shotConcurrency: number; timeouts: { fetchStories: number; loadState: number; networkRequests: number; }; waitForFirstRequest: number; waitForLastRequest: number; flakynessRetries: number; waitBetweenFlakynessRetries: number; imagePathBaseline: string; imagePathDifference: string; compareConcurrency: number; compareEngine: "pixelmatch" | "odiff"; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }, { threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; imagePathBaseline?: string | undefined; imagePathDifference?: string | undefined; compareConcurrency?: number | undefined; compareEngine?: "pixelmatch" | "odiff" | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }>]>; export declare const FlexibleConfigSchema: z.ZodUnion<[z.ZodObject<{ browser: z.ZodOptional, z.ZodDefault, "many">>]>>>; storybookShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Storybook shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Target specific element on page with a selector */ elementLocator: z.ZodOptional; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>>; ladleShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Ladle shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>>; histoireShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Histoire shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>>; customShots: z.ZodOptional>>; imagePathCurrent: z.ZodOptional>; breakpoints: z.ZodOptional>>; shotConcurrency: z.ZodOptional>; waitBeforeScreenshot: z.ZodOptional>; waitForFirstRequest: z.ZodOptional>; waitForLastRequest: z.ZodOptional>; threshold: z.ZodOptional>; flakynessRetries: z.ZodOptional>; waitBetweenFlakynessRetries: z.ZodOptional>; filterShot: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>>; shotNameGenerator: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodString>>>; configureBrowser: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodType>>>; beforeScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>>; afterScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>>; browserLaunchOptions: z.ZodOptional>; firefox: z.ZodOptional>; webkit: z.ZodOptional>; }, "strip", z.ZodTypeAny, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }>>>; lostPixelPlatform: z.ZodOptional>; apiKey: z.ZodOptional; lostPixelProjectId: z.ZodOptional; ciBuildId: z.ZodOptional>; ciBuildNumber: z.ZodOptional>; repository: z.ZodOptional>; commitRefName: z.ZodOptional>; commitHash: z.ZodOptional>; eventFilePath: z.ZodOptional>; setPendingStatusCheck: z.ZodOptional>; timeouts: z.ZodOptional>; loadState: z.ZodOptional>; networkRequests: z.ZodOptional>; }, "strip", z.ZodTypeAny, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }>>; pageShots: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonUrl: z.ZodOptional; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonRefiner: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">], z.ZodUnknown>, z.ZodArray; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">>>; /** * Base URL of the running application (e.g. http://localhost:3000) */ baseUrl: z.ZodString; /** * Define areas for all pages where differences will be ignored */ mask: z.ZodOptional, "many">>; /** * Define custom breakpoints for all page shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, { pages: z.ZodArray; name: z.ZodOptional; waitBeforeScreenshot: z.ZodOptional>; threshold: z.ZodOptional>; breakpoints: z.ZodOptional>>; viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>>; mask: z.ZodOptional, "many">>>; }, "strip", z.ZodTypeAny, { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }, { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }>, "many">; }>, "strip", z.ZodTypeAny, { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }, { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }>>; }, "strip", z.ZodTypeAny, { threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; lostPixelPlatform?: string | undefined; apiKey?: string | undefined; lostPixelProjectId?: string | undefined; ciBuildId?: string | undefined; ciBuildNumber?: string | undefined; repository?: string | undefined; commitRefName?: string | undefined; commitHash?: string | undefined; eventFilePath?: string | undefined; setPendingStatusCheck?: boolean | undefined; }, { threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; lostPixelPlatform?: string | undefined; apiKey?: string | undefined; lostPixelProjectId?: string | undefined; ciBuildId?: string | undefined; ciBuildNumber?: string | undefined; repository?: string | undefined; commitRefName?: string | undefined; commitHash?: string | undefined; eventFilePath?: string | undefined; setPendingStatusCheck?: boolean | undefined; }>, z.ZodObject<{ browser: z.ZodOptional, z.ZodDefault, "many">>]>>>; storybookShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Storybook shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Target specific element on page with a selector */ elementLocator: z.ZodOptional; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>>; ladleShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Ladle shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>>; histoireShots: z.ZodOptional, "many">>; /** * Define custom breakpoints for all Histoire shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }, { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; }>>>; customShots: z.ZodOptional>>; imagePathCurrent: z.ZodOptional>; breakpoints: z.ZodOptional>>; shotConcurrency: z.ZodOptional>; waitBeforeScreenshot: z.ZodOptional>; waitForFirstRequest: z.ZodOptional>; waitForLastRequest: z.ZodOptional>; threshold: z.ZodOptional>; flakynessRetries: z.ZodOptional>; waitBetweenFlakynessRetries: z.ZodOptional>; filterShot: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>>; shotNameGenerator: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodString>>>; configureBrowser: z.ZodOptional; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodType>>>; beforeScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>>; afterScreenshot: z.ZodOptional, z.ZodObject<{ shotMode: z.ZodEnum<["storybook", "ladle", "histoire", "page", "custom"]>; id: z.ZodOptional; kind: z.ZodOptional; story: z.ZodOptional; shotName: z.ZodOptional; parameters: z.ZodOptional>; filePathBaseline: z.ZodOptional; filePathCurrent: z.ZodOptional; filePathDifference: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }>], z.ZodUnknown>, z.ZodPromise>>>; browserLaunchOptions: z.ZodOptional>; firefox: z.ZodOptional>; webkit: z.ZodOptional>; }, "strip", z.ZodTypeAny, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }, { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; }>>>; generateOnly: z.ZodOptional>; failOnDifference: z.ZodOptional>; imagePathBaseline: z.ZodOptional>; imagePathDifference: z.ZodOptional>; compareConcurrency: z.ZodOptional>; compareEngine: z.ZodOptional>>; filterItemsToCheck: z.ZodOptional; id: z.ZodString; shotName: z.ZodString; url: z.ZodString; filePathBaseline: z.ZodString; filePathCurrent: z.ZodString; filePathDifference: z.ZodString; browserConfig: z.ZodOptional>; threshold: z.ZodNumber; waitBeforeScreenshot: z.ZodOptional; importPath: z.ZodOptional; mask: z.ZodOptional, "many">>; viewport: z.ZodOptional; }, "strip", z.ZodTypeAny, { width: number; height?: number | undefined; }, { width: number; height?: number | undefined; }>>; breakpoint: z.ZodOptional; breakpointGroup: z.ZodOptional; elementLocator: z.ZodOptional; waitForSelector: z.ZodOptional; }, "strip", z.ZodTypeAny, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }>], z.ZodUnknown>, z.ZodBoolean>>>; timeouts: z.ZodOptional>; loadState: z.ZodOptional>; networkRequests: z.ZodOptional>; }, "strip", z.ZodTypeAny, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }, { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; }>>; pageShots: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonUrl: z.ZodOptional; /** * Url that must return a JSON compatible with `PageScreenshotParameter[]`. It is useful when you want to autogenerate the pages that you want to run lost-pixel on. Can be used together with `pages` as both are composed into a single run. */ pagesJsonRefiner: z.ZodOptional; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">], z.ZodUnknown>, z.ZodArray; /** * Threshold for the difference between the baseline and current image * * Values between 0 and 1 are interpreted as percentage of the image size * * Values greater or equal to 1 are interpreted as pixel count. * @default 0 */ threshold: z.ZodDefault; /** * Define custom breakpoints for the page as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Define a custom viewport for the page * @default { width: 1280, height: 720 } */ viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>; /** * Define areas for the page where differences will be ignored */ mask: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }, { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }>, "many">>>; /** * Base URL of the running application (e.g. http://localhost:3000) */ baseUrl: z.ZodString; /** * Define areas for all pages where differences will be ignored */ mask: z.ZodOptional, "many">>; /** * Define custom breakpoints for all page shots as width in pixels * @default [] * @example * [ 320, 768, 1280 ] */ breakpoints: z.ZodOptional>; /** * Wait for a specific selector before taking a screenshot * @example '[data-storyloaded]' */ waitForSelector: z.ZodOptional; }, { pages: z.ZodArray; name: z.ZodOptional; waitBeforeScreenshot: z.ZodOptional>; threshold: z.ZodOptional>; breakpoints: z.ZodOptional>>; viewport: z.ZodOptional; height: z.ZodOptional; }, "strip", z.ZodTypeAny, { width?: number | undefined; height?: number | undefined; }, { width?: number | undefined; height?: number | undefined; }>>>; mask: z.ZodOptional, "many">>>; }, "strip", z.ZodTypeAny, { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }, { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }>, "many">; }>, "strip", z.ZodTypeAny, { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }, { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; }>>; }, "strip", z.ZodTypeAny, { threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; imagePathBaseline?: string | undefined; imagePathDifference?: string | undefined; compareConcurrency?: number | undefined; compareEngine?: "pixelmatch" | "odiff" | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }, { threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; browser?: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[] | undefined; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path?: string | undefined; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; name?: string | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; imagePathCurrent?: string | undefined; shotConcurrency?: number | undefined; timeouts?: { fetchStories?: number | undefined; loadState?: number | undefined; networkRequests?: number | undefined; } | undefined; waitForFirstRequest?: number | undefined; waitForLastRequest?: number | undefined; flakynessRetries?: number | undefined; waitBetweenFlakynessRetries?: number | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; imagePathBaseline?: string | undefined; imagePathDifference?: string | undefined; compareConcurrency?: number | undefined; compareEngine?: "pixelmatch" | "odiff" | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }>]>; export type PlatformModeConfig = z.infer; export type GenerateOnlyModeConfig = z.infer; export type Config = z.infer; export type CustomProjectConfig = z.infer; export declare let config: Config; export declare const isPlatformModeConfig: (userConfig: PlatformModeConfig | GenerateOnlyModeConfig) => userConfig is PlatformModeConfig; export declare const parseConfig: (userConfig: Config) => { threshold: number; waitBeforeScreenshot: number; browser: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[]; imagePathCurrent: string; shotConcurrency: number; timeouts: { fetchStories: number; loadState: number; networkRequests: number; }; waitForFirstRequest: number; waitForLastRequest: number; flakynessRetries: number; waitBetweenFlakynessRetries: number; lostPixelPlatform: string; apiKey: string; lostPixelProjectId: string; ciBuildId: string; ciBuildNumber: string; repository: string; commitRefName: string; commitHash: string; setPendingStatusCheck: boolean; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; eventFilePath?: string | undefined; } | { threshold: number; waitBeforeScreenshot: number; browser: "chromium" | "firefox" | "webkit" | ("chromium" | "firefox" | "webkit")[]; imagePathCurrent: string; shotConcurrency: number; timeouts: { fetchStories: number; loadState: number; networkRequests: number; }; waitForFirstRequest: number; waitForLastRequest: number; flakynessRetries: number; waitBetweenFlakynessRetries: number; imagePathBaseline: string; imagePathDifference: string; compareConcurrency: number; compareEngine: "pixelmatch" | "odiff"; breakpoints?: number[] | undefined; storybookShots?: { storybookUrl: string; mask?: { selector: string; }[] | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; ladleShots?: { ladleUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; histoireShots?: { histoireUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; } | undefined; pageShots?: { pages: { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]; baseUrl: string; mask?: { selector: string; }[] | undefined; waitForSelector?: string | undefined; breakpoints?: number[] | undefined; pagesJsonUrl?: string | undefined; pagesJsonRefiner?: ((args_0: { path: string; name: string; threshold?: number | undefined; waitBeforeScreenshot?: number | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[], ...args: unknown[]) => { path: string; threshold: number; waitBeforeScreenshot: number; name: string; mask?: { selector: string; }[] | undefined; viewport?: { width?: number | undefined; height?: number | undefined; } | undefined; breakpoints?: number[] | undefined; }[]) | undefined; } | undefined; customShots?: { currentShotsPath: string; } | undefined; filterShot?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => boolean) | undefined; shotNameGenerator?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => string) | undefined; configureBrowser?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => BrowserContextOptions) | undefined; beforeScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; afterScreenshot?: ((args_0: Page, args_1: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id?: string | undefined; shotName?: string | undefined; filePathBaseline?: string | undefined; filePathCurrent?: string | undefined; filePathDifference?: string | undefined; kind?: string | undefined; story?: string | undefined; parameters?: Record | undefined; }, ...args: unknown[]) => Promise) | undefined; browserLaunchOptions?: { chromium?: LaunchOptions | undefined; firefox?: LaunchOptions | undefined; webkit?: LaunchOptions | undefined; } | undefined; generateOnly?: boolean | undefined; failOnDifference?: boolean | undefined; filterItemsToCheck?: ((args_0: { shotMode: "storybook" | "ladle" | "histoire" | "page" | "custom"; id: string; shotName: string; url: string; filePathBaseline: string; filePathCurrent: string; filePathDifference: string; threshold: number; browserConfig?: BrowserContextOptions | undefined; waitBeforeScreenshot?: number | undefined; importPath?: string | undefined; mask?: { selector: string; }[] | undefined; viewport?: { width: number; height?: number | undefined; } | undefined; breakpoint?: number | undefined; breakpointGroup?: string | undefined; elementLocator?: string | undefined; waitForSelector?: string | undefined; }, ...args: unknown[]) => boolean) | undefined; }; export declare const configure: ({ customProjectConfig, localDebugMode, }: { customProjectConfig?: CustomProjectConfig; localDebugMode?: boolean; }) => Promise;