import { ITabulator } from '../../../../../../types/src/table';
import { default as Column } from '../../core/column/Column';
import { default as Module } from '../../core/Module';

type LayoutMode = 'fitData' | 'fitColumns' | 'fitDataFill' | 'fitDataStretch' | 'fitDataTable';
type LayoutModeFunction = (this: Layout, columns: Column[], dataChanged?: boolean) => void | Promise<void>;
export default class Layout extends Module {
    static moduleName: string;
    static modes: Record<LayoutMode, LayoutModeFunction>;
    mode: LayoutMode | null;
    constructor(table: ITabulator);
    initialize(): void;
    initializeColumn(column: Column): void;
    getMode(): LayoutMode | null;
    layout(dataChanged?: boolean): Promise<void>;
}
export {};
