import { ReactNode } from 'react';
import { TableHtmlAttributes } from './Table.types';
export type TableBodyProps = TableHtmlAttributes & {
    /**
     * Body sections are expected to render row components such as `TableRow`,
     * `TableExpandedRow`, `TableExpandedContentRow`, `TableGroupRow`,
     * `TableGroupFooterRow`, or `TableSpacerRow`.
     *
     * Rows may be wrapped by custom React components, but direct `TableColumn`
     * children of `TableBody` are not supported.
     */
    children?: ReactNode;
    /**
     * Optional max height of rendered table body.
     * Enables vertical scrolling inside the body.
     */
    maxHeight?: number | string;
    /**
     * Called when the scrollable table body reaches the bottom threshold.
     *
     * This is useful for progressive loading patterns such as appending the next
     * chunk of rows when the user scrolls to the end of the body.
     */
    onScrollBottom?: () => void;
    /**
     * Distance in pixels from the bottom at which `onScrollBottom` should fire.
     *
     * Set this to `0` to only trigger when the body is scrolled fully to the end.
     *
     * @default 0
     */
    scrollBottomOffset?: number;
};
export type TableBodyHandle = {
    scrollToTop: () => void;
    scrollTo: (options: ScrollToOptions) => void;
    getScrollElement: () => HTMLDivElement | null;
};
declare const _default: import('react').ForwardRefExoticComponent<TableHtmlAttributes & {
    /**
     * Body sections are expected to render row components such as `TableRow`,
     * `TableExpandedRow`, `TableExpandedContentRow`, `TableGroupRow`,
     * `TableGroupFooterRow`, or `TableSpacerRow`.
     *
     * Rows may be wrapped by custom React components, but direct `TableColumn`
     * children of `TableBody` are not supported.
     */
    children?: ReactNode;
    /**
     * Optional max height of rendered table body.
     * Enables vertical scrolling inside the body.
     */
    maxHeight?: number | string;
    /**
     * Called when the scrollable table body reaches the bottom threshold.
     *
     * This is useful for progressive loading patterns such as appending the next
     * chunk of rows when the user scrolls to the end of the body.
     */
    onScrollBottom?: () => void;
    /**
     * Distance in pixels from the bottom at which `onScrollBottom` should fire.
     *
     * Set this to `0` to only trigger when the body is scrolled fully to the end.
     *
     * @default 0
     */
    scrollBottomOffset?: number;
} & import('react').RefAttributes<TableBodyHandle>>;
export default _default;
