import { attachment, FormikEditorProps } from '@bigbinary/neeto-editor';
import { TextareaProps } from '@bigbinary/neetoui';

/**
 *
 * NeetoEditor with a better writing experience.
 *
 * @example 
 *
 * import DocumentEditor from "@bigbinary/neeto-molecules/DocumentEditor";
 * 
 * const Component = () => (
 *   <Container isHeaderFixed>
 *     <FormikFormWrapper
 *       className="flex h-full w-full flex-grow"
 *       formikProps={{
 *         enableReinitialize: true,
 *         initialValues: initialFormValues,
 *         onSubmit: handleSubmit,
 *         validationSchema,
 *       }}
 *     >
 *       <DocumentEditor
 *         attachments={attachments}
 *         onAttachmentChange={handleAttachmentChange}
 *         onContentChange={handleContentChange}
 *         onTitleChange={handleTitleChange}
 *         getTitleRef={setTitleRef}
 *         getEditorRef={setEditorRef}
 *         editorProps={{
 *           editorSecrets,
 *           uploadEndpoint,
 *           openImageInNewTab: false,
 *           key: "document-editor",
 *         }}
 *         titleProps={{
 *           autoFocus: true,
 *           placeholder: "Document title",
 *         }}
 *       />
 *     </FormikFormWrapper>
 *   </Container>
 * );
 * @endexample
*/
declare const DocumentEditor: React.FC<{
  attachments: attachment[];
  onContentChange?: (content: string) => void;
  onAttachmentChange?: (attachments: attachment[]) => void;
  onTitleChange?: (title: string) => void;
  getTitleRef?: (ref: HTMLTextAreaElement | null) => void;
  getEditorRef?: (ref: any) => void;
  editorContentFieldName?: string;
  titleFieldName?: string;
  editorProps?: FormikEditorProps;
  titleProps?: TextareaProps;
  menuClassName?: string;
  children?: React.ReactNode;
  hasThumbnailImage?: boolean;
}>;

export { DocumentEditor as default };
