import * as React from 'react'; import { BlockNode } from '../../../data'; import { BlockEditorValue } from '../BlockEditorProps'; import { BlockEditorControlUIProps, BlockEditorControlDefaultUI } from './BlockEditorControlDefaultUI'; export interface BlockEditorControlProps { value: BlockEditorValue; onChange: (value: BlockEditorValue) => any; controlUiProps?: Partial; UiComponent: React.SFC | React.ComponentClass; } export declare class BlockEditorControl extends React.Component { static defaultProps: { UiComponent: typeof BlockEditorControlDefaultUI; }; addRow: (props?: Partial | undefined) => void; addCol: (props?: Partial | undefined) => void; addMarkDown: (props?: Partial | undefined) => void; addImage: (props?: Partial | undefined) => void; addLayer: (props?: Partial | undefined) => void; removeFocused: () => void; focusNode: (node: BlockNode, focus?: boolean) => void; create: (props: Partial) => void; updateBlock: (nodeId: string, propsToUpdate: Partial) => void; destroy: (nodeId: string) => void; move: (nodeId: string, targetParentId: string, opts?: { beforeItemId?: string | undefined; afterItemId?: string | undefined; isPlaceHolder?: boolean | undefined; absolutePos?: { left: number; top: number; } | undefined; }) => void; moveInDirection: (nodeId: string, direction: "left" | "right" | "up" | "down") => void; copyFocused: () => void; paste: () => void; undo: () => void; redo: () => void; render(): JSX.Element; }