/**
 * 从表格中提取数据，生成 AI 可消费的格式
 *
 * 重构说明：
 * - 使用 text-extractors 模块进行文本提取
 * - 支持多种格式类型的高效提取
 * - 对于自定义 cell 函数，回退到 React 渲染方式
 */
import { CnLocalizationContextProps } from '@cainiaofe/cn-ui-common';
import { registerTextExtractor, clearCustomExtractors, getSupportedFormats } from '../cell-format/text-extractors';
import type { PrimaryKeyType } from '../../../../../../cn-ai-table/view/utils/primary-key';
export { registerTextExtractor, clearCustomExtractors, getSupportedFormats };
/**
 * 从 DOM 元素中提取文本内容（递归提取所有文本节点）
 */
export declare function extractTextFromElement(element: HTMLElement | null): string;
/**
 * 从表格单元格 DOM 元素中提取文本内容
 * @param cellElement 单元格 DOM 元素（通常是 td 元素）
 * @returns 提取的文本内容
 */
export declare function extractCellText(cellElement: HTMLElement | null): string;
/**
 * 从表格中提取单行数据
 * @param rowElement 表格行 DOM 元素（tr 元素）
 * @param columnDataIndexes 列的数据索引数组（按顺序）
 * @returns 对象格式的数据，如 { DatePicker_1: "2022-12-03", ... }
 */
export declare function extractRowData(rowElement: HTMLElement | null, columnDataIndexes: string[]): Record<string, string>;
/**
 * 从表格中提取所有行数据
 * @param tableElement 表格 DOM 元素（table 元素）
 * @param columnDataIndexes 列的数据索引数组（按顺序）
 * @returns 数组格式的数据，每行一个对象
 */
export declare function extractAllRowsData(tableElement: HTMLElement | null, columnDataIndexes: string[]): Array<Record<string, string>>;
/**
 * 从表格视图数据模型中提取数据（使用格式化函数获取显示文本）
 *
 * 重构后的实现：
 * - 使用 text-extractors 模块的 extractRowsData 函数
 * - 支持多种格式类型的高效提取（不需要 React 渲染）
 * - 对于自定义 cell 函数，自动回退到 React 渲染方式
 * - 支持自定义提取器注册
 *
 * @param viewData 视图数据数组
 * @param allColumns 全量列定义数组（所有字段，不仅仅是可见字段）
 * @param processedColumnMap 处理后的列定义映射（包含 cell 渲染函数）
 * @param primaryKey 主键（字段名或函数），用于生成 id
 * @param context 本地化上下文（可选）
 * @returns 数组格式的数据，每行一个对象，值为格式化后的文本，包含 id 字段
 */
export declare function extractDataFromModelWithFormat(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>>;
/**
 * 从单个单元格提取文本（便于单独使用）
 *
 * @param value 原始值
 * @param column 列配置
 * @param record 行数据
 * @param processedColumn 处理后的列配置
 * @param context 本地化上下文
 * @param rowIndex 行索引
 */
export declare function extractSingleCellText(value: any, column: {
    dataIndex: string;
    title: string;
    format?: string;
    [key: string]: any;
}, record: any, processedColumn?: any, context?: CnLocalizationContextProps, rowIndex?: number): string;
/**
 * 从表格视图数据模型中提取数据（推荐方式，更可靠，但不包含格式化）
 * @param viewData 视图数据数组
 * @param viewColumns 视图列定义数组
 * @returns 数组格式的数据，每行一个对象
 */
export declare function extractDataFromModel(viewData: any[], viewColumns: Array<{
    dataIndex: string;
    title: string;
    [key: string]: any;
}>): Array<Record<string, any>>;
/**
 * 从表格 DOM 中提取数据（如果需要显示格式的值）
 * @param tableSelector 表格选择器（如 '.ai-table-table'）
 * @param columnDataIndexes 列的数据索引数组（按顺序）
 * @returns 数组格式的数据，每行一个对象
 */
export declare function extractDataFromDOM(tableSelector: string, columnDataIndexes: string[]): Array<Record<string, string>>;
