import { default as React } from 'react';
export interface InfiniteScrollProps {
    /** The content to be rendered (list items, grid items, etc.). */
    children: React.ReactNode;
    /** Function to call when the bottom of the list is reached. */
    onLoadMore: () => void | Promise<void>;
    /** Whether there are more items to load. */
    hasMore: boolean;
    /** Whether a fetch request is currently in progress. */
    isLoading: boolean;
    /** Custom loader component to display while loading. */
    loader?: React.ReactNode;
    /** Message to display when there are no more items to load. */
    endMessage?: React.ReactNode;
    /**
     * The root element to use as the viewport for checking visibility.
     * If null, defaults to the browser viewport.
     * Pass a ref.current here if using a custom scroll container.
     */
    root?: HTMLElement | null;
    /** Margin around the root. Can be used to trigger load before reaching the exact bottom. */
    rootMargin?: string;
    className?: string;
}
export declare const InfiniteScroll: {
    ({ children, onLoadMore, hasMore, isLoading, loader, endMessage, root, rootMargin, className, }: InfiniteScrollProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
