import type { launch, Page, BrowserContext } from 'puppeteer';
import Controller from '../Controller';
import { type Configuration } from '../utils/writeVariables';
type LaunchOptions = Parameters<typeof launch>[0];
/**
 * Creates a Puppeteer config that uses axe extension.
 *
 * @param opts Config to extend
 */
export declare function puppeteerConfig(opts: Configuration & LaunchOptions): NonNullable<LaunchOptions>;
export declare class PuppeteerController extends Controller {
    private driver;
    constructor(driver: Page);
    protected executeScript<T>(fn: string | (() => Promise<T>), ...args: unknown[]): Promise<T>;
    captureScreenshot(): Promise<string>;
}
/**
 * @deprecated `wrapPuppeteer` is deprecated and may not work as intended. Please use `wrapPuppeteerPage` instead.
 */
export declare const wrapPuppeteer: (browserContext: BrowserContext, controller: PuppeteerController) => BrowserContext;
export { wrapPage as wrapPuppeteerPage } from './puppeteerWrapping';
