export type HyperframePickerBoundingBox = { x: number; y: number; width: number; height: number; }; export type HyperframePickerElementInfo = { id: string | null; tagName: string; selector: string; label: string; boundingBox: HyperframePickerBoundingBox; textContent: string | null; src: string | null; dataAttributes: Record; }; export type HyperframePickerApi = { enable: () => void; disable: () => void; isActive: () => boolean; getHovered: () => HyperframePickerElementInfo | null; getSelected: () => HyperframePickerElementInfo | null; getCandidatesAtPoint: ( clientX: number, clientY: number, limit?: number, ) => HyperframePickerElementInfo[]; pickAtPoint: ( clientX: number, clientY: number, index?: number, ) => HyperframePickerElementInfo | null; pickManyAtPoint: ( clientX: number, clientY: number, indexes?: number[], ) => HyperframePickerElementInfo[]; }; declare global { interface Window { __HF_PICKER_API?: HyperframePickerApi; } }