import React from "react";
export interface CellValue {
    value: React.ReactNode;
    rawValue?: number | string;
    [key: string]: any;
}
export interface TableHeader {
    key: string;
    label: React.ReactNode;
    isSortable?: boolean;
    sort?: "none" | "ascending" | "descending";
    cellProps?: React.HTMLAttributes<HTMLTableCellElement>;
    headCellProps?: React.HTMLAttributes<HTMLTableCellElement>;
}
export interface TableRow {
    [key: string]: React.ReactNode | CellValue | TableRow[] | boolean | undefined;
    expand?: TableRow[];
    isExpanded?: boolean;
    id?: string;
}
export interface ExpandableRowsCaptions {
    header: string;
    emptyRow: string;
}
export interface ExpandableRows {
    hasExpandableRows: boolean;
    expandableRowsCaptions?: ExpandableRowsCaptions;
}
export interface TableContextType {
    headers: TableHeader[];
    rows: TableRow[];
    footers?: TableRow[];
    expandableRows?: ExpandableRows;
    isResponsive?: boolean;
}
