import { Editor, IAllProps } from '@tinymce/tinymce-react';
import React from 'react';
import { Locale } from '../_hooks/I18n';
declare type TextEditorFeatureToggle = {
    stickyToolbar?: boolean;
    tabAsNavigation?: boolean;
};
/**
 * Expect context to change the `init` config of the below `TextEditor`s.
 * **Changes after the editor has initialized are ignored.**
 * @link [TinyMCE React Init](https://www.tiny.cloud/docs/integrations/react/#init)
 * @link [TinyMCE React configure editor](https://www.tiny.cloud/docs/integrations/react/#configuringeditorsettings)
 */
export interface TextEditorProviderProps {
    children: React.ReactNode;
    /**
     * - `stickyToolbar` - Have the editor toolbar stick to the top when content is longer than the page length.
     * - `tabAsNavigation` - Have `Tab` key exit the editor. Support `Alt`/`Opt` + `Tab` as triple space indent.
     */
    features?: TextEditorFeatureToggle;
}
export interface TextEditorProps extends Omit<React.ComponentProps<typeof Editor>, 'onChange' | 'onKeyUp'> {
    /**
     * @since 10.19.0
     */
    disabled?: boolean;
    /**
     * @since 10.19.0
     */
    error?: boolean;
    /**
     * Config for when the editor is initialized. **Changes after the editor has initialized are ignored.**
     * @link [TinyMCE React Init](https://www.tiny.cloud/docs/integrations/react/#init)
     * @unsupported Use at your own risk. DST makes no guarantees about this API,
     * and is subject to removal at any point without warning or deprecation.
     * @since 10.19.0
     */
    init?: IAllProps['init'];
    /**
     * @deprecated
     * `initialValue` has been deprecated and will be removed in a future version.
     * Please use the `value` prop instead
     *
     * The first value passed into `value` prop will be the `TextEditor` initial
     * value. Changing the value will update the text of the `TextEditor`.
     * The editor should be controlled via the combination of `value`
     * and `onChange` props.
     *
     * **Before**
     *
     * `<TextEditor initialValue="Hello World" />`
     *
     * **After**
     *
     * `<TextEditor value="Hello World" />`
     *
     * @deprecatedSince 10.20.0
     * @since 10.19.0
     */
    initialValue?: string;
    /**
     * Locale which will be used used for localization. Can be passed directly or
     * set by wrapping components in I18n provider. Icelandic (is-IS) is not
     * actually supported by TinyMCE, so it is defaulted to english.
     * @since 10.19.0
     */
    locale?: Locale;
    /**
     * <div>onChange event handler for text editor area</div>
     * <CodeBlock>(content: string) => void</CodeBlock>
     * @since 10.19.0
     */
    onChange?: (content: string, isDirty?: boolean) => void;
    /**
     * <div>
     *  Array of plugins to use with the editor in addition to the defaults.
     *  Can be any of:
     * </div>
     * <CodeBlock>
     *  [{plugins.map((plugin) => `'${plugin}'`).join(', ')}]
     * </CodeBlock>
     * @since 10.19.0
     */
    plugins?: Array<string>;
}
export {};
