export interface DesiredCapabilities extends FirefoxOptions, ChromeOptions { [key: string]: any; browserName?: string; browserVersion?: string; platformName?: string; acceptInsecureCerts?: boolean; pageLoadStrategy?: PageLoadStrategy; proxy?: ProxyConfig; timeout?: Timeouts; setWindowRect?: boolean; strictFileInteractability?: boolean; unhandledPromptBehavior?: boolean; window?: WindowConfig; appium?: AppiumOptions; "bstack:options"?: BrowserStackCapabilities; } export declare type PageLoadStrategy = "none" | "eager" | "normal"; export interface Timeouts { script: number; pageLoad: number; implicit: number; } export interface AppiumOptions { [key: string]: any; deviceName?: string; udid?: string; app?: string; android?: AppiumAndroidOptions; ios?: AppiumIOSOptions; } export interface AppiumAndroidOptions { appPackage?: string; appActivity?: string; } export interface AppiumIOSOptions { appName: string; } export interface FirefoxOptions { "moz:firefoxOptions"?: FirefoxBrowserOptions; } export interface ChromeOptions { "goog:chromeOptions"?: ChromeBrowserOptions; } export interface WindowConfig { /** * maximize the view port * * for chrome use options "--window-size=300,400" or "--start-maximized" * for firefox use options "--width=500" and "--height=500" */ setToMaxSize: boolean; } /** * @property {string} binary - Location of the Chrome Binary * @property {string[]} args - command line argument to pass to chrome instance * @property {string[} profile - path to the firefox profile * @property {object} log - log object to increase the log level, default: info * @property {object} prefs - preferense map with key name as name of preference and value as value of preference */ export interface ChromeBrowserOptions { binary?: string; args?: string[]; prefs?: { [key: string]: any; }; } /** * @property {string} binary - Location of the Firefox Binary * @property {string[]} args - command line argument to pass to firefox instance * @property {string[} profile - path to the firefox profile * @property {object} log - log object to increase the log level, default: info * @property {object} prefs - preferense map with key name as name of preference and value as value of preference */ export interface FirefoxBrowserOptions { binary?: string; args?: string[]; profile?: string; log?: { level: "trace" | "debug" | "config" | "info" | "warn" | "error" | "fatal"; }; prefs?: { [key: string]: string | boolean | number; }; } export declare type ProxyType = "autodetect" | "noproxy" | "manual" | "pac" | "system"; export interface ProxyConfig { proxyType: ProxyType; proxyAutoconfigUrl?: string; ftpProxy?: string; httpProxy?: string; noProxy?: string; sslProxy?: string; socksProxy?: string; socksVersion?: string; } export interface ManualProxyConfig { default?: string; ftp?: string; http?: string; https?: string; bypass?: string[]; } export interface BrowserStackCapabilities { userName: string; accessKey: string; os?: "Windows" | "OS X"; osVersion?: string; projectName?: string; buildName?: string; sessionName?: string; local?: boolean; video?: boolean; networkLogs?: boolean; seleniumVersion?: string; } //# sourceMappingURL=DesiredCapabilities.d.ts.map