import { default as Module } from '../../core/Module';
import { default as Tabulator } from '../../core/Tabulator';

export default class ResizeTable extends Module {
    static moduleName: string;
    binding: ((e: Event) => void) | false;
    visibilityObserver: IntersectionObserver | false;
    resizeObserver: ResizeObserver | false;
    containerObserver: ResizeObserver | false;
    tableHeight: number;
    tableWidth: number;
    containerHeight: number;
    containerWidth: number;
    autoResize: boolean;
    visible: boolean;
    initialized: boolean;
    initialRedraw: boolean;
    private pendingRedraw;
    private pendingForceRedraw;
    private readonly boundHandleTableInitialized;
    constructor(table: Tabulator);
    initialize(): void;
    initializeVisibilityObserver(): void;
    redrawTable(force?: boolean): void;
    tableResized(): void;
    clearBindings(): void;
    private queueRedraw;
    private flushPendingRedraw;
    private handleTableInitialized;
}
