import { GridColumnDef, GridGroupState } from '../models'; import * as i0 from "@angular/core"; /** * Enterprise-grade export service for the DataGrid. * Generates native XLSX binary workbooks and vector PDF documents * with zero external dependencies. */ export declare class GridExportXlsxService { /** * Export data as a native .xlsx binary workbook. * Supports: styled headers, auto-column widths, frozen header pane, * number formatting, and multi-sheet grouped exports. */ exportToXlsx(data: T[], columns: GridColumnDef[], filename?: string, options?: XlsxExportOptions): void; /** * Export data as a native vector PDF document. * Supports: title, page numbers, column alignment, landscape/portrait. */ exportToPdf(data: T[], columns: GridColumnDef[], options?: PdfExportOptions): void; private buildWorkbook; private buildContentTypes; private buildRootRels; private buildWorkbookXml; private buildWorkbookRels; private buildStyles; private buildSheetXml; private buildPdfTableHtml; private rowToValues; private rowToStringValues; private computeColumnWidths; private computeRelativeColumnWidths; private colIndexToLetter; private sanitizeSheetName; private escapeXml; private escapeHtml; private downloadBlob; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export interface XlsxExportOptions { sheetName?: string; freezeHeader?: boolean; autoFilter?: boolean; groupBy?: GridGroupState | null; includeFooter?: boolean; title?: string; dateFormat?: string; numberFormat?: string; } export interface PdfExportOptions { title?: string; orientation?: 'portrait' | 'landscape'; pageSize?: 'A4' | 'A3' | 'Letter' | 'Legal'; fontSize?: number; headerFontSize?: number; margin?: number; groupBy?: GridGroupState | null; showPageNumbers?: boolean; showDate?: boolean; } export interface XlsxSheet { name: string; headers: string[]; data: unknown[][]; columnWidths: number[]; columnTypes: string[]; }