import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
export declare enum MTableSkin {
    Regular = "regular",
    Simple = "simple"
}
export declare enum MColumnSortDirection {
    None = 0,
    Asc = 1,
    Dsc = -1
}
export declare enum MColumnTextAlign {
    Center = "center",
    Left = "left",
    Right = "right"
}
export interface MColumnTable {
    id: string;
    title: string;
    dataProp: string;
    width?: string;
    sortable?: boolean;
    enableUnsort?: boolean;
    textAlign?: MColumnTextAlign;
    class?: string;
    sortDirection?: MColumnSortDirection;
    defaultSortDirection?: MColumnSortDirection;
    visible?: boolean;
    fixed?: boolean;
    ignored?: boolean;
}
interface MColumnTableInternal extends MColumnTable {
    isInitialSort?: boolean;
}
export declare class MTable extends ModulVue {
    skin: MTableSkin;
    columns: MColumnTable[];
    rows: any[];
    loading: boolean;
    rowHighlightedOnHover: boolean;
    widthPlaceholder: string;
    i18nEmptyTable: string;
    i18nLoading: string;
    i18nPleaseWait: string;
    i18nSort: string;
    private onAdd;
    private emitSortApplied;
    get isEmpty(): boolean;
    get placeholderPositionType(): string;
    get columnsInternal(): MColumnTableInternal[];
    sort(columnTable: MColumnTableInternal): void;
    isColumnSorted(columnTable: MColumnTable): boolean;
    isColumnTextAlignCenter(columnTable: MColumnTable): boolean;
    isColumnTextAlignLeft(columnTable: MColumnTable): boolean;
    isColumnTextAlignRight(columnTable: MColumnTable): boolean;
    getColumnSortDirectionClass(columnTable: MColumnTable): string | undefined;
    getColumnSortIcon(columnTable: MColumnTable): string;
    columnWidth(col: MColumnTable): {
        width: string;
    } | '';
}
declare const TablePlugin: PluginObject<any>;
export default TablePlugin;
//# sourceMappingURL=table.d.ts.map