import { ActionComponent, ActionConfig } from './actions'; export declare class Screenshotter implements ScreenshotterComponent { config: ScreenshotterConfig; screenshotsConfig: ScreenshotFileConfig; constructor(config: ScreenshotterConfig); determineAction(actionConfig: ActionConfig): ActionComponent; generate(): Promise; pathForScreenshot(path?: string): string; urlForScreenshot(path?: string): string; } export interface ScreenshotterConfig { /** * Base url for all pages. */ baseUrl: string; /** * Configuration file for the screenshots. */ configFile: string; /** * Output directory for where the screenshots will be saved. */ outputDir: string; } export interface ScreenshotterComponent { config: ScreenshotterConfig; screenshotsConfig: ScreenshotFileConfig; } /** * Format for the screenshot configuration file. */ export interface ScreenshotFileConfig { /** * Browser configuration for how the screenshots are taken. */ browser?: BrowserConfig; /** * Screenshots to be taken by the tool. */ screenshots: Record; } export interface BrowserConfig { viewport?: ViewportConfig; /** * Params to add to every URL. */ params?: Record; } export interface ViewportConfig { height?: number; width?: number; } export interface ScreenshotConfig { actions: Array; /** * Path (from server root) to load for the screenshot. */ path?: string; }