import { IBlockData } from 'easy-email-core'; import React from 'react'; export interface CollectedBlock { label: string; helpText: string; thumbnail: string; data: IBlockData; id: string; } export interface BlockGroup { title: string; blocks: Array; } export declare enum AvailableTools { MergeTags = "mergeTags", FontFamily = "fontFamily", FontSize = "fontSize", Bold = "bold", Italic = "italic", StrikeThrough = "strikeThrough", Underline = "underline", IconFontColor = "iconFontColor", IconBgColor = "iconBgColor", Link = "link", Justify = "justify", Lists = "lists", HorizontalRule = "horizontalRule", RemoveFormat = "removeFormat" } export interface PropsProviderProps { children?: React.ReactNode; height: string; fontList?: { value: string; label: string; }[]; onAddCollection?: (payload: CollectedBlock) => void; onRemoveCollection?: (payload: { id: string; }) => void; onUploadImage?: (data: Blob) => Promise; interactiveStyle?: { hoverColor?: string; selectedColor?: string; dragoverColor?: string; tangentColor?: string; }; autoComplete?: boolean; dashed?: boolean; socialIcons?: Array<{ content: string; image: string; }>; mergeTagGenerate?: (m: string) => string; onChangeMergeTag?: (ptah: string, val: any) => any; renderMergeTagContent?: (props: { onChange: (val: string) => void; isSelect: boolean; value: string; }) => React.ReactNode; enabledMergeTagsBadge?: boolean; mergeTags?: Record; previewInjectData?: Record; onBeforePreview?: (html: string, mergeTags: PropsProviderProps['previewInjectData'] | PropsProviderProps['mergeTags']) => string | Promise; enabledLogic?: boolean; locale?: Record; toolbar?: { tools?: AvailableTools[]; suffix?: (execCommand: (cmd: string, value?: any) => void) => React.ReactNode; }; } export declare const EditorPropsContext: React.Context; }>; export declare const PropsProvider: React.FC;