/**
 * 文本提取器模块
 *
 * 提供从原始数据中直接提取显示文本的能力，避免 React 渲染开销。
 * 用于 AI 数据消费、导出等场景。
 */
import { CnLocalizationContextProps } from '@cainiaofe/cn-ui-common';
import { ICnTableColumn } from '../cn-table-cell-format/types/column';
import { type PrimaryKeyType } from '../../../../../../../cn-ai-table/view/utils/primary-key';
import type { TextExtractor, ExtractionResult } from './types';
export * from './types';
/**
 * 注册自定义文本提取器
 */
export declare function registerTextExtractor(format: string, extractor: TextExtractor, priority?: number): void;
/**
 * 清除自定义提取器
 */
export declare function clearCustomExtractors(): void;
/**
 * 核心提取函数 - 从单元格提取文本
 *
 * 提取策略（按优先级）：
 * 1. 使用注册的纯文本提取器（最高效）
 * 2. 调用 cell 函数，如果返回字符串直接使用
 * 3. 调用 cell 函数返回 ReactNode，通过 renderToString 提取文本
 * 4. Fallback 到原始值
 *
 * @param value 原始值
 * @param column 列配置
 * @param record 行数据
 * @param processedColumn 处理后的列配置（包含 cell 函数）
 * @param context 本地化上下文
 * @param rowIndex 行索引
 */
export declare function extractCellTextValue(value: any, column: ICnTableColumn, record: any, processedColumn?: ICnTableColumn, context?: CnLocalizationContextProps, rowIndex?: number): ExtractionResult;
/**
 * 批量提取行数据
 *
 * @param viewData 视图数据数组
 * @param allColumns 全量列定义数组
 * @param processedColumnMap 处理后的列定义映射
 * @param primaryKey 主键（字段名或函数），用于生成 id
 * @param context 本地化上下文
 */
export declare function extractRowsData(viewData: any[], allColumns: Array<{
    dataIndex: string;
    title: string;
    format?: string;
    [key: string]: any;
}>, processedColumnMap: Map<string, any>, primaryKey: PrimaryKeyType, context?: CnLocalizationContextProps): Array<Record<string, string>>;
/**
 * 获取所有支持的格式类型
 */
export declare function getSupportedFormats(context?: CnLocalizationContextProps): string[];
