/// <reference types="react" />
import { PureComponent } from 'react';
import { ActivityProvider } from '@atlaskit/activity';
import { EmojiProvider } from '@atlaskit/emoji';
import { MentionProvider } from '@atlaskit/mention';
import { MediaProvider } from '@atlaskit/media-core';
import { BlockTypeState } from '../../plugins/block-type';
import { CodeBlockState } from '../../plugins/code-block';
import { EmojiState } from '../../plugins/emojis';
import { HyperlinkState } from '../../plugins/hyperlink';
import { ImageUploadState } from '../../plugins/image-upload';
import { ListsState } from '../../plugins/lists';
import { MentionsState } from '../../plugins/mentions';
import { TextFormattingState } from '../../plugins/text-formatting';
import { ClearFormattingState } from '../../plugins/clear-formatting';
import { PanelState } from '../../plugins/panel';
import { MediaPluginState } from '../../plugins/media';
import { TextColorState } from '../../plugins/text-color';
import { TableState } from '../../plugins/table';
import { EditorView } from '../../prosemirror';
export interface Props {
    editorView: EditorView;
    disabled?: boolean;
    feedbackFormUrl?: string;
    helpDialogPresent?: boolean;
    onCancel?: () => void;
    onInsertImage?: () => void;
    onSave?: () => void;
    packageVersion?: string;
    packageName?: string;
    pluginStateBlockType?: BlockTypeState;
    pluginStateCodeBlock?: CodeBlockState;
    pluginStateHyperlink?: HyperlinkState;
    pluginStateLists?: ListsState;
    pluginStateTextFormatting?: TextFormattingState;
    pluginStateClearFormatting?: ClearFormattingState;
    pluginStateImageUpload?: ImageUploadState;
    pluginStateMentions?: MentionsState;
    pluginStateMedia?: MediaPluginState;
    pluginStateEmojis?: EmojiState;
    pluginStateTextColor?: TextColorState;
    pluginStateTable?: TableState;
    presenceResourceProvider?: any;
    saveDisabled?: boolean;
    showSpinner?: boolean;
    emojiProvider?: Promise<EmojiProvider>;
    mentionProvider?: Promise<MentionProvider>;
    activityProvider?: Promise<ActivityProvider>;
    mediaProvider?: Promise<MediaProvider>;
    pluginStatePanel?: PanelState;
    popupsBoundariesElement?: HTMLElement;
    popupsMountPoint?: HTMLElement;
    height?: number;
    maxHeight?: number | undefined;
}
export interface State {
    maxHeightStyle?: any;
    showHelp?: boolean;
}
export default class ChromeExpanded extends PureComponent<Props, State> {
    private editorContainer;
    private maxHeightContainer;
    state: State;
    static defaultProps: {
        saveDisabled: boolean;
    };
    componentWillMount(): void;
    componentDidMount(): void;
    private handleSpinnerComplete();
    private getEditorHeight();
    private addBorders;
    private toggleHelp;
    private onKeyDown;
    render(): JSX.Element;
    private handleEditorContainerRef;
    private handleMaxHeightContainer;
    private handleCancel;
    private handleSave;
}
