import { default as React } from 'react';
import { BaseEditor } from 'slate';
import { RenderElementProps, RenderLeafProps, ReactEditor } from 'slate-react';
export declare enum DataType {
    SLATE = "slate",
    MARKDOWN = "markdown",
    HTML = "html",
    TEXT = "text"
}
export interface DataSource {
    type: DataType;
    content: any;
}
export interface UnifiedRichTextProps {
    /** 数据源 */
    dataSource: {
        type: DataType;
        content?: any;
    };
    /** 是否处于编辑模式 */
    isEditing?: boolean;
    /** 占位符文本 */
    placeholder?: string;
    /** 组件尺寸 */
    size?: 'sm' | 'md';
    /** 基础路径，用于处理相对路径的图片 */
    basePath?: string;
    /** 主题样式 */
    theme?: {
        primaryColor?: string;
        secondaryColor?: string;
        backgroundColor?: string;
        textColor?: string;
        borderColor?: string;
        disabledBackground?: string;
        hoverBackground?: string;
        borderRadius?: string;
        padding?: string;
        margin?: string;
        minHeight?: string;
        /** 基础字体大小(px)，控制除自定义元素外的文字字号，默认12 */
        baseFontSize?: number;
    };
    /** 内容变化回调 */
    onChange?: (content: any, type: DataType) => void;
    /** 聚焦回调 */
    onFocus?: () => void;
    /** 失焦回调 */
    onBlur?: () => void;
    /** 自定义渲染元素 */
    renderElement?: (props: RenderElementProps) => JSX.Element;
    /** 自定义渲染叶子节点 */
    renderLeaf?: (props: RenderLeafProps) => JSX.Element;
    /** retrive-tag 点击回调 */
    onRetriveTagClick?: (leaf: any, attributes: any) => void;
    /** 事件发射器 */
    eventsEmit?: (event: string, data: any) => void;
    /** 编辑器就绪回调 */
    onEditorReady?: (editor: BaseEditor & ReactEditor) => void;
    /** 额外的 props，会传递给 renderElement */
    extraProps?: Record<string, any>;
    /** 自定义样式 */
    className?: string;
    /** 自定义样式对象 */
    style?: React.CSSProperties;
    /** 样式配置 */
    styles?: {
        /** 字间距 */
        letterSpacing?: string;
        /** 行间距 */
        lineHeight?: string;
        /** 蓝框背景样式 */
        templateField?: {
            backgroundColor?: string;
            borderColor?: string;
            borderRadius?: string;
            padding?: string;
            margin?: string;
            fontSize?: string;
            fontWeight?: string;
            minWidth?: string;
            maxWidth?: string;
            /** 文字颜色 */
            textColor?: string;
        };
        /** 文本样式 */
        text?: {
            fontSize?: string;
            lineHeight?: string;
            color?: string;
        };
    };
    /** 是否启用在输入/粘贴时将 <template>...</template> 识别为模板元素 */
    enableTemplateInput?: boolean;
    /** 禁用特定标签的核心转译能力（例如 'template' | 'think' | 'reference'） */
    disabledTags?: Array<'template' | 'think' | 'reference'>;
    /** 是否启用 PrismJS 语法高亮（默认 false，使用普通代码块样式） */
    enablePrism?: boolean;
    /** 是否启用 "<t" + Tab 自动补全为 "<template "（仅编辑模式） */
    enableTemplateAutocomplete?: boolean;
}
/**
 * 统一富文本组件
 * 支持编辑和渲染模式，通过dataSource和dataType判断数据源
 */
declare const UnifiedRichText: React.FC<UnifiedRichTextProps>;
export default UnifiedRichText;
export { UnifiedRichText };
