export declare const IOS_BUTTON_TYPES: readonly ["HOME", "LOCK", "SIDE_BUTTON", "SIRI", "APPLE_PAY"]; export type iOSButtonType = (typeof IOS_BUTTON_TYPES)[number]; export declare function isIdbAvailable(): Promise; export declare function isAxeAvailable(): Promise; export declare function isUiDriverAvailable(): Promise; export declare function getUiDriverInstallHint(): string; export interface iOSSimulator { udid: string; name: string; state: "Booted" | "Shutdown" | "Creating" | string; runtime: string; deviceType?: string; isAvailable?: boolean; } export interface iOSResult { success: boolean; result?: string; error?: string; data?: Buffer; scaleFactor?: number; originalWidth?: number; originalHeight?: number; simulators?: iOSSimulator[]; } export interface iOSAccessibilityElement { AXLabel?: string; AXValue?: string; AXFrame?: string; frame?: { x: number; y: number; width: number; height: number; }; AXUniqueId?: string; type?: string; children?: iOSAccessibilityElement[]; [key: string]: unknown; } export interface iOSDescribeResult extends iOSResult { elements?: iOSAccessibilityElement[]; } export declare const XCODE_MISSING_ERROR: string; export declare function isSimctlAvailable(): Promise; export declare function resetSimctlAvailableCache(): void; export declare function listIOSSimulators(onlyBooted?: boolean): Promise; export declare function buildNoSimulatorError(): Promise; export declare function getBootedSimulatorUdid(): Promise; export declare function findSimulatorByName(deviceName: string): Promise; export declare function getActiveOrBootedSimulatorUdid(): Promise; export declare function iosScreenshot(outputPath?: string, udid?: string): Promise; export declare function defaultScreenshotPath(prefix?: string): string; export declare function finalizeScreenshotFile(finalOutputPath: string): Promise; export declare function iosInstallApp(appPath: string, udid?: string): Promise; export declare function iosLaunchApp(bundleId: string, udid?: string): Promise; export declare function iosOpenUrl(url: string, udid?: string): Promise; export declare function iosTerminateApp(bundleId: string, udid?: string): Promise; export declare function iosBootSimulator(udid: string): Promise; export declare function iosTap(x: number, y: number, options?: { duration?: number; udid?: string; }): Promise; export declare function iosSwipe(startX: number, startY: number, endX: number, endY: number, options?: { duration?: number; delta?: number; udid?: string; }): Promise; export declare function iosInputText(text: string, udid?: string): Promise; export declare function iosButton(button: iOSButtonType, options?: { duration?: number; udid?: string; }): Promise; export declare function iosKeyEvent(keycode: number, options?: { duration?: number; udid?: string; }): Promise; export declare function iosKeySequence(keycodes: number[], udid?: string): Promise; export declare function getIOSSafeAreaTop(udid?: string): Promise; export declare function getIOSScreenPointSize(udid?: string): Promise<{ width: number; height: number; } | null>; export declare function iosDescribeAll(udid?: string): Promise; export declare function detectIOSSystemOverlay(udid?: string): Promise<{ detected: boolean; description?: string; } | null>; export declare function formatIOSSystemOverlayWarning(detection: { detected: boolean; description?: string; }): string; export declare function iosDescribePoint(x: number, y: number, udid?: string): Promise; export declare function iosTapElement(options: { label?: string; labelContains?: string; index?: number; duration?: number; udid?: string; }): Promise; export interface IOSUIElement { label: string; value: string; type: string; identifier: string; frame: { x: number; y: number; width: number; height: number; }; center: { x: number; y: number; }; enabled: boolean; traits: string[]; } export interface IOSFindElementResult { success: boolean; found: boolean; element?: IOSUIElement; allMatches?: IOSUIElement[]; matchCount?: number; error?: string; } export interface IOSWaitForElementResult extends IOSFindElementResult { elapsedMs?: number; timedOut?: boolean; } export interface IOSFindElementOptions { label?: string; labelContains?: string; value?: string; valueContains?: string; type?: string; identifier?: string; identifierContains?: string; index?: number; } export declare function iosGetUITree(udid?: string): Promise<{ success: boolean; elements?: IOSUIElement[]; rawOutput?: string; error?: string; }>; export type IOSUITree = Awaited>; export declare function iosFindElement(options: IOSFindElementOptions, udid?: string, tree?: IOSUITree): Promise; export declare function calculateDPR(screenshotPixelWidth: number, screenPointWidth: number): number; export declare function getDevicePixelRatio(udid?: string, pixelDims?: { width: number; height: number; }): Promise; export declare function getIOSScreenPixelSize(udid?: string, pixelDims?: { width: number; height: number; }): Promise<{ width: number; height: number; } | null>; export declare function clearDPRCache(): void; export declare function iosWaitForElement(options: IOSFindElementOptions & { timeoutMs?: number; pollIntervalMs?: number; }, udid?: string): Promise; //# sourceMappingURL=ios.d.ts.map