import type { CellMeta, DataItem, SimpleData } from '../../../common';
import { CopyMIMEType, type CopyAndExportUnifyConfig, type CopyableHTML, type CopyablePlain, type FormatOptions, type MatrixHTMLTransformer, type MatrixPlainTransformer, type SheetCopyConstructorParams } from '../../../common/interface/export';
import type { Node } from '../../../facet/layout/node';
import type { SpreadSheet } from '../../../sheet-type/spread-sheet';
export declare const matrixPlainTextTransformer: (dataMatrix: DataItem[][], separator?: string) => CopyablePlain;
export declare const matrixHtmlTransformer: (dataMatrix: DataItem[][]) => CopyableHTML;
export declare const Transformers: {
    [CopyMIMEType.PLAIN]: MatrixPlainTransformer;
    [CopyMIMEType.HTML]: MatrixHTMLTransformer;
};
export declare const assembleMatrix: ({ rowMatrix, colMatrix, dataMatrix, cornerMatrix, }: {
    colMatrix: SimpleData[][];
    dataMatrix: SimpleData[][];
    rowMatrix?: SimpleData[][];
    cornerMatrix?: SimpleData[][];
}) => SimpleData[][];
export declare function getMaxRowLen(matrix: SimpleData[][]): number;
/**
 * 补全 matrix 中的元素个数, 使得每一行的元素个数一致，以最大的行元素个数为准
 * @param {SimpleData[][]} matrix
 * @return {SimpleData[][]}
 */
export declare function completeMatrix(matrix: SimpleData[][]): SimpleData[][];
export declare const getFormatOptions: (formatOptions?: FormatOptions) => {
    formatHeader: boolean;
    formatData: boolean;
};
export declare function unifyConfig({ spreadsheet: { options: { interaction }, }, config: { formatOptions, separator, selectedCells, customTransformer, async, }, isExport, }: SheetCopyConstructorParams): CopyAndExportUnifyConfig;
/**
 * 获取到当前节点所有数据
 * @param leafNode
 */
export declare const getNodeFormatData: (leafNode: Node) => string[];
export declare const getHeaderNodeFromMeta: (meta: CellMeta, spreadsheet: SpreadSheet) => (Node | undefined)[];
