import React from "react"; import { EmailPreviewProps } from "./EmailPreview"; import { HeaderProps } from "./Header"; import { HelpPopoverProps } from "./HelpPopover"; type ContentVariables = { label: string; key: string; }; type FieldOptions = { label: string; value: string; }; type ReplyToFieldProps = { popoverProps?: HelpPopoverProps; options?: FieldOptions[]; }; type SendToFieldProps = { options?: FieldOptions[]; }; interface InitialValues { sendTo?: string[]; sendToId?: string; sendToCc?: string[]; sendToBcc?: string[]; replyTo?: string; showCopyEmails?: boolean; subject?: string; message?: string; isEnabled?: boolean; } type EmailFormProps = { messageVariables?: ContentVariables[]; subjectVariables?: ContentVariables[]; handleCancel?: () => void; handleResetToDefault?: () => void; isLoading?: boolean; isResetting?: boolean; replyToOptions?: FieldOptions[]; sendToOptions?: FieldOptions[]; isUpdating?: boolean; showFields?: boolean; className?: string; replyToFieldProps?: ReplyToFieldProps; sendToFieldProps?: SendToFieldProps; showResetToDefaultButton?: boolean; editorRef?: React.Ref; editorAddons?: string[]; defaultValues?: InitialValues; }; interface ExtendedEmailPreviewProps extends EmailPreviewProps { formatBody?: () => void; formatSubject?: () => void; bodyVariables?: object; subjectVariables?: object; } const EmailForm: React.FC<{ onSubmit?: (values: InitialValues) => void; initialValues?: InitialValues; formikProps?: Record; validationSchema?: Record; showFields?: boolean; showSendToField?: boolean; showReplyToField?: boolean; showSendToAsRadio?: boolean; showSendToAsSelect?: boolean; blockNavigation?: boolean; showCcField?: boolean; showBccField?: boolean; isLoading?: boolean; maxEmails?: number; emailFormProps?: EmailFormProps; emailPreviewProps?: Partial; headerProps?: HeaderProps; tooltipProps?: Record; switchProps?: Record; mobilePreviewProps?: object; children?: React.ReactNode; }>; export default EmailForm;