import React from 'react';
import { TableProps } from '@mui/joy';
declare const Table: {
    (props: TableProps): React.JSX.Element;
    displayName: string;
};
export { Table };
interface HeadCell {
    label: string;
    numeric?: boolean;
    width?: string;
    minWidth?: string;
    maxWidth?: string;
}
declare function TableHead<D extends Record<string, unknown>>(props: {
    headCells: HeadCell[];
    /**
     * Show Checkbox to select all rows
     */
    showCheckbox?: boolean;
    onCheckboxChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * Inject custom component
     */
    slots?: {
        checkbox?: React.ElementType;
    };
    slotProps?: {
        checkbox?: Partial<{
            checked: boolean;
            indeterminate: boolean;
            [key: string]: any;
        }>;
    };
}): React.JSX.Element;
declare namespace TableHead {
    var displayName: string;
}
export { TableHead };
interface TableBodyProps<D extends Record<string, unknown>> {
    rows: D[];
    cellOrder: (keyof D)[];
    rowOptions?: Partial<Record<keyof D, {
        numeric?: boolean;
    }>>;
    showCheckbox?: boolean;
    onCheckboxChange?: (event: React.ChangeEvent<HTMLInputElement>, rowIndex: number) => void;
    slots?: {
        checkbox?: React.ElementType;
    };
    slotProps?: {
        checkbox?: Partial<{
            checked: boolean;
            [key: string]: any;
        }>;
    };
}
declare function TableBody<D extends Record<string, unknown>>(props: TableBodyProps<D>): React.JSX.Element;
declare namespace TableBody {
    var displayName: string;
}
export { TableBody };
