import { TypographyProps } from '@mui/material';
import { ImageNodeAttributes } from 'mui-tiptap';
export type RichTextEditorProps = {
    /**
     * Name and ID of the component. Must match a key from initialValues in MForm.
     * @required
     */
    name: string;
    /**
     * (Optional) Label. NOTE: this won't be floating, it's always static.
     */
    label?: string;
    /**
     * Styling for label
     */
    labelProps?: TypographyProps;
    /**
     * Handler for uploading files/images. Use this to save your images to your server (ex. S3 Bucket).
     */
    onUploadFiles: (files: File[]) => ImageNodeAttributes[] | Promise<ImageNodeAttributes[]>;
    /**
     * If `true`, the component becomes readonly.
     * @default false
     */
    readOnly?: boolean;
    renderContentOnly?: never;
};
export type RichTextFieldProps = RichTextEditorProps | {
    name?: never;
    label?: never;
    labelProps?: never;
    onUploadFiles?: never;
    readOnly?: never;
    /**
     * The component ONLY renders the HTML string. Use this prop when you ONLY want to render HTML (no MForm/field).
     *
     * This is similar to using `readOnly`, but is more efficient. This uses Mui TipTap's `RichTextReadOnly` component
     * internally. For more information on when to use this over just disabling the editor (via `readOnly`),
     * [read the documentation](https://github.com/sjdemartini/mui-tiptap?tab=readme-ov-file#render-read-only-rich-text-content).
     *
     * IMPORTANT: WHEN DEFINED, ONLY THIS PROP CAN HAVE A VALUE. If you need access to other props, consider using `readOnly` instead.
     */
    renderContentOnly: string;
};
/**
 * Rich Text field -- uses MUI Tip Tap
 *
 * MForm -- This field cannot be completely controlled, so keep in mind that the MForm value will not update until the field
 * __loses focus__. This is to prevent issues with converting from rich text to HTML as the user types as it could override
 * their changes unintentionally.
 *
 * NOTE: If you just want to render the HTML (no editing/MForm), try <RichTextReadOnly content={<your HTML string>} /> instead.
 * Full details on [TipTap's docs](https://github.com/sjdemartini/mui-tiptap?tab=readme-ov-file#render-read-only-rich-text-content)
 */
export declare const RichTextField: (props: RichTextFieldProps) => import("react/jsx-runtime").JSX.Element;
export default RichTextField;
