import React from 'react';

/**
 *
 * A common component to share entities via email.
 *
 * ![ShareViaEmail](https://user-images.githubusercontent.com/66865722/229559580-b58d4418-8b03-4afc-9f63-c2dfa756c0fa.png|height=200|width=300)
 *
 * Simple:
 *
 * @example 
 *
 * import ShareViaEmail from "@bigbinary/neeto-molecules/ShareViaEmail";
 * import Scrollable from "@bigbinary/neeto-molecules/Scrollable";
 * 
 * const ShareViaEmail = () => {
 *   const handleSubmit = () => {
 *     //api call
 *   };
 * 
 *   return (
 *     <Scrollable className="flex w-full flex-col p-0">
 *       <ShareViaEmail
 *         backToUrl="/home/share"
 *         handleSubmit={handleSubmit}
 *         description="Share form via email"
 *       />
 *     </Scrollable>
 *   );
 * };
 * export default ShareViaEmail;
 * @endexample
 * With children and EmailPreview props:
 *
 * @example 
 *
 * import {useState} from "react";
 * import ShareViaEmail from "@bigbinary/neeto-molecules/ShareViaEmail";
 * import Scrollable from "@bigbinary/neeto-molecules/Scrollable";
 * 
 * const ShareViaEmail = () => {
 *   const [startButtonText, setStartButtonText] = useState("")
 * 
 *   const handleSubmit = () => {
 *     //custom validations and API call
 *   };
 * 
 *   const StartButtonText => (
 *     //input field
 *   )
 * 
 *   return (
 *     <Scrollable className="flex w-full flex-col p-0">
 *       <ShareViaEmail
 *         backToUrl="/home/share"
 *         handleSubmit={handleSubmit}
 *       >
 *         <StartButtonText />
 *         {other child components}
 *       </ShareViaEmail>
 *     </Scrollable>
 *   );
 * };
 * export default ShareViaEmail;
 * @endexample
*/
declare const ShareViaEmail: React.FC<{
  backToUrl?: string;
  children?: React.ReactNode;
  description?: string;
  disableReplyTo?: boolean;
  showSendFromField?: boolean;
  defaultValues?: {
    sendFromEmail?: string;
    replyToEmail?: string;
    emailSubject?: string;
    emailBody?: string;
    actionButtonText?: string;
  };
  handleSubmit: (data: {
    sendFromEmail: string;
    replyToEmail: string;
    notifyEmails: {
      label: string;
      value: string;
      valid: boolean;
    }[];
    emailSubject: string;
    emailBody: string;
    isSendLaterEnabled: boolean;
    sendEmailDatetime: string;
    category: string;
    actionButtonText: string;
  }) => void;
  showVideoEmbedInEditor?: boolean;
  title?: string;
}>;

export { ShareViaEmail as default };
