import { Row } from '@tanstack/react-table';
import { useColumnOrder } from './useColumnOrder';
export type DataTableBodyRowProps<T> = {
    columnOrder: ReturnType<typeof useColumnOrder>["columnOrder"];
    row: Row<T>;
    rowIndex: number;
    tableHasSubRows: boolean;
    isExpanded: boolean;
    canExpand: boolean;
    depth: number;
    parentRowCanExpand: boolean;
    isSelected: boolean;
    isSomeSelected: boolean;
    /**
     * Optional consumer-provided function that returns a value expressing
     * "this row has changed." When supplied, the row is memoized: a row will
     * only re-render when the returned value differs from the previous render,
     * the row's internal UI state changes (expansion, selection, etc.), or
     * any row it depends on changes structurally. When omitted, every row
     * re-renders whenever the parent re-renders.
     */
    getRowVersion?: (row: T) => unknown;
};
declare function DataTableBodyRowInner<T>({ columnOrder, row, rowIndex, tableHasSubRows, isExpanded, canExpand, depth, parentRowCanExpand, }: DataTableBodyRowProps<T>): import("react/jsx-runtime").JSX.Element;
export declare const DataTableBodyRow: typeof DataTableBodyRowInner;
export {};
