import { ColumnDef, OnChangeFn, RowSelectionState } from "@tanstack/react-table";
import { ListData, ListDataItem, ModelIcon, ModelName } from "../types";
interface DataTableDefaultProps {
    columns: ColumnDef<ListDataItem<ModelName>>[];
    data: ListData<ModelName>;
    resource: ModelName;
    resourcesIdProperty: Record<ModelName, string>;
    rowSelection: RowSelectionState;
    setRowSelection?: OnChangeFn<RowSelectionState>;
    icon?: ModelIcon;
    editing?: boolean;
    onRemoveClick?: (value: any) => void;
    deletable?: boolean;
    onOrderChange?: undefined;
    orderField?: undefined;
}
type OrderableDataTableProps = Omit<DataTableDefaultProps, "onOrderChange" | "orderField"> & {
    onOrderChange: (value: {
        currentId: string | number;
        moveOverId: string | number;
    }) => void;
    orderField: string;
};
export declare function DataTable({ columns, data, resource, resourcesIdProperty, rowSelection, setRowSelection, icon, onRemoveClick, deletable, onOrderChange, orderField, }: OrderableDataTableProps | DataTableDefaultProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=DataTable.d.ts.map