import { MEmptyAreaBackgroundStyle, MEmptyAreaButtonType, MEmptyAreaDisplayMode } from '../empty-area/empty-area';
export declare enum MTableSortDirection {
    None = 0,
    Asc = 1,
    Dsc = -1
}
export declare enum MTableTextAlign {
    Center = "center",
    Left = "left",
    Right = "right"
}
export interface MTableStyle {
    [CSSProperty: string]: string;
}
export interface MTableColumn {
    name: string;
    value: string;
    data?: any;
    colspan?: number | MTableColspan;
    rowspan?: number;
    visible?: boolean;
    order?: number;
    sortable?: boolean;
    enableUnsort?: boolean;
    sortDirection?: MTableSortDirection;
    defaultSortDirection?: MTableSortDirection;
    width?: string;
    className?: string;
    style?: MTableStyle;
    textAlign?: MTableTextAlign;
}
export interface MTableHeadRow {
    order?: number;
    className?: string;
    columns: MTableColumn[];
    mainColumns?: boolean;
}
export interface MTableHeadRows {
    [row: string]: MTableHeadRow;
}
export interface MTableRowsGroup {
    name: string;
    header?: MTableHeader;
    accordion?: MTableAccordion;
    rows?: MTableRow[];
    emptyArea?: MTableEmptyArea;
    spacingTop?: string;
    spacingClassName?: string;
}
export interface MTableHeader {
    title?: string;
    className?: string;
    style?: MTableStyle;
    cells?: MTableCells;
    data?: any;
}
export interface MTableAccordion {
    open: boolean;
    disabled?: boolean;
    displayIcon?: boolean;
    iconPosition?: MTableAccordionIconPosition;
    iconClassName?: string;
}
export interface MTableRow {
    cells: MTableCells;
    className?: string;
    style?: MTableStyle;
}
export interface MTableCells {
    [columnName: string]: MTableCell;
}
export interface MTableCell {
    value: string;
    data?: any;
    isHeader?: boolean;
    colspan?: number | MTableColspan;
    rowspan?: number;
    className?: string;
    textAlign?: MTableTextAlign;
}
export interface MTableEmptyArea {
    title?: string;
    subtitle?: string;
    svgName?: string;
    svgSize?: string;
    buttonText?: string;
    buttonType?: MEmptyAreaButtonType;
    backgroundStyle?: MEmptyAreaBackgroundStyle;
    displayMode?: MEmptyAreaDisplayMode;
    minHeight?: string;
}
export declare enum MTableColspan {
    AllColumns = "all-columns"
}
export declare enum MTableAccordionIconPosition {
    Left = "left",
    Right = "right"
}
export declare enum MTableHeadStyle {
    Dark = "dark",
    Light = "light",
    Lightest = "lightest",
    Any = "any"
}
export declare enum MTableRowsStyle {
    AlternateBackground = "alternate-background",
    Borders = "borders",
    CellBorders = "cell-borders"
}
export declare enum MTableGroupHeaderStyle {
    Dark = "dark",
    Light = "light",
    Any = "any"
}
export declare const getCellAlignmentClass: (textAlign?: MTableTextAlign) => string;
export declare const getCellWidthStyle: (column: MTableColumn) => string | undefined;
export declare const getHeadRowsFilterAndSort: (headRows: MTableHeadRows) => MTableHeadRows;
export declare const getTotalColumnsLength: (columns: MTableColumn[]) => number;
//# sourceMappingURL=responsive-table-commons.d.ts.map