///
import { Ability, UsesAbilities } from '@serenity-js/core/lib/screenplay';
import { ElementArrayFinder, ElementFinder, ProtractorBrowser } from 'protractor';
import * as webdriver from 'selenium-webdriver';
import { Target } from '../ui/target';
export declare class BrowseTheWeb implements Ability {
private browser;
private parentWindow?;
/**
*
* Instantiates the Ability to BrowseTheWeb, allowing the Actor to interact with a Web UI
*
* @param browser
* @return {BrowseTheWeb}
*/
static using(browser: ProtractorBrowser): BrowseTheWeb;
/**
* Used to access the Actor's ability to BrowseTheWeb from within the Interaction classes, such as Click or Enter
*
* @param actor
* @return {BrowseTheWeb}
*/
static as(actor: UsesAbilities): BrowseTheWeb;
locate(target: Target): ElementFinder;
locateAll(target: Target): ElementArrayFinder;
takeScreenshot(): PromiseLike;
get(destination: string, timeout?: number): PromiseLike;
getTitle(): PromiseLike;
getCurrentUrl(): PromiseLike;
actions(): webdriver.ActionSequence;
manage(): webdriver.Options;
switchToParentWindow(): PromiseLike;
acceptAlert(): PromiseLike;
dismissAlert(): PromiseLike;
switchToWindow(handle: (handles: string[]) => string): PromiseLike;
sleep(millis: number): PromiseLike;
wait(condition: webdriver.promise.Promise | webdriver.until.Condition | Function, timeout?: number, message?: string): PromiseLike;
enableAngularSynchronisation(enable: boolean): PromiseLike;
executeScript(script: string | Function, ...args: any[]): PromiseLike;
executeAsyncScript(script: string | Function, ...args: any[]): PromiseLike;
constructor(browser: ProtractorBrowser);
private resolveTargets(maybeTarget);
}