import { useEffect } from "react"; export declare const useIsomorphicLayoutEffect: typeof useEffect; /** Hook options. */ type UseScrollLockOptions = { /** * Whether to lock the scroll initially. * @default true */ autoLock?: boolean; /** * The target element to lock the scroll (default is the body element). * @default document.body */ lockTarget?: HTMLElement | string; /** * Whether to prevent width reflow when locking the scroll. * @default true */ widthReflow?: boolean; }; /** Hook return type. */ type UseScrollLockReturn = { /** Whether the scroll is locked. */ isLocked: boolean; /** Lock the scroll. */ lock: () => void; /** Unlock the scroll. */ unlock: () => void; }; /** * A custom hook that locks and unlocks scroll. * @param {UseScrollLockOptions} [options] - Options to configure the hook, by default it will lock the scroll automatically. * @returns {UseScrollLockReturn} - An object containing the lock and unlock functions. * @public * @see [Documentation](https://usehooks-ts.com/react-hook/use-scroll-lock) * @example * ```tsx * // Lock the scroll when the modal is mounted, and unlock it when it's unmounted * useScrollLock() * ``` * @example * ```tsx * // Manually lock and unlock the scroll * const { lock, unlock } = useScrollLock({ autoLock: false }) * * return ( *