import React from 'react';
import Immutable from 'immutable';
export declare const getLanguage: (editor: any) => any;
export declare class Table extends React.Component<any, any> {
    language: any;
    __draggingStartPoint: any;
    tableKey: any;
    colLength: number;
    constructor(props: any);
    state: {
        tableRows: any[];
        colToolHandlers: any[];
        rowToolHandlers: any[];
        defaultColWidth: number;
        colResizing: boolean;
        colResizeOffset: number;
        selectedCells: any[];
        selectedRowIndex: number;
        selectedColumnIndex: number;
        setFirstRowAsHead: boolean;
        dragSelecting: boolean;
        draggingRectBounding: any;
        cellsMergeable: boolean;
        cellSplittable: boolean;
        contextMenuPosition: any;
    };
    __tableRef: any;
    __colRefs: {};
    __rowRefs: {};
    __colResizeIndex: number;
    __colResizeStartAt: number;
    __startCellKey: any;
    __endCellKey: any;
    __dragSelecting: boolean;
    __dragSelected: boolean;
    __dragSelectingStartColumnIndex: any;
    __dragSelectingStartRowIndex: any;
    __dragSelectingEndColumnIndex: any;
    __dragSelectingEndRowIndex: any;
    __draggingRectBoundingUpdating: boolean;
    __selectedCellsCleared: boolean;
    handleToolbarMouseDown: (event: any) => void;
    handleKeyDown: (event: any) => void;
    handleMouseUp: (event: any) => boolean;
    handleMouseMove: (event: any) => void;
    handleColResizerMouseDown: (event: any) => void;
    handleCellContexrMenu: (event: any) => void;
    handleContextMenuContextMenu: (event: any) => void;
    handleCellMouseDown: (event: any) => boolean;
    handleCellMouseUp: () => void;
    handleCellMouseEnter: (event: any) => void;
    handleTableMouseMove: (event: any) => void;
    handleTableMouseLeave: (event: any) => void;
    confirmDragSelecting: () => boolean;
    updateDraggingRectBounding: (mouseEvent: any) => boolean;
    selectCell: (event: any) => void;
    selectColumn: (event: any) => boolean;
    selectRow: (event: any) => boolean;
    insertColumn: (event: any) => boolean;
    removeColumn: () => void;
    insertRow: (event: any) => boolean;
    validateContent: (editorState: any) => any;
    removeRow: () => void;
    mergeCells: () => void;
    splitCell: () => void;
    removeTable: () => void;
    componentDidMount(): void;
    UNSAFE_componentWillReceiveProps(nextProps: any): void;
    componentWillUnmount(): void;
    getResizeOffset(offset: any): any;
    adjustToolbarHandlers(): void;
    updateCellsData(blockData: any): void;
    renderCells(props?: any): void;
    createColGroup(): JSX.Element;
    createColTools(): JSX.Element;
    createRowTools(): JSX.Element;
    createContextMenu(): JSX.Element;
    render(): JSX.Element;
}
export declare const tableRenderMap: (options: any) => (props: any) => Immutable.Map<string, {
    element: string;
    wrapper: JSX.Element;
}>;
