/**
* DevExtreme (pdf_exporter.d.ts)
* Version: 20.2.3 (build 20316-1558)
* Build date: Wed Nov 11 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import dxDataGrid, { dxDataGridColumn } from './ui/data_grid';

/**
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export interface PdfDataGridCell {
    /**
     * 
     */
    column?: dxDataGridColumn;
    /**
     * 
     */
    data?: any;
    /**
     * 
     */
    groupIndex?: number;
    /**
     * 
     */
    groupSummaryItems?: Array<{ name?: string, value?: any }>;
    /**
     * 
     */
    rowType?: string;
    /**
     * 
     */
    totalSummaryItemName?: string;
    /**
     * 
     */
    value?: any;
}

/**
 * Properties that can be passed as a parameter to the exportDataGrid(options) method from the pdfExporter module.
 * Warning! This type is used for internal purposes. Do not import it directly.
 */
export interface PdfExportDataGridProps {
     /**
      * A jsPDF instance. This setting is required.
      */
    jsPDFDocument?: object;
     /**
      * 
      */
    autoTableOptions?: object;
    /**
     * A DataGrid instance. This setting is required.
     */
    component?: dxDataGrid;
    /**
     * Specifies whether or not to export only selected rows.
     */
    selectedRowsOnly?: boolean;
    /**
     * Specifies whether columns in the PDF file should have the same width as their source widget's columns.
     */
    keepColumnWidths?: boolean;
    /**
     * 
     */
    customizeCell?: ((options: { gridCell?: PdfDataGridCell, pdfCell?: any}) => any);
}

/**
 * [tags] ctp Exports grid data to a PDF file.
 */
export function exportDataGrid(options: PdfExportDataGridProps): Promise<void> & JQueryPromise<void>;
