import { PropsWithChildren, ReactHTML } from 'react';
import { DefaultAttributes } from '../types';
declare type Axis = 'x' | 'y';
export declare type InfiniteScrollProps = DefaultAttributes & PropsWithChildren<{
    element: keyof ReactHTML;
    threshold: number | Record<Axis, number>;
    loadMore(): void;
    hasMore?: boolean;
    axis: Axis;
    loader?: JSX.Element;
}>;
/**
 * Component to handle infinite scrolling of paginated data sets. This component is built to work
 * with both x (horizontal) and y (vertical) directions.
 *
 * If migrating from using `react-infinite-scroller`, all shared props should hold the same value.
 */
export declare function InfiniteScroll({ element, loadMore, children, hasMore, threshold, axis, loader, ...defaultProps }: InfiniteScrollProps): import("react").DetailedReactHTMLElement<{
    ref: import("react").RefObject<HTMLElement>;
    onScroll: {
        (e: Event): void;
        (e: React.UIEvent<HTMLElement>): void;
    };
    "data-testid"?: string | undefined;
    "data-trackid"?: string | undefined;
    "aria-label"?: string | undefined;
    "aria-checked"?: boolean | undefined;
    id?: string | undefined;
}, HTMLElement>;
export {};
