import * as React from 'react';
import { BlockNode } from '../../data';
import { BlockEditorProps, BlockEditorValue } from './BlockEditorProps';
import { NodeOp } from '../blocks/BlockProps';
export interface BlockEditorState {
    value: BlockEditorValue;
}
export declare class BlockEditor extends React.Component<BlockEditorProps, BlockEditorState> {
    haveHtml5DndAPI: boolean;
    state: {
        value: BlockEditorValue;
    };
    static defaultProps: {
        renderEditBlock: ({ node, renderEditBlock, getNode, changeBlocks, undoRedoVersion, focusedNodeId, }: import("../blocks/BlockProps").BlockProps) => JSX.Element;
        onChange: (_v: BlockEditorValue) => void;
    };
    componentDidMount(): void;
    componentDidUpdate(prevProps: BlockEditorProps, prevState: BlockEditorState): void;
    getNode: (id: string) => BlockNode | undefined;
    onSendOp: (op: NodeOp) => void;
    render(): JSX.Element;
}
