import type React from "react";
import type { ReactNode } from "react";
import type { SxProps } from "@mui/material";
import type { MenuItem } from "../DataTable/types";
export type SelectColumnDef<T> = {
    id: string;
    header: string;
    width?: string | number;
    flex?: number;
    minWidth?: number;
    render: (row: T, index: number) => ReactNode;
};
export type SelectDataTableProps<T> = {
    columns: SelectColumnDef<T>[];
    rows: T[];
    getRowId: (row: T) => string;
    selectedIds: string[];
    onRowToggle: (id: string, shiftKey: boolean) => void;
    onToggleAll: () => void;
    allSelected: boolean;
    rowCount?: number;
    isLoading?: boolean;
    skeletonRows?: number;
    onRowClick?: (row: T, event: React.MouseEvent) => void;
    rowActions?: (row: T) => MenuItem[];
    sx?: SxProps;
};
