import { PluginObject } from 'vue';
import { ModulVue } from '../../../utils/vue/vue';
import { MIconButtonSkin } from '../../icon-button/icon-button';
import { MTableColumn, MTableHeadRows, MTableHeadStyle } from '../responsive-table-commons';
interface MTableColumnInternal extends MTableColumn {
    isInitialSort?: boolean;
}
export declare class MTableHead extends ModulVue {
    readonly id: string;
    readonly headRows: MTableHeadRows;
    readonly headStyle: MTableHeadStyle;
    readonly firstColumnFixed: boolean;
    readonly disabled: boolean;
    emitSort(column: MTableColumn): void;
    emitUpdateHeadRows(headRows: MTableHeadRows): void;
    get hasMultipleHeadRow(): boolean;
    getSkinSortIcon(headRowKey: string): MIconButtonSkin;
    sort(currentColumn: MTableColumnInternal, columns: MTableColumnInternal[]): void;
    isColumnSorted(currentColumn: MTableColumn): boolean;
    getColumnAlignmentClass(column: MTableColumn): string | undefined;
    getColumnSortIcon(currentColumn: MTableColumn): string;
    getColumnSortDirectionClass(currentColumn: MTableColumnInternal): string | undefined;
    getColumnWidthStyle(column: MTableColumn): string | undefined;
    private getNextSortDirectionWhenDirectionAsc;
    private getNextSortDirectionWhenDirectionDsc;
    private getNextSortDirectionWhenDirectionNone;
    private getCurrentColumnSortDirection;
}
declare const TableHeadPlugin: PluginObject<any>;
export default TableHeadPlugin;
//# sourceMappingURL=table-head.d.ts.map