/** * Props for the useDialogScrollLock hook * @property {boolean} open - Whether the dialog is open * @property {string} id - Unique identifier for the dialog * @property {boolean} [enableScrollChaining] - Whether to enable scroll chaining * @property {React.RefObject} elementRef - Reference to the dialog element */ export interface UseDialogScrollLockProps { /** * Whether the dialog is open */ open: boolean; /** * Unique identifier for the dialog */ id: string; /** * Whether to enable scroll chaining */ enableScrollChaining?: boolean; /** * Reference to the dialog element */ elementRef: React.RefObject; } /** * Custom hook for managing dialog scroll lock in shadow DOM environments. * * Features: * - Manages scroll lock state for dialogs in shadow DOM * - Tracks multiple open dialogs with unique IDs * - Prevents scroll chaining when dialogs are open * - Automatically cleans up scroll lock on unmount * - Supports enabling/disabling scroll chaining * - Uses data attributes to track dialog state * * @param props - Configuration object containing dialog state and element reference * @returns void */ export declare const useDialogScrollLock: ({ open, id, enableScrollChaining, elementRef, }: UseDialogScrollLockProps) => void;