import { CustomComparatorsRegistry } from '@vitest/browser'; export { defineBrowserCommand } from '@vitest/browser'; import { SelectorOptions, ScreenshotMatcherOptions, ScreenshotComparatorRegistry } from 'vitest/browser'; import { BrowserProvider, TestProject, CDPSession, BrowserProviderOption } from 'vitest/node'; import { ClickOptions, MoveToOptions, DragAndDropOptions, remote } from 'webdriverio'; declare const webdriverBrowsers: readonly ["firefox", "chrome", "edge", "safari"]; type WebdriverBrowser = (typeof webdriverBrowsers)[number]; interface WebdriverProviderOptions extends Partial[0]> {} declare function webdriverio(options?: WebdriverProviderOptions): BrowserProviderOption; declare class WebdriverBrowserProvider implements BrowserProvider { name: "webdriverio"; supportsParallelism: boolean; browser: WebdriverIO.Browser | null; private browserName; private project; private options?; private closing; private iframeSwitched; private topLevelContext; initScripts: string[]; getSupportedBrowsers(): readonly string[]; constructor(project: TestProject, options: WebdriverProviderOptions); isIframeSwitched(): boolean; switchToTestFrame(): Promise; switchToMainFrame(): Promise; setViewport(options: { width: number; height: number; }): Promise; getCommandsContext(): { browser: WebdriverIO.Browser | null; }; openBrowser(): Promise; private buildCapabilities; openPage(sessionId: string, url: string): Promise; private _throwIfClosing; close(): Promise; getCDPSession(_sessionId: string): Promise; } declare module "vitest/browser" { interface UserEventClickOptions extends Partial, SelectorOptions {} interface UserEventHoverOptions extends MoveToOptions, SelectorOptions {} interface UserEventDragAndDropOptions extends DragAndDropOptions { sourceX?: number; sourceY?: number; targetX?: number; targetY?: number; } interface UserEventFillOptions extends SelectorOptions {} interface UserEventSelectOptions extends SelectorOptions {} interface UserEventClearOptions extends SelectorOptions {} interface UserEventDoubleClickOptions extends SelectorOptions {} interface UserEventTripleClickOptions extends SelectorOptions {} interface UserEventWheelBaseOptions extends SelectorOptions {} interface LocatorScreenshotOptions extends SelectorOptions {} } interface WebdriverCDPSession { send: (method: string, params?: Record) => Promise; on: (event: string, listener: (...args: unknown[]) => void) => void; once: (event: string, listener: (...args: unknown[]) => void) => void; off: (event: string, listener: (...args: unknown[]) => void) => void; } declare module "vitest/node" { interface BrowserCommandContext { browser: WebdriverIO.Browser; } interface _BrowserNames { webdriverio: WebdriverBrowser; } interface ToMatchScreenshotOptions extends Omit, CustomComparatorsRegistry {} interface ToMatchScreenshotComparators extends ScreenshotComparatorRegistry {} interface CDPSession extends WebdriverCDPSession {} } export { WebdriverBrowserProvider, webdriverio }; export type { WebdriverProviderOptions };