interface IdbUiFindElementArgs {
    udid?: string;
    query: string;
}
/**
 * Find UI elements by label or identifier - semantic element search in accessibility tree
 *
 * **What it does:**
 * Queries the accessibility tree and searches for elements matching a label or identifier.
 * Returns matching elements with tap-ready coordinates (centerX, centerY), enabling agents
 * to find specific UI controls without visual analysis. Fast semantic search replaces
 * screenshot-based visual scanning for complex UIs.
 *
 * **Why you'd use it:**
 * - Find specific button, field, or cell by label name without needing screenshots
 * - Reduce token usage by searching semantically instead of analyzing screenshots
 * - Navigate complex layouts by searching for element names ("login", "submit", "email")
 * - Get immediate tap coordinates without visual pattern matching
 *
 * **Parameters:**
 * - query (required): Search term to match against element labels or identifiers
 * - udid (optional): Target identifier - auto-detects if omitted
 *
 * **Returns:**
 * Array of matching elements with type, label, identifier, and tap-ready coordinates (centerX, centerY).
 * Returns empty array if no matches found - query can be refined or try full tree with idb-ui-describe.
 *
 * **Example:**
 * ```typescript
 * // Find login button
 * const result = await idbUiFindElementTool({
 *   query: 'login',
 *   udid: 'DEVICE-UDID'
 * });
 * // Returns: [{ type: 'Button', label: 'Login', centerX: 200, centerY: 400 }]
 * // Immediately tap it: idb-ui-tap --x 200 --y 400
 *
 * // Find email field
 * const emailField = await idbUiFindElementTool({
 *   query: 'email'
 * });
 * // Returns email input field with coordinates, ready to type into
 * ```
 *
 * **Full documentation:** See idb/ui-find-element.md
 *
 * @param args Tool arguments with search query and optional UDID
 * @returns Tool result with matching elements
 */
export declare const IDB_UI_FIND_ELEMENT_DOCS = "\n# idb-ui-find-element\n\nFind UI elements by semantic search in accessibility tree - no screenshots needed.\n\n## Overview\n\nQueries the accessibility tree and searches for elements matching a label or identifier. Returns matching elements with tap-ready coordinates (centerX, centerY), enabling agents to find specific UI controls without visual analysis. Fast semantic search replaces screenshot-based visual scanning for complex UIs.\n\n## Parameters\n\n### Required\n- **query** (string): Search term to match against element labels or identifiers\n\n### Optional\n- **udid** (string): Target identifier - auto-detects if omitted\n\n## Returns\n\nArray of matching elements with:\n- Type, label, identifier\n- Tap-ready coordinates (centerX, centerY)\n- Full frame boundaries (x, y, width, height)\n\nReturns empty array if no matches found.\n\n## Examples\n\n### Find login button\n```typescript\nconst result = await idbUiFindElementTool({\n  query: 'login'\n});\n```\n\n### Find email field on specific device\n```typescript\nconst emailField = await idbUiFindElementTool({\n  query: 'email',\n  udid: 'DEVICE-UDID'\n});\n```\n\n### Find by identifier partial match\n```typescript\nconst search = await idbUiFindElementTool({\n  query: 'submit'\n});\n```\n\n## How It Works\n\n1. **Query accessibility tree**: Calls `idb ui describe-all` (~80ms)\n2. **Filter by query**: Searches element labels and identifiers (case-insensitive partial match)\n3. **Return coordinates**: Provides tap-ready centerX/centerY for direct use with idb-ui-tap\n\n## Related Tools\n\n- `accessibility-quality-check`: Quick assessment of accessibility data richness\n- `idb-ui-describe`: Full accessibility tree with all element details\n- `idb-ui-tap`: Tap elements using coordinates\n- `screenshot`: Visual fallback if accessibility insufficient\n\n## Notes\n\n- Uses case-insensitive partial matching (\"log\" matches \"Login\")\n- Returns all matching elements (filter in agent logic if needed)\n- Only returns elements with valid frame coordinates\n- Much faster than visual analysis (~80ms vs 2000ms for screenshot)\n- 5-6x cheaper token cost (~40 tokens vs ~170 for screenshot)\n";
export declare const IDB_UI_FIND_ELEMENT_DOCS_MINI = "Find UI elements by semantic search. Use rtfm({ toolName: \"idb-ui-find-element\" }) for docs.";
export declare function idbUiFindElementTool(args: IdbUiFindElementArgs): Promise<{
    content: {
        type: "text";
        text: string;
    }[];
    isError: boolean;
}>;
export {};
//# sourceMappingURL=ui-find-element.d.ts.map