import { ReactNode } from 'react';
import { TableColumnDefinition, TableHorizontalAlign, TableRowData, TableSortDirection, TableVerticalAlign } from '../Table.types';
export type TableViewHeaderColumn<RowType extends TableRowData> = {
    key: string | number;
    columnKey?: string;
    label: ReactNode;
    icon?: string;
    filter?: ReactNode;
    hideLabel?: boolean;
    horizontalAlign?: TableHorizontalAlign;
    verticalAlign?: TableVerticalAlign;
    className?: string;
    headerClassName?: string;
    hideOnMobile?: boolean;
    draggable?: boolean;
    resizeable?: boolean;
    sortable?: boolean;
    sortDirection?: TableSortDirection;
    rowStart: number;
    rowSpan: number;
    columnStart: number;
    colSpan: number;
    source?: TableColumnDefinition<RowType>;
};
export type TableViewHeader<RowType extends TableRowData> = {
    rowCount: number;
    totalColumnCount: number;
    columns: TableViewHeaderColumn<RowType>[];
};
export type TableViewCardClasses = {
    rowClassName?: string;
    cellClassName?: string;
    labelClassName?: string;
    contentClassName?: string;
};
export type TableViewFlags = {
    hasHeader: boolean;
    hasFooter: boolean;
    isClickable: boolean;
    isTableView: boolean;
};
