/**
 * CpPersonViewer - CP Person (外包人员) rendering viewer
 * Handles avatar and name display for CP users
 *
 * 与 DOM 版 cpPersonViewer.ts 对齐：
 * - value 为 CP 用户 ID 数组（string[]）或单个 string
 * - 通过 cpUserResolver 回调将 ID 解析为显示名称（companyName/roleName/nickName）
 * - 未解析的 ID 先显示 ID 占位，异步加载后通过 requestRedraw 刷新
 * - 样式对齐 PersonViewer：头像 + 名称
 */
import type { CellViewer, ViewerRenderContext, CpPersonViewerData } from './types';
/**
 * CpPersonViewer renders CP person information in cells
 * Style aligned with PersonViewer (avatar + name)
 */
declare class CpPersonViewer implements CellViewer<CpPersonViewerData> {
    readonly type = "cp-person";
    private imageManager;
    private _sm;
    private get avatarColors();
    constructor();
    /**
     * Draw CP person content in the cell
     */
    draw(context: ViewerRenderContext, data: CpPersonViewerData): void;
    /**
     * Draw persons list (with background tag style, aligned with PersonViewer showNameBackground mode)
     */
    private drawPersons;
    /**
     * Draw person avatar (circle shape, using default avatar image)
     */
    private drawAvatar;
    /**
     * Draw fallback avatar with initial character
     */
    private drawFallbackAvatar;
    /**
     * Get consistent color index based on person id
     */
    private getColorIndex;
    /**
     * Get initial character from name
     */
    private getInitial;
    /**
     * Truncate text with ellipsis to fit within maxWidth
     */
    private truncateText;
    /**
     * Draw remaining count badge
     */
    private drawRemainingCount;
    /**
     * Draw placeholder for empty state
     */
    private drawPlaceholder;
}
export default CpPersonViewer;
