///
import { AsyncSeriesHook, SyncWaterfallHook, SyncHook } from 'tapable';
import { BrowserConfig } from './common';
import { WebDriverLogTypes } from '@wdio/types/build/Options';
export * from './common';
export interface BrowserSession extends BrowserSessionOptions {
browser: WebdriverIO.Browser;
config: BrowserConfig;
url: string;
}
export interface BrowserSessionOptions {
name: string;
story?: string;
kind?: string;
path?: string;
}
export interface ViewportDimensions {
width: number;
height: number;
}
export default class BrowserFactory {
hooks: {
resolveOptions: SyncWaterfallHook;
create: AsyncSeriesHook;
capabilities: SyncHook, any, any>;
};
private readonly url;
private readonly config;
private readonly browserLogLevel;
private readonly waitForRoot;
constructor(options: {
config: BrowserConfig;
storybookBaseURL: string;
logLevel: WebDriverLogTypes;
waitForRoot?: number;
});
private getOptions;
create(options: BrowserSessionOptions, logger?: import("signale").Signale<"complete" | "error" | "trace" | "debug" | "info" | "await" | "note" | "pending" | "skip" | "done">, browserSize?: ViewportDimensions): Promise;
close(): Promise;
}