import type React from "react"; /** * Manage modal mount/unmount transitions and provide measured content dimensions. * * - Controls mount state via react-transition-state (timeout: 160ms). * - Locks body scroll when the modal is mounted and rendered outside the trigger. * - Measures content size (width/height) and exposes a CSS-friendly object for use by the modal. * - `resizeDependency` may be changed by callers (e.g. triggerResize()) to force a re-measure. * * The hook attempts to avoid transient zero-size measurements and keeps a short * "inTransition" window after content is attached so layout can settle before consumers * react to the new dimensions. */ export declare function useModalTransition({ open, positionInside, onClose, resizeDependency, }: { open: boolean; positionInside?: boolean; onClose?: () => void; /** When this value changes, the modal re-measures its content (e.g. from triggerResize()). */ resizeDependency?: number; }): { state: import("react-transition-state").TransitionState; mounted: boolean; rendered: boolean; inTransition: boolean; contentRef: (node: HTMLDivElement | null) => void; dimensionsCSS: React.CSSProperties; };