import type { BaseExportParams, ColumnsType, ColumnType, CsvExportParams, DefaultRecordType, ExcelExportModule, ExcelExportParams, ExportMergeCell, FinallyColumnType, Key } from '../components/interface'; export declare type CustomHeaderCellForExport = (column: ColumnType) => Record | undefined | null; export declare function registerExcelExportModule(module: ExcelExportModule): void; export declare function resolveExportColumns(params: { allColumns: FinallyColumnType[]; rawColumns?: ColumnsType; columnKeys?: Key[]; allColumnsFlag?: boolean; }): FinallyColumnType[]; export declare function resolveExportRows(params: { exportedRows: 'all' | 'filteredAndSorted'; rowKeys?: Key[]; rawData: RecordType[]; filteredSortedData: RecordType[]; getRecordByKey: (key: Key) => RecordType; shouldRowBeSkipped?: (params: { record: RecordType; index: number; }) => boolean; }): RecordType[]; export declare function getHeaderTitle(column: ColumnType): string; interface BuildHeaderRowsParams { columns: FinallyColumnType[]; rawColumns?: ColumnsType; skipColumnHeaders?: boolean; skipColumnGroupHeaders?: boolean; processHeaderCallback?: BaseExportParams['processHeaderCallback']; customHeaderCell?: CustomHeaderCellForExport; } interface HeaderRowsResult { rows: string[][]; merges: ExportMergeCell[]; } export declare function buildHeaderRows(params: BuildHeaderRowsParams): HeaderRowsResult; export declare type CustomCellForExport = (params: { record: RecordType; rowIndex: number; column: ColumnType; }) => { colSpan?: number; rowSpan?: number; } | undefined | null; interface DataRowsResult { rows: string[][]; merges: ExportMergeCell[]; } export declare function buildDataRows(params: { rows: RecordType[]; columns: FinallyColumnType[]; processCellCallback?: BaseExportParams['processCellCallback']; customCell?: CustomCellForExport; headerRowCount?: number; getRowKey?: (record: RecordType, index: number) => Key; getIndexsByKey?: (key: Key) => number[]; }): DataRowsResult; export declare function escapeCsvValue(value: string, separator: string): string; export declare function buildCsvString(headerRows: string[][], dataRows: string[][], separator: string): string; export declare function downloadFile(content: string | Blob, fileName: string, mimeType: string): void; export interface StandaloneCsvExportParams { data: RecordType[]; columns: ColumnsType; fileName?: string; columnSeparator?: string; columnKeys?: Key[]; skipColumnHeaders?: boolean; skipColumnGroupHeaders?: boolean; processCellCallback?: BaseExportParams['processCellCallback']; processHeaderCallback?: BaseExportParams['processHeaderCallback']; customCell?: CustomCellForExport; customHeaderCell?: CustomHeaderCellForExport; suppressDownload?: boolean; serialNumber?: boolean | string | { title?: string; render: (index: number) => string | number; }; } export declare function exportToCsv(params: StandaloneCsvExportParams): string | void; export interface StandaloneExcelExportParams { data: RecordType[]; columns: ColumnsType; fileName?: string; sheetName?: string; columnKeys?: Key[]; skipColumnHeaders?: boolean; skipColumnGroupHeaders?: boolean; processCellCallback?: BaseExportParams['processCellCallback']; processHeaderCallback?: BaseExportParams['processHeaderCallback']; customCell?: CustomCellForExport; customHeaderCell?: CustomHeaderCellForExport; suppressDownload?: boolean; serialNumber?: boolean | string | { title?: string; render: (index: number) => string | number; }; } export declare function exportToExcel(params: StandaloneExcelExportParams): any; export interface TableExportContext { rawData: RecordType[]; filteredSortedData: RecordType[]; allColumns: FinallyColumnType[]; rawColumns: ColumnsType; getRecordByKey: (key: Key) => RecordType; getRowKey: (record: RecordType, index: number) => Key; getIndexsByKey: (key: Key) => number[]; customCell?: CustomCellForExport; customHeaderCell?: CustomHeaderCellForExport; } export declare function createTableCsvExport(getContext: () => TableExportContext): (params?: CsvExportParams) => string | void; export declare function createTableExcelExport(getContext: () => TableExportContext): (params?: ExcelExportParams) => any; export {};