import type { Element, Position, Size, Rect } from '@appium/types';
import type { XCUITestDriver } from '../driver';
import type { AtomsElement } from './types';
/**
 * Checks whether an element is displayed.
 *
 * @param el - Element or element ID
 */
export declare function elementDisplayed(this: XCUITestDriver, el: Element | string): Promise<boolean>;
/**
 * Checks whether an element is enabled.
 *
 * @param el - Element or element ID
 */
export declare function elementEnabled(this: XCUITestDriver, el: Element | string): Promise<boolean>;
/**
 * Checks whether an element is selected.
 *
 * @param el - Element or element ID
 */
export declare function elementSelected(this: XCUITestDriver, el: Element | string): Promise<boolean>;
/**
 * Gets the tag/name of an element.
 *
 * @param el - Element or element ID
 */
export declare function getName(this: XCUITestDriver, el: Element | string): Promise<string>;
/**
 * Gets a native attribute (non-web) from an element.
 *
 * @param attribute - Attribute name
 * @param el - Element or element ID
 */
export declare function getNativeAttribute(this: XCUITestDriver, attribute: string, el: Element | string): Promise<string | null>;
/**
 * Gets an element attribute (web or native).
 *
 * @param attribute - Attribute name
 * @param el - Element or element ID
 */
export declare function getAttribute(this: XCUITestDriver, attribute: string, el: Element | string): Promise<string | null>;
/**
 * Gets an element property (web) or native attribute fallback.
 *
 * @param property - Property name
 * @param el - Element or element ID
 */
export declare function getProperty(this: XCUITestDriver, property: string, el: Element | string): Promise<string | null>;
/**
 * Gets the text content of an element.
 *
 * @param el - Element or element ID
 */
export declare function getText(this: XCUITestDriver, el: Element | string): Promise<string>;
/**
 * Gets the bounding rect of an element.
 *
 * @param el - Element or element ID
 */
export declare function getElementRect(this: XCUITestDriver, el: Element | string): Promise<Rect>;
/**
 * Gets the top-left location of an element.
 *
 * @param elementId - Element or element ID
 */
export declare function getLocation(this: XCUITestDriver, elementId: Element | string): Promise<Position>;
/**
 * Alias for getLocation.
 *
 * @param elementId - Element or element ID
 */
export declare function getLocationInView(this: XCUITestDriver, elementId: Element | string): Promise<Position>;
/**
 * Gets the size of an element.
 *
 * @param el - Element or element ID
 */
export declare function getSize(this: XCUITestDriver, el: Element | string): Promise<Size>;
/**
 * Legacy alias for setValue; always types via keyboard.
 *
 * @param value - Value to set
 * @param el - Element or element ID
 */
export declare function setValueImmediate(this: XCUITestDriver, value: string | string[] | number, el: Element | string): Promise<void>;
/**
 * Sets an element value (native or web).
 *
 * @param value - Value to set
 * @param el - Element or element ID
 */
export declare function setValue(this: XCUITestDriver, value: string | string[] | number, el: Element | string): Promise<void>;
/**
 * Types text into a web element using atoms.
 *
 * @param atomsElement - Target atoms element
 * @param value - Text to type
 */
export declare function setValueWithWebAtom(this: XCUITestDriver, atomsElement: AtomsElement<string>, value: string | string[] | number): Promise<void>;
/**
 * Sends raw key sequences via WDA.
 *
 * @param value - Keys to send
 */
export declare function keys(this: XCUITestDriver, value: string[] | string | number): Promise<void>;
/**
 * Clears the contents of an element.
 *
 * @param el - Element or element ID
 */
export declare function clear(this: XCUITestDriver, el: Element | string): Promise<void>;
/**
 * Gets content size for table/collection views (native only).
 *
 * @param el - Element or element ID
 */
export declare function getContentSize(this: XCUITestDriver, el: Element | string): Promise<string>;
/**
 * Gets the native rect of an element (no web fallback).
 *
 * @param el - Element or element ID
 */
export declare function getNativeRect(this: XCUITestDriver, el: Element | string): Promise<Rect>;
//# sourceMappingURL=element.d.ts.map