import { default as Column } from '../../core/column/Column';
import { default as Module } from '../../core/Module';
import { default as Row } from '../../core/row/Row';
import { default as Tabulator } from '../../core/Tabulator';

export default class ResponsiveLayout extends Module {
    static moduleName: string;
    static moduleExtensions: {
        format: {
            formatters: {
                responsiveCollapse: typeof import('./extensions/formatters/responsiveCollapse').default;
            };
        };
    };
    columns: Column[];
    hiddenColumns: Column[];
    mode: string;
    index: number;
    collapseFormatter: ((data: any[]) => HTMLElement | string) | false;
    collapseStartOpen: boolean;
    collapseHandleColumn: Column | false;
    constructor(table: Tabulator);
    initialize(): void;
    tableRedraw(force: any): void;
    initializeResponsivity(): void;
    initializeColumn(column: Column): void;
    initializeRow(row: Row): void;
    layoutRow(row: Row): void;
    updateColumnVisibility(column: Column, responsiveToggle?: any): void;
    hideColumn(column: Column): void;
    showColumn(column: Column): Promise<void>;
    update(): void;
    generateCollapsedContent(): void;
    generateCollapsedRowContent(row: Row): void;
    generateCollapsedRowData(row: Row): any[];
    formatCollapsedData(data: any[]): HTMLElement | string;
}
