import React from 'react'; import type CodeMirror from 'codemirror'; import 'codemirror/lib/codemirror.css'; export interface CodeMirrorEditorProps { className?: string; style?: any; value?: string; readOnly?: boolean; onChange?: (value: string) => void; onFocus?: (e: any) => void; onBlur?: (e: any) => void; editorFactory?: (dom: HTMLElement, cm: typeof CodeMirror, props?: any) => CodeMirror.Editor; editorDidMount?: (cm: typeof CodeMirror, editor: CodeMirror.Editor) => void; editorWillUnMount?: (cm: typeof CodeMirror, editor: CodeMirror.Editor) => void; } export declare class CodeMirrorEditor extends React.Component { dom: React.RefObject; editor?: CodeMirror.Editor; toDispose: Array<() => void>; unmounted: boolean; componentDidMount(): Promise; componentDidUpdate(prevProps: CodeMirrorEditorProps): void; componentWillUnmount(): void; handleChange(editor: any): void; handleBlur(editor: any): void; handleFocus(editor: any): void; setValue(value?: string): void; render(): JSX.Element; } export default CodeMirrorEditor;