/**
 * RichTextViewer - 富文本单元格渲染器（Canvas 实现）
 * 功能：去除 HTML 标签后渲染纯文本 + 编辑按钮 + 错误提示 + 关联图标 + 删除线
 * <img> 标签显示为 [图片]，<video> 标签显示为 [视频]
 * 参考 AssetMatrix/src/views/components/ProgressPanel/ProgressPropsViewer/richTextViewer.ts
 */
import type { CellViewer, ViewerRenderContext, CellViewerData } from './types';
/**
 * 富文本 Viewer 数据接口
 */
export interface RichTextViewerData extends CellViewerData {
    /** HTML 富文本内容或纯文本 */
    value: string | null;
    /** 数据行 ID */
    id?: string | number;
    /** 属性 key */
    key?: string;
    /** 是否可编辑 */
    canEdit?: boolean;
    /** 是否显示删除线 */
    showLineThrow?: boolean;
    /** 是否关联属性 */
    isLink?: boolean;
    /** 关联 key */
    linkKey?: string;
    /** 是否有错误 */
    error?: {
        errorProperty?: string;
        errorMessage?: string;
    } | null;
    /** 占位符文本 */
    placeholder?: string;
}
/**
 * 解析富文本值，去除 HTML 标签 + 解码常见 HTML 实体。
 * <img> 标签替换为 [图片]，<video> 标签替换为 [视频]
 */
export declare function getDisplayValue(value: string | null | undefined): string;
declare class RichTextViewer implements CellViewer<RichTextViewerData> {
    readonly type = "rich-text";
    private _sm;
    private get TEXT_COLOR();
    private get EMPTY_TEXT_COLOR();
    /**
     * 解析 canEdit 状态：优先从 data.canEdit 获取，fallback 从行级权限 _permissions 获取
     * DOM 版通过 getCellData 动态计算 canEdit，Canvas 版需要兼容两种数据来源
     */
    private resolveCanEdit;
    /**
     * 绘制富文本单元格内容
     */
    draw(context: ViewerRenderContext, data: RichTextViewerData): void;
    /**
     * 处理点击事件
     * 返回 true 表示事件已被处理
     */
    onClick(context: ViewerRenderContext, data: RichTextViewerData, localX: number, _localY: number): boolean;
    /**
     * 获取交互区域的光标样式
     */
    getInteractiveCursor(context: ViewerRenderContext, data: RichTextViewerData, localX: number, _localY: number): string | null;
    /**
     * 绘制文本内容
     * 富文本 HTML 会被拆分为多个 run，逐个保留 color / bold / italic / underline / strike 渲染；
     * 非富文本 / 空值 走原有单色路径，保证零回归。
     */
    private drawText;
    /**
     * 绘制右侧编辑按钮
     */
    private drawEditButton;
    /**
     * 绘制编辑/铅笔图标
     */
    private drawEditIcon;
    /**
     * 绘制关联图标（链接/附件图标）
     */
    private drawLinkIcon;
    /**
     * 绘制删除线
     */
    private drawStrikethrough;
    /**
     * 绘制错误提示图标（⚠）
     */
    private drawErrorIcon;
    /**
     * 文本截断，超出宽度时显示省略号
     */
    private truncateText;
}
export default RichTextViewer;
