import { WebDriver, WebElement, WebElementPromise } from 'selenium-webdriver';
import { IHTMLElement } from '../interface/controls/html-element';
import { IPageObject } from '../interface/page/page-object';
import { IConfirmation } from '../interface/wallet/confirmation';
export declare class WebDriverHTMLElement implements IHTMLElement {
    private cssLocator;
    protected driver: WebDriver;
    protected webElement: WebElement;
    private element;
    private timeout;
    constructor(cssLocator: string, timeout?: number, element?: WebElementPromise);
    search(): Promise<void>;
    hardClick(): Promise<void>;
    click<TPage>(page?: new () => TPage): Promise<any>;
    clickAndWait(duration: number): Promise<void>;
    clickAndSwitchToWindow<TPage extends IConfirmation | IPageObject>(page: new () => TPage): Promise<TPage>;
    getAttribute(attribute: string): Promise<string | null>;
    getCssValue(property: string): Promise<string | null>;
    getText(): Promise<string>;
    hover(): Promise<void>;
    isDisplayed(): Promise<boolean>;
    isEnabled(): Promise<boolean>;
    isVisible(): Promise<boolean>;
    type(keys: string): Promise<void>;
    waitForText(text: RegExp): Promise<void>;
}
