/// <reference types="react" />
import * as React from 'react';
import EditorActions from './actions';
import { EditorProps, EditorInstance, EditorAppearanceComponentProps } from './types';
export * from './types';
export interface State {
    editor?: EditorInstance;
    component?: React.ComponentClass<EditorAppearanceComponentProps>;
}
export default class Editor extends React.Component<EditorProps, State> {
    static defaultProps: EditorProps;
    static contextTypes: {
        editorActions: React.Requireable<any>;
    };
    context: {
        editorActions?: EditorActions;
    };
    private providerFactory;
    constructor(props: EditorProps);
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: EditorProps): void;
    componentWillUnmount(): void;
    private registerEditorForActions(editor);
    private unregisterEditorFromActions();
    private initUi();
    private initEditor;
    private handleProviders(props);
    render(): JSX.Element | null;
}
