import playwright, { Browser, Page, LaunchOptions, BrowserContext } from 'playwright'; import { BrowserLauncher, TestRunnerCoreConfig } from '@web/test-runner-core'; import { PlaywrightLauncherPage } from './PlaywrightLauncherPage'; export type ProductType = 'chromium' | 'firefox' | 'webkit'; interface CreateArgs { browser: Browser; config: TestRunnerCoreConfig; } export type CreateBrowserContextFn = (args: CreateArgs) => BrowserContext | Promise; export type CreatePageFn = (args: CreateArgs & { context: BrowserContext; }) => Promise; export declare class PlaywrightLauncher implements BrowserLauncher { name: string; type: string; concurrency?: number; private product; private launchOptions; private createBrowserContextFn; private createPageFn; private config?; private testFiles?; private browser?; private debugBrowser?; private activePages; private activeDebugPages; private testCoveragePerSession; private __launchBrowserPromise?; __experimentalWindowFocus__: boolean; constructor(product: ProductType, launchOptions: LaunchOptions, createBrowserContextFn: CreateBrowserContextFn, createPageFn: CreatePageFn, __experimentalWindowFocus__?: boolean, concurrency?: number); initialize(config: TestRunnerCoreConfig, testFiles: string[]): Promise; stop(): Promise; startSession(sessionId: string, url: string): Promise; isActive(sessionId: string): boolean; getBrowserUrl(sessionId: string): string; startDebugSession(sessionId: string, url: string): Promise; createNewPage(browser: Browser): Promise; stopSession(sessionId: string): Promise; private getOrStartBrowser; getPage(sessionId: string): playwright.Page; } export {}; //# sourceMappingURL=PlaywrightLauncher.d.ts.map