import { AccessibilityNode, Bounds } from "../parsers/ui-dump.js"; export declare const MIN_ICON_SIZE = 16; export declare const MAX_ICON_SIZE = 200; export declare const MIN_ASPECT_RATIO = 0.5; export declare const MAX_ASPECT_RATIO = 2; export declare const MAX_CANDIDATES = 6; /** * Check if dimensions are within icon size constraints. */ export declare function isIconSized(width: number, height: number): boolean; /** * Filter accessibility nodes to find unlabeled clickable elements that are icon-sized. * Returns max 6 candidates sorted by position (top-to-bottom, left-to-right). */ export declare function filterIconCandidates(nodes: AccessibilityNode[]): AccessibilityNode[]; /** * Format candidate bounds as string "[x0,y0][x1,y1]" */ export declare function formatBounds(node: AccessibilityNode): string; /** * Crop a region from an image and return as base64 JPEG. * Scales down to max 128x128 if larger. */ export declare function cropCandidateImage(imagePath: string, bounds: Bounds): Promise;