import Driver from './driver';
import { ElementHandle } from './flow-types/element-handle';
import { SelectorType } from './enums/selector-types';
import BaseClass from './base-class';
import Mouse from './mouse';
import Touch from './touch';
declare class Element extends BaseClass {
    _parent: Element | Driver;
    _selector: string;
    elementID: string;
    mouse: Mouse;
    touch: Touch;
    constructor(driver: Driver, parent: Element | Driver, selector: string, elementHandle: ElementHandle);
    getAttribute(attribute: string): string;
    hasClass(className: string): boolean;
    getText(): string;
    getTagName(): string;
    getCssValue(property: string): string;
    isDisplayed(): boolean;
    isSelected(): boolean;
    isEqual(element: Element): boolean;
    isEnabled(): boolean;
    isDisabled(): boolean;
    sendKeys(str: string | Array<string>): void;
    clear(): void;
    submit(): void;
    getSize(): {
        width: number;
        height: number;
    };
    getPosition(): {
        x: number;
        y: number;
    };
    getFrame(): {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    getAbsoluteCenter(): {
        x: number;
        y: number;
    };
    getRelativeCenter(): {
        x: number;
        y: number;
    };
    getElement(selector: string, selectorType?: SelectorType): Element;
    tryGetElement(selector: string, selectorType?: SelectorType): Element | null;
    getElements(selector: string, selectorType?: SelectorType): Array<Element>;
    getElementsByTextContent(textContent: string, selector?: string, selectorType?: SelectorType): Array<Element>;
    getElementByTextContent(textContent: string, selector?: string, selectorType?: SelectorType): Element;
    tryGetElementByTextContent(textContent: string, selector?: string, selectorType?: SelectorType): Element | null;
    hasElement(selector: string, selectorType?: SelectorType): boolean;
}
export default Element;
