import React from 'react';
import { BlockEditorValue } from '../BlockEditorProps';
import { BlockBreadCrumbsProps } from './BlockBreadCrumbs';
import { BlockNode } from '../../../data';
export declare type MenuType = 'color' | 'backgroundColor';
export interface BlockEditorControlUIProps {
    value: BlockEditorValue;
    onChange: (value: BlockEditorValue) => any;
    buttonClassName?: string;
    breadCrumbsProps?: Partial<BlockBreadCrumbsProps>;
    addRow: () => any;
    addCol: () => any;
    addImage: () => any;
    addLayer: () => any;
    addMarkDown: () => any;
    copyFocused: () => any;
    paste: () => any;
    undo: () => any;
    redo: () => any;
    focusNode: (nodeId: string, focus: boolean) => any;
    removeFocused: () => any;
    updateBlock: (nodeId: string, propsToUpdate: Partial<BlockNode>) => any;
    moveInDirection: (nodeId: string, direction: 'up' | 'down' | 'left' | 'right') => any;
}
export interface BlockEditorControlDefaultUIState {
    selectedMenu: MenuType | null;
    selectedColor: string | null;
}
export declare class BlockEditorControlDefaultUI extends React.Component<BlockEditorControlUIProps, BlockEditorControlDefaultUIState> {
    state: {
        selectedMenu: null;
        selectedColor: null;
    };
    toggleMenu: (menu: MenuType) => void;
    renderColorMenuItem: (which: MenuType) => JSX.Element | undefined;
    render(): JSX.Element;
}
