import { ConfigService } from '@nestjs/config'; import { Browser, BrowserContext, Page } from 'playwright'; import { RunService } from './run.service'; import { Screenshot } from '../database/schemas/run.schema'; export interface BrowserOptions { headless?: boolean; timeout?: number; proxy?: string; userAgent?: string; screenshots?: boolean; harCapture?: boolean; } export declare class PlaywrightService { private readonly configService; private readonly runService; private readonly logger; private browser; private readonly userAgents; constructor(configService: ConfigService, runService: RunService); createBrowser(options?: BrowserOptions): Promise; createContext(browser: Browser, options?: BrowserOptions): Promise; createPage(context: BrowserContext, options?: BrowserOptions): Promise; takeScreenshot(page: Page, name: string, runId: string): Promise; takeScreenshotToBase64(page: Page, name: string, description?: string): Promise; takeScreenshotToDatabase(page: Page, name: string, runId: string, description?: string): Promise; waitForSelectorSafe(page: Page, selector: string, options?: { timeout?: number; visible?: boolean; }): Promise; fillFormField(page: Page, selector: string, value: string): Promise; selectOption(page: Page, selector: string, value: string): Promise; clickElement(page: Page, selector: string, options?: { timeout?: number; }): Promise; interceptRequests(page: Page, urlPattern: string, handler: (route: any) => void): Promise; closeBrowser(): Promise; private getRandomUserAgent; private addStealthModifications; }