import type { UiElement } from "./types.js"; /** * Find elements by text (partial match, case-insensitive) */ export declare function findByText(elements: UiElement[], text: string): UiElement[]; /** * Find elements by resource ID (partial match) */ export declare function findByResourceId(elements: UiElement[], id: string): UiElement[]; /** * Find elements by class name */ export declare function findByClassName(elements: UiElement[], className: string): UiElement[]; /** * Find clickable elements */ export declare function findClickable(elements: UiElement[]): UiElement[]; /** * Find elements by multiple criteria */ export declare function findElements(elements: UiElement[], criteria: { text?: string; resourceId?: string; className?: string; clickable?: boolean; enabled?: boolean; visible?: boolean; }): UiElement[]; /** * Find the smallest clickable ancestor whose bounds fully contain the target element. * Useful for grid/list items where the visible label (TextView) is non-clickable but * the parent ViewGroup carries the TapGestureRecognizer. * * Returns null if no clickable ancestor exists, or if the only candidate is so large * it likely covers the whole screen (heuristic: >75% of any screen dimension). */ export declare function findClickableAncestor(target: UiElement, all: UiElement[], options?: { maxAreaMultiplier?: number; }): UiElement | null; /** * Find best element by description (smart fuzzy search). * Returns the best match or null. */ export declare function findBestMatch(elements: UiElement[], description: string, options?: { walkToClickable?: boolean; }): { element: UiElement; confidence: number; reason: string; } | null; //# sourceMappingURL=element-finders.d.ts.map