/// <reference types="react" />
import { React, GlamorValue } from '../../common';
import { CodeEditorLanguage, CodeEditorChangeEventHandler } from './types';
export interface ICodeEditorProps {
    code?: string;
    focusOnLoad?: boolean;
    theme?: 'DARK' | 'LIGHT';
    language?: CodeEditorLanguage;
    style?: GlamorValue;
    onChange?: CodeEditorChangeEventHandler;
}
export interface ICodeEditorState {
    width?: number;
    height?: number;
    isMounted: boolean;
}
export declare class CodeEditor extends React.PureComponent<ICodeEditorProps, ICodeEditorState> {
    state: ICodeEditorState;
    private editor;
    private unmounted$;
    private el;
    componentDidMount(): void;
    componentWillUnmount(): void;
    focus(): void;
    readonly isFocused: boolean;
    updateSize(): void;
    render(): JSX.Element;
    private editorDidMount;
    private onChange;
}
