export interface UseOnAnimationEndOptions { /** * Wait for animations running on descendant elements (`getAnimations({ subtree: true })`). * Off by default: an indefinitely looping descendant animation (e.g. a spinner) would never * settle and the callback would never fire. */ subtree?: boolean; } /** * Waits for an element's running CSS animations/transitions to finish, then calls `onAnimationEnd` * exactly once. If nothing is animating, the callback fires immediately. * * Uses the Web Animations API (`element.getAnimations()` + each animation's `finished` promise). * Only animations on the element itself are observed unless `options.subtree` is set. * * @param ref - Ref to the animated DOM element (null while not animating → the hook is inert). * @param onAnimationEnd - Callback invoked once when the animations settle. * @param options - See {@link UseOnAnimationEndOptions}. */ export declare function useOnAnimationEnd(ref: React.RefObject, onAnimationEnd: () => void, options?: UseOnAnimationEndOptions): void;