/**
 * 文本提取器类型定义
 * 用于从原始数据中直接提取显示文本，避免 React 渲染开销
 */
import { ICnTableColumn } from '../cn-table-cell-format/types/column';
/**
 * 文本提取器函数类型
 * @param value 原始值
 * @param column 列配置
 * @param record 行数据（可选）
 * @returns 提取的文本字符串，如果无法提取则返回 null
 */
export type TextExtractor = (value: any, column: ICnTableColumn, record?: any) => string | null;
/**
 * 文本提取器配置
 */
export interface TextExtractorConfig {
    /** 提取器函数 */
    extractor: TextExtractor;
    /** 优先级（数字越小优先级越高，默认为 10） */
    priority?: number;
}
/**
 * 文本提取器注册表类型
 */
export interface TextExtractorRegistry {
    [format: string]: TextExtractorConfig;
}
/**
 * 提取结果
 */
export interface ExtractionResult {
    /** 提取的文本 */
    text: string;
    /** 使用的提取方法 */
    method: 'extractor' | 'cell-string' | 'react-render' | 'fallback';
    /** 格式类型 */
    format?: string;
}
