import { RenderElementProps, RenderLeafProps } from 'slate-react';
import { addColumnAfterType, addRowAfterType, removeColumnType, removeRowType } from './TableCommands/useTableActions';
import { TableProperties } from './TableTypes';
interface TableEditModeActionHandlers {
    addColumnAfter?: addColumnAfterType;
    addRowAfter?: addRowAfterType;
    removeColumn?: removeColumnType;
    removeRow?: removeRowType;
    properties: TableProperties;
}
export declare type styleGeneratorType = () => unknown;
/**
 * This same component is used for view and edit mode of the table. Hence all the table action methods are optional
 * as they don't get passed in the edit mode.
 */
declare const TableTemplate: ({ addRowAfter, element, addColumnAfter, removeColumn, removeRow, properties, ...rest }: RenderElementProps & TableEditModeActionHandlers) => JSX.Element;
export declare const Leaf: ({ attributes, children, leaf }: RenderLeafProps) => JSX.Element;
export default TableTemplate;
