import { type JSX, type ReactNode } from 'react';
import { type DataTableBodyScrollMode, type DataTableColumn, type GetRowId } from '../../../components/data-table/DataTable.js';
import { type BackofficeToolbarProps } from '../../molecules/backoffice_toolbar/BackofficeToolbar.js';
export type BackofficeDataTableSelection<Row> = {
    selectedRowIds: ReadonlySet<string>;
    onSelectionChange: (next: ReadonlySet<string>) => void;
    isRowSelectable?: (row: Row, index: number) => boolean;
};
export type BackofficeDataTableProps<Row> = {
    columns: readonly DataTableColumn<Row>[];
    rows: readonly Row[];
    getRowId: GetRowId<Row>;
    toolbar?: BackofficeToolbarProps;
    selection?: BackofficeDataTableSelection<Row>;
    bulkActions?: ReactNode;
    emptyState?: JSX.Element;
    className?: string;
    selectAllLabel?: string;
    selectRowLabel?: (row: Row, index: number) => string;
    ariaLabel?: string;
    bodyScrollMode?: DataTableBodyScrollMode;
};
export declare const BackofficeDataTable: <Row>({ columns, rows, getRowId, toolbar, selection, bulkActions, emptyState, className, selectAllLabel, selectRowLabel, ariaLabel, bodyScrollMode, }: BackofficeDataTableProps<Row>) => JSX.Element;
export default BackofficeDataTable;
//# sourceMappingURL=BackofficeDataTable.d.ts.map