import type { MutableRefObject, RefObject } from 'react'; import type { Gettable } from "../utils/basic.js"; import type { AtomBaseTarget, ElementTarget, GlobalTarget } from "./normalize-element.js"; export * from "./normalize-element.js"; export type UseTargetElementOptions = { /** * Callback when the target element is initialized * * @since 1.14.0 */ onInitialized?: (element: Element | GlobalTarget | null) => void; /** * Callback when the target element changes * * @since 1.14.0 */ onChange?: (element: Element | GlobalTarget | null) => void; }; /** * A React Hook that helps to get the target element via selector, ref, element and more. */ export declare function useTargetElement(target: Gettable, options?: UseTargetElementOptions): RefObject; export declare function useTargetElement(target: Gettable, options?: UseTargetElementOptions): RefObject; export declare function useTargetElement(target: Gettable, options?: UseTargetElementOptions): RefObject; export declare function useTargetElement(target: Gettable, options?: UseTargetElementOptions): RefObject; export declare function useTargetElement = ElementTarget>(target: Gettable, options?: UseTargetElementOptions): RefObject; export declare function useTargetElement | R>(target: Gettable, options?: UseTargetElementOptions): RefObject;