import type BrowserController from './BrowserController'; import type { Action, BaseWalkerOptions, BeforeScreenshotOption } from '../interfaces'; import type { SettingsJson } from '@ewizardjs/settings'; import type { IncomingMessage, Server, ServerResponse } from 'node:http'; import type { LaunchOptions, Page, Viewport } from 'puppeteer'; export declare abstract class BaseWalker { protected root: string; protected port: number | string | undefined; protected rendererOptions: LaunchOptions; protected settings: SettingsJson; protected requiredIds: string[] | null; protected server: Server; protected delay: number; protected disableLogs: boolean; protected logger: Console; protected browserUrl: string; protected browserPage: Page; protected abstract viewport: Viewport; protected currentTheme?: string; protected themesList: string[]; protected thumbnailsDir: string; protected thumbnailExtension: string; protected browser: { context: BrowserController; close(): Promise; }; protected deviceScaleFactor: number; constructor(options: BaseWalkerOptions); walk(actions: Action[], options?: BeforeScreenshotOption[]): Promise; protected initBrowser(): Promise; protected setBrowserPage(currentTheme?: string): Promise; protected beforeAllScreenshots(options?: BeforeScreenshotOption[]): Promise; protected abstract initialize(): Promise; protected abstract getStructure(): Promise; protected abstract makeScreenshot(actions: Action[], theme?: string): Promise; protected abstract removeThumbnailsDir(): Promise; protected dispose(): Promise; protected log(message: string): void; private getThemesList; protected getDestPath(action: Action, themeThumbnailPath?: string): string | undefined; private removeThumbnailsDirectory; private isThumbScreener; }