import 'brace/ext/language_tools';
import { Component } from 'react';
interface propTypes {
    /** 编辑器 ID */
    name: string;
    /** 语言类型 */
    mode: string;
    /** 主题包 */
    theme: string;
    /** 内容 */
    value: string;
    /** 默认内容 */
    defaultValue: string;
    /** 编辑器高度 */
    height: string;
    /** 编辑器宽度 */
    width: string;
    /** 字体大小 */
    fontSize: number;
    /** 是否展示侧边栏 */
    showGutter: boolean;
    /** 是否高亮 */
    highlightActiveLine: boolean;
    /** 是否聚焦 */
    focus: boolean;
    /** 是否只读 */
    readOnly: boolean;
    /** 最小行数 */
    minLines: number;
    /** 最大行数 */
    maxLines: number;
    /** 基础自动补全功能 */
    enableBasicAutocompletion: boolean;
    /** 代码补全提示 */
    enableLiveAutocompletion: boolean;
    /** tab 的大小 */
    tabSize: number;
    /** 编辑器加载完成的回调 */
    onLoad: () => {};
    /** 编辑器加载完成之前的回调 */
    onBeforeLoad: () => {};
    /** 内容改变的回调 */
    onChange: () => {};
    /** 聚焦的回调 */
    onFocus: () => {};
    /** 失去焦点的回调 */
    onBlur: () => {};
    /** 编辑器的配置项 */
    setOptions: object;
    /** 自定义 class */
    className: string;
    /** 自定义样式 */
    style: object;
    /** 不显示分割线 */
    noSplitLine: boolean;
}
declare type defaultPropsType = {
    mode: string;
    theme: string;
    showPrintMargin: boolean;
    showGutter: boolean;
    highlightActiveLine: boolean;
    fontSize: number;
    noSplitLine: boolean;
    setOptions: {
        enableBasicAutocompletion: boolean;
        enableLiveAutocompletion: boolean;
        enableSnippets: boolean;
        showLineNumbers: boolean;
        tabSize: number;
    };
    editorProps: {};
};
declare class Editor extends Component<propTypes> {
    static defaultProps: defaultPropsType;
    constructor(props: propTypes);
    render(): JSX.Element;
}
export default Editor;
