import { ReactNode } from 'react'; /** * Props for the InView component * @property {ReactNode} children - The content to render inside the visibility-tracked container * @property {(isVisible: boolean) => void} [onVisibilityChange] - Callback fired when visibility changes */ type InViewProps = { /** * The content to render inside the visibility-tracked container */ children?: ReactNode; /** * Callback fired when the element's visibility in the viewport changes */ onVisibilityChange?: (isVisible: boolean) => void; /** * The root margin for the intersection observer */ rootMargin?: string; }; /** * Internal component that detects when its content is visible in the viewport. * * Features: * - Uses Intersection Observer API for efficient visibility detection * - Fires callback when visibility state changes * - Handles browser compatibility gracefully * - Automatically cleans up observer on unmount * * @param props - Component props * @returns Wrapped children with visibility detection */ export declare const InView: ({ children, onVisibilityChange, rootMargin, }: InViewProps) => import("react/jsx-runtime").JSX.Element; export {};