import React from 'react';
import type { RecordBoardColumnType } from '../types';
import type { FilterValueType } from '../../filter/components/FilterButton/types';
import type { SortItemProps } from '../../sort/types';
/** 获取列唯一 key，供列显示隐藏等使用 */
export declare function getRecordBoardColumnKey(column: RecordBoardColumnType): string;
/**
 * 同值列总结栏不展示的内容：null/undefined、空串、纯空白、占位「-」。
 * 列仍可折叠；仅用于不生成总结栏条目（避免「-」、空白等占位）。
 */
export declare function isTrivialUniformSummaryDisplayValue(v: any): boolean;
/**
 * 总结区实际渲染的 React 节点是否视为无展示价值（与 {@link isTrivialUniformSummaryDisplayValue} 对齐，含一层子节点）。
 */
export declare function isTrivialUniformSummaryReactContent(node: React.ReactNode): boolean;
export interface UniformColumnSummaryItem {
    columnKey: string;
    title: string;
    type: 'uniform' | 'empty';
    /** 无 render 时的回退展示 */
    displayValue?: string;
    /** 仅用于判断是否相等的值（uniformCompare 的返回值或 dataIndex 取值），不参与 render */
    value?: any;
    /** 表格里该列单元格的值（dataIndex 从 record 取值），传给 render 的与表格单元格一致 */
    cellValue?: any;
    /** 代表行（如首行），供列 render 使用 */
    record?: any;
}
/**
 * 根据当前页 data 计算：哪些列「全列同值」或「全空」应隐藏，以及总结区展示项。
 * 折叠列与总结项可不一一对应：全空、整列「-」/空白等同值仍折叠，但不生成无信息总结项。
 * 仅当 grid.collapseUniformColumns 为 true 时使用。
 */
export declare function computeUniformColumnSummary(data: any[], columns: RecordBoardColumnType[]): {
    uniformHiddenColumnKeys: string[];
    summaryItems: UniformColumnSummaryItem[];
};
/**
 * 处理列配置：对带 type 的列注入基于 Pisell 组件的 render，其余列保持不变。
 * 有 type 时若列上传入了 render 则优先使用（覆盖自动派生）。
 */
export declare function processColumnsForGrid<RecordType = any>(columns: RecordBoardColumnType<RecordType>[] | undefined): RecordBoardColumnType<RecordType>[];
/**
 * 从 columns 派生排序列表（SortItemProps[]）。
 * 有 type 的列：根据组件 SortOptions（或默认）生成；无 type 的列：根据 sortable + sort 生成。
 */
export declare function deriveSortFromColumns(columns: RecordBoardColumnType[] | undefined): SortItemProps[];
/**
 * 从 columns 派生 filter 列表（quickFilter + otherFilter）。
 * 有 type 的列：根据 type + fieldProps 生成筛选项；无 type 的列：根据 filterable + filter 生成。
 */
export declare function deriveFilterFromColumns(columns: RecordBoardColumnType[] | undefined): FilterValueType;
