/**
 * WfStateViewer - 工作流状态 Viewer
 * 在 canvas 单元格中渲染工作流状态图标、名称文字、以及右上角的角标
 */
import type { CellViewer, ViewerRenderContext, WfStateViewerData } from './types';
declare class WfStateViewer implements CellViewer<WfStateViewerData> {
    readonly type = "wf-state";
    private imageManager;
    /** 记录加载失败的图标 URL，避免反复重试 */
    private failedIcons;
    /** StyleManager ref cached during draw cycle */
    private _sm;
    constructor();
    /**
     * 绘制单元格内容
     */
    draw(context: ViewerRenderContext, data: WfStateViewerData): void;
    /**
     * Icon 模式绘制（样式1：图标 + 文字 + 角标）
     */
    private drawIconMode;
    /**
     * Tag 模式绘制（样式2：色块标签，不显示图标和角标）
     */
    private drawTagMode;
    /**
     * 绘制圆角矩形
     */
    private drawRoundedRect;
    /**
     * 处理点击事件
     */
    onClick(context: ViewerRenderContext, data: WfStateViewerData, localX: number, localY: number): boolean;
    /**
     * Tag 模式下的点击检测
     */
    private onClickTagMode;
    /**
     * 获取交互光标
     */
    getInteractiveCursor(context: ViewerRenderContext, data: WfStateViewerData, localX: number, localY: number): string | null;
    /**
     * Tag 模式下的光标判断
     */
    private getInteractiveCursorTagMode;
    /**
     * 从 value 中提取状态类型
     */
    private parseValue;
    /**
     * 根据图标名称绘制对应 SVG 图标
     * icon 值为 stateIcon 目录下的文件名（不含 .svg 后缀），未找到则兜底使用 ah-icon_supervise
     */
    private drawIcon;
    /**
     * 通用 SVG 图标绘制方法
     * 通过 ImageManager 加载 SVG 图片并绘制到 Canvas 上
     */
    private drawSvgIcon;
    /**
     * 使用离屏 Canvas 对图片进行着色绘制
     * 原理：先在离屏 Canvas 上绘制原图，再用 'source-in' 合成模式覆盖指定颜色
     */
    private drawTintedImage;
    /**
     * 绘制文字，支持截断省略
     */
    private drawText;
    /**
     * 绘制占位符文本
     */
    private drawPlaceholder;
    /**
     * 绘制角标（右上角三角形）
     */
    private drawCorner;
    /**
     * 判断是否应该显示角标
     */
    private hasValidCorner;
    /**
     * 检查坐标是否在角标区域内
     */
    private isInCornerArea;
    /**
     * 从 context 中判断鼠标是否在角标区域（用于 hover 检测）
     */
    private isInCornerAreaFromContext;
    /**
     * 截断文字并添加省略号
     */
    private truncateText;
    /**
     * 估算文字宽度（用于交互区域判断，不依赖 ctx）
     */
    private estimateTextWidth;
    /**
     * 创建虚拟锚点，模拟 DOM 元素的 getBoundingClientRect 接口
     * 供 WorkflowPopper 定位弹窗使用
     */
    private createVirtualAnchor;
}
export default WfStateViewer;
