import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MAutoHorizontalScrollGradientStyle, MAutoHorizontalScrollResizeProperties } from './../auto-horizontal-scroll/auto-horizontal-scroll';
import { MTableColumn, MTableEmptyArea, MTableGroupHeaderStyle, MTableHeadRows, MTableHeadStyle, MTableRow, MTableRowsGroup, MTableRowsStyle } from './responsive-table-commons';
export declare class MResponsiveTable extends ModulVue {
    readonly id?: string;
    readonly headRows?: MTableHeadRows;
    readonly columns?: MTableColumn[];
    readonly rowGroups?: MTableRowsGroup[];
    readonly rows?: MTableRow[];
    readonly defaultEmptyArea?: MTableEmptyArea;
    readonly waiting: boolean;
    readonly displayTableHead: boolean;
    readonly rowHighlightedOnHover: boolean;
    readonly headStyle: MTableHeadStyle;
    readonly rowsStyle: MTableRowsStyle;
    readonly groupHeaderStyle: MTableGroupHeaderStyle;
    readonly groupHeaderClassName: string;
    readonly dragActive: boolean;
    readonly leftGradientActive: boolean;
    readonly rightGradientActive: boolean;
    readonly gradientStyle: MAutoHorizontalScrollGradientStyle;
    readonly previousButtonActive: boolean;
    readonly nextButtonActive: boolean;
    readonly previousButtonText?: string;
    readonly nextButtonText?: string;
    readonly firstColumnFixedActive: boolean;
    readonly tableMinWidth: string;
    readonly horizontalScrollOffset?: number;
    readonly displayHorizontalScrollbar: boolean;
    emitEmptyButtonClick(rowsGroup: MTableRowsGroup): void;
    horizontalScrollOffsetInterne: number;
    hasHorizontalScroll: boolean;
    tableComponentWidth: string;
    headRowsInterne: MTableHeadRows;
    emitSort(_column: MTableColumn): void;
    emitUpdateHorizontalScrollOffset(horizontalScrollOffset: number): void;
    emitHorizontalScollbarWidth(scrollbarWidth: number): void;
    emitOpenAccordion(rowsGroup: MTableRowsGroup): void;
    emitCloseAccordion(rowsGroup: MTableRowsGroup): void;
    emitPreviousButtonClick(event: MouseEvent): void;
    emitNextButtonClick(event: MouseEvent): void;
    onHorizontalScrollOffsetChangement(value: number | undefined): void;
    onHeadRowsChange(): void;
    onColumnsChange(): void;
    get idTable(): string;
    get formatRowGroups(): MTableRowsGroup[];
    get headRowsFilterAndSort(): MTableHeadRows;
    set headRowsFilterAndSort(headRows: MTableHeadRows);
    get allColumns(): MTableColumn[];
    get mainColumns(): MTableColumn[];
    get mainColumnsLength(): number;
    get hasRowsGroup(): boolean;
    set horizontalScrollOffsetProp(value: number);
    get horizontalScrollOffsetProp(): number;
    get firstColumnFixed(): boolean;
    get hasDefaultEmptyArea(): boolean;
    resizeComponant(properties: MAutoHorizontalScrollResizeProperties): void;
    getSpacingTop(rowsGroup: MTableRowsGroup): string | undefined;
    getSpacingTopAreaStyle(rowsGroup: MTableRowsGroup): {
        height: string | undefined;
    };
    getSpacingTopStyle(rowsGroup: MTableRowsGroup): {
        height: string | undefined;
        width: string;
        left: string;
    };
    protected beforeMount(): void;
    private initializeHeadRow;
    private getHeadRowsArray;
    private hasSomeMainColumnsInHeadRowsArray;
}
declare const ResponsiveTablePlugin: PluginObject<any>;
export default ResponsiveTablePlugin;
//# sourceMappingURL=responsive-table.d.ts.map