/** * Copyright (c) 2017-present, Ephox, Inc. * * This source code is licensed under the Apache 2 license found in the * LICENSE file in the root directory of this source tree. * */ import * as React from 'react'; import { IEvents } from '../Events'; import { IEditorPropTypes } from './EditorPropTypes'; import { Editor as TinyMCEEditor, TinyMCE } from 'tinymce'; declare type EditorOptions = Parameters[0]; export interface IProps { apiKey: string; id: string; inline: boolean; initialValue: string; onEditorChange: (a: string, editor: TinyMCEEditor) => void; value: string; init: EditorOptions & { selector?: undefined; target?: undefined; }; tagName: string; cloudChannel: string; plugins: NonNullable; toolbar: NonNullable; disabled: boolean; textareaName: string; tinymceScriptSrc: string; rollback: number | false; scriptLoading: { async?: boolean; defer?: boolean; delay?: number; }; } export interface IAllProps extends Partial, Partial { } export declare class Editor extends React.Component { static propTypes: IEditorPropTypes; static defaultProps: Partial; editor?: TinyMCEEditor; private id; private elementRef; private inline; private currentContent?; private boundHandlers; private rollbackTimer; private valueCursor; constructor(props: Partial); componentDidUpdate(prevProps: Partial): void; componentDidMount(): void; componentWillUnmount(): void; render(): React.ReactElement<{ ref: React.RefObject; id: string; }, string | React.JSXElementConstructor>; private renderInline; private renderIframe; private getScriptSrc; private getInitialValue; private bindHandlers; private rollbackChange; private handleBeforeInput; private handleBeforeInputSpecial; private handleEditorChange; private handleEditorChangeSpecial; private initialise; } export {};