///
import { ClickOptions, DragAndDropOptions, MoveToOptions, ParsedCSSValue, TouchActions } from "webdriverio";
import { Value } from "webdriverio/build/commands/element/addValue";
import { WdioCheckElementMethodOptions as ElementImageCheckOptions } from "wdio-image-comparison-service";
import ElementConditions from "./evaluation/elementConditions";
import { TElementCoordinates, TElementLocation, TElementSize } from "../interfaces";
export default class WebElement {
readonly parent: string;
selector: string;
constructor(selector: string);
getPrevious(levels?: number, Sub?: new (parent: string) => T): T;
getNext(levels?: number, tag?: string, Sub?: new (parent: string) => T): T;
getByIndex(index?: number, Sub?: new (parent: string) => T): T;
getByExactAttribute(key: string, value: string, Sub?: new (parent: string) => T): T;
getByExactLabel(value: string, Sub?: new (parent: string) => T): T;
getByName(value: string, Sub?: new (parent: string) => T): T;
getById(value: string, Sub?: new (parent: string) => T): T;
getByExactText(value: string, Sub?: new (parent: string) => T): T;
getByDescendantExactText(value: string, Sub?: new (parent: string) => T): T;
getByDescendantPartialText(value: string, Sub?: new (parent: string) => T): T;
getByPartialClass(values: string[], Sub?: new (parent: string) => T): T;
existing$(): WebdriverIO.Element;
raw$(): WebdriverIO.Element;
raw$$(): WebdriverIO.Element[];
child$(xpath: string): WebElement;
child$$(xpath: string): WebElement[];
sendKeys(value: string[]): void;
addValue(value: Value | Value[]): void;
clearValue(): void;
jsClick(): void;
clickUntil(condition: ElementConditions, options?: ClickOptions): void;
jsClickUntil(condition: ElementConditions): void;
click(options?: ClickOptions): void;
doubleClick(): void;
focus(): void;
moveAndClick(): void;
moveAndDoubleClick(): void;
dragAndDrop(target: string | TElementLocation, options?: DragAndDropOptions): void;
executeFunction(funcName: string, await?: boolean): unknown;
getProp(prop: string): string;
getAttribute(key: string): string;
isAttributeContaining(key: string, value: string, preferred?: boolean): boolean;
isAttributeEquals(key: string, value: string, preferred?: boolean): boolean;
isAttributeExisting(key: string, preferred?: boolean): boolean;
checkAttributeContains(key: string, value: string, preferred?: boolean): void;
checkAttributeEquals(key: string, value: string, preferred?: boolean): void;
checkAttributeExists(key: string, preferred?: boolean): void;
isStylePropContaining(key: string, value: string, preferred?: boolean): boolean;
isStylePropEquals(key: string, value: string, preferred?: boolean): boolean;
isStylePropExisting(key: string, preferred?: boolean): boolean;
checkStylePropContains(key: string, value: string, preferred?: boolean): void;
checkStylePropEquals(key: string, value: string, preferred?: boolean): void;
checkStylePropExisting(key: string, preferred?: boolean): void;
isAxisLocationEquals(axis: TElementCoordinates, expected: number, preferred?: boolean): boolean;
checkAxisLocationEquals(axis: TElementCoordinates, expected: number, preferred?: boolean): void;
getCSSProperty(key: string): ParsedCSSValue;
isCSSPropertyExisting(key: string, preferred?: boolean): boolean;
checkCSSPropertyExists(key: string, preferred?: boolean): void;
getHTML(isSelfIncluded?: boolean): string;
getLocation(): TElementLocation;
getProperty(key: string): string | number | boolean | HTMLElement | Element | ChildNode | (() => DOMRect) | Document | ((event: Event) => boolean) | ((this: GlobalEventHandlers, ev: UIEvent) => any) | ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: FocusEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: DragEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | OnErrorEventHandler | ((this: GlobalEventHandlers, ev: FocusEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: MouseEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: PointerEvent) => any) | ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: UIEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: TouchEvent) => any) | ((this: GlobalEventHandlers, ev: TouchEvent) => any) | ((this: GlobalEventHandlers, ev: TouchEvent) => any) | ((this: GlobalEventHandlers, ev: TouchEvent) => any) | ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: Event) => any) | ((this: GlobalEventHandlers, ev: WheelEvent) => any) | ((...nodes: (string | Node)[]) => void) | ((...nodes: (string | Node)[]) => void) | (() => void) | ((qualifiedName: string) => string | null) | ((arg?: boolean | ScrollIntoViewOptions | undefined) => void) | ((selectors: string) => boolean) | {
(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
} | {
(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
} | NamedNodeMap | DOMTokenList | ((this: Element, ev: Event) => any) | ((this: Element, ev: Event) => any) | ShadowRoot | ((init: ShadowRootInit) => ShadowRoot) | {
(selector: K_2): HTMLElementTagNameMap[K_2] | null;
(selector: K_3): SVGElementTagNameMap[K_3] | null;
(selector: string): E | null;
} | ((namespace: string | null, localName: string) => string | null) | (() => string[]) | ((qualifiedName: string) => Attr | null) | ((namespace: string | null, localName: string) => Attr | null) | (() => DOMRectList) | ((classNames: string) => HTMLCollectionOf) | {
(qualifiedName: K_4): HTMLCollectionOf;
(qualifiedName: K_5): HTMLCollectionOf;
(qualifiedName: string): HTMLCollectionOf;
} | {
(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf;
(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf;
(namespaceURI: string, localName: string): HTMLCollectionOf;
} | ((qualifiedName: string) => boolean) | ((namespace: string | null, localName: string) => boolean) | (() => boolean) | ((pointerId: number) => boolean) | ((position: InsertPosition, insertedElement: Element) => Element | null) | ((where: InsertPosition, html: string) => void) | ((where: InsertPosition, text: string) => void) | (() => any) | ((pointerId: number) => void) | ((qualifiedName: string) => void) | ((namespace: string | null, localName: string) => void) | ((attr: Attr) => Attr) | ((options?: FullscreenOptions | undefined) => Promise) | (() => void) | {
(options?: ScrollToOptions | undefined): void;
(x: number, y: number): void;
} | {
(options?: ScrollToOptions | undefined): void;
(x: number, y: number): void;
} | {
(options?: ScrollToOptions | undefined): void;
(x: number, y: number): void;
} | ((qualifiedName: string, value: string) => void) | ((namespace: string | null, qualifiedName: string, value: string) => void) | ((attr: Attr) => Attr | null) | ((attr: Attr) => Attr | null) | ((pointerId: number) => void) | ((qualifiedName: string, force?: boolean | undefined) => boolean) | ((selectors: string) => boolean) | NodeListOf | (Node & ParentNode) | ((newChild: T) => T) | ((deep?: boolean | undefined) => Node) | ((other: Node) => number) | ((other: Node | null) => boolean) | ((options?: GetRootNodeOptions | undefined) => Node) | (() => boolean) | ((newChild: T_1, refChild: Node | null) => T_1) | ((namespace: string | null) => boolean) | ((otherNode: Node | null) => boolean) | ((otherNode: Node | null) => boolean) | ((prefix: string | null) => string | null) | ((namespace: string | null) => string | null) | (() => void) | ((oldChild: T_2) => T_2) | ((newChild: Node, oldChild: T_3) => T_3) | ((keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions | undefined) => Animation) | (() => Animation[]) | (() => void) | ((...nodes: (string | Node)[]) => void) | HTMLCollection | ((...nodes: (string | Node)[]) => void) | ((...nodes: (string | Node)[]) => void) | {
(selectors: K_6): HTMLElementTagNameMap[K_6] | null;
(selectors: K_7): SVGElementTagNameMap[K_7] | null;
(selectors: string): E_1 | null;
} | {
(selectors: K_8): NodeListOf;
(selectors: K_9): NodeListOf;
(selectors: string): NodeListOf;
} | HTMLSlotElement | ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | CSSStyleDeclaration | DOMStringMap | (() => void) | ((options?: FocusOptions | undefined) => void) | undefined;
getSize(): TElementSize;
getTagName(): string;
getText(): string;
isTextContaining(expected: string, preferred?: boolean): boolean;
isTextEmpty(preferred?: boolean): boolean;
isTextEquals(expected: string, preferred?: boolean): boolean;
checkTextContains(expected: string, preferred?: boolean): void;
checkTextEmpty(preferred?: boolean): void;
checkTextEquals(expected: string, preferred?: boolean): void;
getValue(): string;
isValueContaining(expected: string, preferred?: boolean): boolean;
isValueEmpty(preferred?: boolean): boolean;
isValueEquals(expected: string, preferred?: boolean): boolean;
checkValueContains(expected: string, preferred?: boolean): void;
checkValueEmpty(preferred?: boolean): void;
checkValueEquals(expected: string, preferred?: boolean): void;
getCount(): number;
isUnique(preferred?: boolean): boolean;
checkUnique(preferred?: boolean): void;
isCountEquals(expected: number, preferred?: boolean): boolean;
isCountGreaterThan(expected: number, preferred?: boolean): boolean;
isCountLessThan(expected: number, preferred?: boolean): boolean;
checkCountEquals(expected: number, preferred?: boolean): void;
checkCountGreaterThan(expected: number, preferred?: boolean): void;
checkCountLessThan(expected: number, preferred?: boolean): void;
isDisplayed(preferred?: boolean): boolean;
checkDisplayed(preferred?: boolean): void;
isDisplayedInViewport(preferred?: boolean): boolean;
checkDisplayedInViewport(preferred?: boolean): void;
isEnabled(preferred?: boolean): boolean;
checkEnabled(preferred?: boolean): void;
isExisting(preferred?: boolean, timeout?: number): boolean;
checkExisting(preferred?: boolean): void;
isFocused(preferred?: boolean): boolean;
checkFocused(preferred?: boolean): void;
isImageMatchRef(filename: string, preferred?: boolean, options?: ElementImageCheckOptions, hook?: "move" | "scroll" | "none"): boolean;
checkImageMatchRef(filename: string, preferred?: boolean, options?: ElementImageCheckOptions, hook?: "move" | "scroll" | "none"): void;
isSelected(preferred?: boolean): boolean;
checkSelected(preferred?: boolean): void;
isSizeEquals(width: number, height: number, preferred?: boolean): boolean;
isSizeHeightEquals(expected: number, preferred?: boolean): boolean;
isSizeWidthEquals(expected: number, preferred?: boolean): boolean;
checkSizeEquals(width: number, height: number, preferred?: boolean): void;
checkSizeHeightEquals(expected: number, preferred?: boolean): void;
checkSizeWidthEquals(expected: number, preferred?: boolean): void;
moveTo(options?: MoveToOptions): void;
scrollIntoView(options?: boolean | object): void;
selectByAttribute(key: string, value: string): void;
selectByIndex(index: number): void;
selectByVisibleText(text: string): void;
setValue(value: string): void;
setAttribute(key: string, value: string): void;
shadow$$(selector: string): WebdriverIO.Element[];
shadow$(selector: string): WebdriverIO.Element;
touchAction(action: TouchActions): void;
}