import * as _ from 'lodash'; import * as PropTypes from 'prop-types'; import * as React from 'react'; import { AceEditorProps } from 'react-ace'; import 'brace/ext/language_tools'; import 'brace/mode/jsx'; import 'brace/theme/tomorrow_night_eighties'; export interface EditorProps extends AceEditorProps { active?: boolean; highlightGutterLine?: boolean; mode?: 'html' | 'jsx' | 'sh' | 'json'; value?: string; showCursor?: boolean; } export declare const EDITOR_BACKGROUND_COLOR = "#2D2D2D"; export declare const EDITOR_GUTTER_COLOR = "#272727"; export declare class Editor extends React.PureComponent { editorRef: React.RefObject; name: string; static propTypes: { value: PropTypes.Validator; mode: PropTypes.Requireable; active: PropTypes.Requireable; showCursor: PropTypes.Requireable; }; static defaultProps: { value: string; mode: string; theme: string; height: string; width: string; active: boolean; enableBasicAutocompletion: boolean; enableLiveAutocompletion: boolean; editorProps: { $blockScrolling: number; }; setOptions: { fixedWidthGutter: boolean; showFoldWidgets: boolean; }; showPrintMargin: boolean; tabSize: number; maxLines: number; readOnly: boolean; highlightActiveLine: boolean; highlightGutterLine: boolean; showCursor: boolean; }; componentDidMount(): void; componentWillReceiveProps(nextProps: any): void; handleChange: ((value: string, e: any) => void) & _.Cancelable; setCursorVisibility: (visible: any) => void; render(): JSX.Element; }