import type { WebDriver } from 'selenium-webdriver';
import type { Options } from 'selenium-webdriver/chrome';
import Controller from '../Controller';
import { type Configuration } from '../utils/writeVariables';
export { wrapDriver as wrapWebdriver } from './webdriverWrapping';
interface WebDriverArgs extends Configuration {
    options?: Options;
}
/**
 * Creates a Selenium config that uses axe extension
 *
 * @param arg Config to extend
 */
export declare function webdriverConfig(arg: WebDriverArgs): Options;
export declare class WebdriverController extends Controller {
    private driver;
    constructor(driver: WebDriver);
    protected executeScript<T>(fn: string | (() => Promise<T>), ...args: unknown[]): Promise<T>;
    captureScreenshot(): Promise<string>;
}
