/// <reference types="react" />
import { React, GlamorValue } from '../../common';
import { CodeEditorChangeEventHandler, CodeEditorOptions } from './types';
export interface ICodeEditorProps {
    options?: Partial<CodeEditorOptions>;
    code?: string;
    focusOnLoad?: boolean;
    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;
    render(): JSX.Element;
    readonly isFocused: boolean;
    private readonly options;
    updateSize(): void;
    focus(): void;
    private handleBeforeMount;
    private handleAfterMount;
    private handleChange;
}
