import { Browser, BrowserContext, BrowserContextOptions, LaunchOptions } from "playwright";
export type BrowserOptions = {
    instance: Browser;
    contextOptions?: BrowserContextOptions;
} | {
    cdp: string;
    contextOptions?: BrowserContextOptions;
} | {
    launchOptions?: LaunchOptions;
    contextOptions?: BrowserContextOptions;
} | {
    context: BrowserContext;
};
export declare class BrowserProvider {
    private activeBrowsers;
    private logger;
    private constructor();
    static getInstance(): BrowserProvider;
    private _launchOrReuseBrowser;
    _createAndTrackContext(options: BrowserOptions): Promise<BrowserContext>;
    newContext(options?: BrowserOptions): Promise<BrowserContext>;
    private _applyEmulationSettings;
}
