import { ColumnsType } from '@aplus-frontend/antdv/es/table';
import { ApColumnState, ApTableContextRenderConfig, ApTableSettingDefaultValueType } from '../../interface';
import { VNode, RendererNode, RendererElement, VNodeArrayChildren } from 'vue';
import { ColumnTitleProps } from '@aplus-frontend/antdv/es/table/interface';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
/**
 * 根据列状态重新生成表格列配置
 * @param columns 表格列数组
 * @param columnStateList 表格列状态数组
 * @returns
 */
export default function generateColumnsByColumnState(columns: ColumnsType, columnStateList: ApColumnState[]): ColumnsType;
export declare function customCloneColumnStates<T extends ApColumnState | ApColumnState[]>(columnStates: T): T;
/**
 * 获取基于title设置的label节点
 * @param node
 * @param overrideProps
 * @returns
 */
export declare function getLabelNode(column: any, renderConfig?: ApTableContextRenderConfig): number | boolean | void | VNode<RendererNode, RendererElement, {
    [key: string]: any;
}> | VNodeArrayChildren | ((props: ColumnTitleProps<any>) => VNodeArrayChildren | VueNode) | null;
/**
 * 获取最终用于渲染的节点
 * @param node
 * @param overrideProps
 * @returns
 */
export declare function getLabelRenderNode(node: any): any;
/**
 * 生成可用于缓存的列状态对象
 * @param columnStates
 * @returns
 */
export declare function getColumnStateString(columnStates: ApColumnState[]): ApTableSettingDefaultValueType;
export declare function isEqualColumnStateIgnoreLabel(a: ApColumnState[], b: ApColumnState[]): boolean;
