import { default as Cell } from '../../core/cell/Cell';
import { default as Column } from '../../core/column/Column';
import { default as Module } from '../../core/Module';
import { default as Tabulator } from '../../core/Tabulator';

export default class ResizeColumns extends Module {
    static moduleName: string;
    startColumn: Column | false;
    startX: number | false;
    startWidth: number | false;
    latestX: number | false;
    handle: HTMLElement | null;
    initialNextColumn: Column | null;
    nextColumn: Column | null;
    initialized: boolean;
    constructor(table: Tabulator);
    initialize(): void;
    private getEventClientX;
    initializeEventWatchers(): void;
    layoutCellHandles(cell: Cell): void;
    layoutColumnHeader(column: Column): void;
    columnLayoutUpdated(column: Column): void;
    columnWidthUpdated(column: Column): void;
    frozenColumnOffset(column: Column): string | false;
    reinitializeColumn(column: Column): void;
    initializeColumn(type: string, component: any, column: Column, element: HTMLElement): void;
    deInitializeColumn(column: Column): void;
    deInitializeComponent(component: any): void;
    resizeHandle(component: any, height: string): void;
    resize(e: any, column: Column): void;
    calcGuidePosition(e: any, column: Column, handle: HTMLElement): number;
    _checkResizability(column: Column): boolean;
    _mouseDown(e: any, column: Column, handle: HTMLElement): void;
}
