import { Matrix } from '../graphical-report/chart/matrix';
import { AxElement } from '../../elements/ax-element';
import { AttributeData } from '../../fields/attribute-data';
import { TableStyle } from './table-style';
import { EventEmitter, Type } from '@angular/core';
import { TabularComponent } from './tabular/tabular.component';
export declare class Tabular extends AxElement {
    component: Type<TabularComponent>;
    matrix: Matrix;
    showSerialNo: boolean;
    showGrandTotal: boolean;
    tableStyle: TableStyle;
    isDirty: boolean;
    isEditable: any;
    rowGrouping: Array<AttributeData>;
    colGrouping: Array<AttributeData>;
    reportChangeEvent: EventEmitter<any>;
    subTotal: boolean;
    rowCount: boolean;
    showSum: boolean;
    showMax: boolean;
    showMin: boolean;
    showAvg: boolean;
    isDataLoaded: boolean;
    columnSpan: number;
    serialNoColWidth: number;
    sCount: Array<number>;
    attribute: Array<AttributeData>;
    sorting: Array<AttributeData>;
    integerArray: Array<string>;
    numberFieldExist: boolean;
    colData: Map<string, number>;
    rowData: Map<string, number>;
    cloneDataCount: number[];
    secondColData: Map<string, any>;
    integerIndex: number[];
    seriesData: Map<number, any>;
    dataRender: Map<number, any>;
    firstColData: Map<number, any>;
    dataIndex: number[];
    secondColSeries: Array<string>;
    firstColSeries: Array<string>;
    grandTotal: Array<number>;
    grandTotal2: Array<number>;
    sideTotal: Map<number, any>;
    totalRowCount: Map<number, number>;
    rowCountIndex: Map<number, any>;
    sideGrandTotal: Array<number>;
    integerData: Array<number>;
    integerIndexing: Array<number>;
    countArray: Array<number>;
    rowsData: Array<string>;
    countsData: Map<number, any>;
    countsTotal: Array<number>;
    gTotalIntegerIndexing: Array<number>;
    countIntegerIndexing: Array<number>;
    countTotalIntegerIndexing: Array<number>;
    dataIndexSTotal: Map<number, number>;
    colSubTotal: Map<number, any>;
    colSubTotalCount: Map<number, any>;
    sideSubTotal: Map<number, any>;
    countSTotal: Map<number, number>;
    countsSubTotal: Map<number, any>;
    cloneIntegerArray: Array<any>;
    showBottomRow: boolean;
    pageIndex: number;
    pageSize: number;
    pageLength: number;
    sqlQuery: any;
    isCustomElement: boolean;
    constructor(tabularReport?: Tabular);
    /**function to create tabular report object with existing values
    *
    *@param TabularReport
    */
    tabular(tabularReport: Tabular): void;
    /**function to update group data value when sub total toggle value changed
    *
    *@param TabularReport
    */
    subTotalToggle(tabularReport: Tabular): Tabular;
    /**function to calculate 2nd and 3rd row grouping data values to show subtotal
    *
    *@param TabularReport
    *@param number
    */
    rowSpan(tabularReport: Tabular, _number: number): Tabular;
    /**function to count subtotal when column grouping is applied
    *
    *@param TabularReport
    *@param number
    */
    countSubTotal(tabularReport: Tabular): Tabular;
}
