import { type Formatter, type SimpleData } from '../../../common';
import type { CopyAndExportUnifyConfig, CopyableHTML, CopyablePlain, SheetCopyConstructorParams } from '../../../common/interface/export';
import { Node } from '../../../facet/layout/node';
import type { SpreadSheet } from '../../../sheet-type';
export declare abstract class BaseDataCellCopy {
    protected spreadsheet: SpreadSheet;
    protected config: CopyAndExportUnifyConfig;
    protected idleCallbackCount: number;
    protected initIdleCallbackCount(rowLength: number): void;
    constructor(params: SheetCopyConstructorParams);
    protected getHeaderNodeMatrix(node: Node): SimpleData[];
    private matrixPlainTextTransformer;
    private matrixHtmlTransformer;
    protected matrixTransformer(dataMatrix: SimpleData[][], separator?: string): [CopyablePlain, CopyableHTML];
    protected getFormatter(options: {
        field: string;
        rowIndex: number;
        colIndex: number;
    }): Formatter;
    /**
     * Safari 等不支持 requestIdleCallback 的浏览器, 降级为同步
     */
    protected isEnableASync(): boolean;
}
