import React from 'react'; import { ClientConn, DataMap } from '@ticlo/core/editor'; import { ClickParam } from 'antd/lib/menu'; import { UnControlled as CodeMirror } from 'react-codemirror2'; import { Editor, EditorChange } from 'codemirror'; import 'codemirror/mode/xml/xml'; import 'codemirror/mode/javascript/javascript'; import 'codemirror/mode/jsx/jsx'; import 'codemirror/addon/fold/foldcode.js'; import 'codemirror/addon/fold/foldgutter.js'; import 'codemirror/addon/fold/brace-fold'; import 'codemirror/addon/fold/comment-fold'; import 'codemirror/lib/codemirror.css'; import 'codemirror/theme/eclipse.css'; import 'codemirror/addon/fold/foldgutter.css'; import { DockLayout } from 'rc-dock/lib'; interface Props { conn: ClientConn; mime: string; asObject: boolean; paths: string[]; defaultValue: any; readonly?: boolean; onClose?: () => void; } interface State { value: string; loading: boolean; error?: string; } export declare class TextEditorPane extends React.PureComponent { static openFloatPanel(layout: DockLayout, conn: ClientConn, paths: string[], defaultValue: any, mime: string, readonly?: boolean): void; codeMirrorExtraKeys: { 'Tab': (cm: Editor) => void; 'Shift-Alt-F': (cm: Editor) => void; }; constructor(props: Props); _codeMirror: CodeMirror; getCodeMirror: (cm: CodeMirror) => void; getEditor(): Editor; loadData(path: string): void; valueLoader: { onError: (error: string) => void; onUpdate: (response: DataMap) => void; }; convertValue(value: any): string; onChange: (editor: Editor, data: EditorChange, value: string) => void; onReloadClick: (e: ClickParam) => void; onApply: () => boolean; onClose: () => void; onOK: () => void; getReloadMenu: () => JSX.Element; render(): JSX.Element; } export {};