import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { MatCheckboxChange } from '@angular/material/checkbox';
import { MatMenuTrigger } from '@angular/material/menu';
import { ReportBuilderMasterService } from '../../../report-builder-master.service';
import { TabularReport } from '../../tabular-report';
import { TabularReportService } from '../../tabular-report.service';
import { FieldsListService } from '../../../../../field-list-lib/fields-list.service';
import { Report } from '../../../../../common-utils/report';
import { AttributeData } from '../../../../fields/attribute-data';
import { DashboardBuilderService } from '../../../../../dashboard-lib/dashboard-builder.service';
import { ScreenType } from '../../../../../enlighten-lib/filters/condition-type';
import { TabularComponent } from '../tabular.component';
import { AxFilter } from '../../../../filters/ax-filter';
import { GhostLoaderType } from '../../../../../ghost-loader/ghost-loader.component';
import * as i0 from "@angular/core";
export declare class ColumnGroupViewComponent implements OnInit, OnChanges {
    private _reportBuilderMasterService;
    private _fieldsListService;
    private _tabularReportService;
    private _dashboardBuilderService;
    tabularReport: TabularReport;
    isEditable: boolean;
    x1ImageMediaUrl: string;
    screenType: ScreenType;
    drillThroughParentType: ScreenType;
    drillThroughFilterInput: AxFilter;
    parentRef: TabularComponent;
    reportId: number;
    contextMenu: MatMenuTrigger;
    columnData: any;
    contextMenuPosition: {
        x: string;
        y: string;
    };
    currentIndex: number;
    _avg: boolean;
    _max: boolean;
    _min: boolean;
    showSum: boolean;
    showMax: boolean;
    showMin: boolean;
    showAvg: boolean;
    moment: any;
    isDirty: boolean;
    report: Report;
    attrGlobal: number;
    count: number;
    ct: number;
    colSeries: number;
    attributeDataClone: Array<AttributeData>;
    map: Map<number, any>;
    isDataLoaded: boolean;
    fColData: Array<string>;
    GhostLoaderType: typeof GhostLoaderType;
    constructor(_reportBuilderMasterService: ReportBuilderMasterService, _fieldsListService: FieldsListService, _tabularReportService: TabularReportService, _dashboardBuilderService: DashboardBuilderService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    getMatrixDimension(): void;
    onContextMenu(event: MouseEvent, index: number, attr: AttributeData): void;
    /**
     * to returns sum of rows
     *
     */
    sum(series: Array<string>): number;
    /**
     * to returns average of rows
     *
     */
    avg(series: Array<string>): number;
    /**
     * to returns maximum value of rows
     *
     */
    max(series: Array<string>): number;
    /**
     * to returns minimum value of rows
     *
     */
    min(series: Array<string>): number;
    /***
     * On chart context  click for sum aggregation
     */
    sumAggregation(ob: MatCheckboxChange): void;
    /***
     * On chart context  click for avg aggregation
     */
    averageAggregation(ob: MatCheckboxChange): void;
    /***
     * On chart context  click for max aggregation
     */
    maxAggregation(ob: MatCheckboxChange): void;
    /***
     * On chart context  click for min aggregation
     */
    minAggregation(ob: MatCheckboxChange): void;
    /**
     * to set isDirty after changes in tabular report filter
     *
     */
    dirtyFlowCheckEvent(): void;
    /**used to create a row for subtotal
   *
   *@param number
   *@param number
   */
    indexing(count_: number, i: number): void;
    /**
     * will emit table properties on table click t
     *
     * @param event
     */
    tableSelect(event: PointerEvent): void;
    /**
     * to redirect media url
     *
     * @param event
     * @param url
     */
    redirect(event: KeyboardEvent, url: string): void;
    removeFromDashboard(): void;
    drillThroughContext(event: MouseEvent, attribute: AttributeData, i: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ColumnGroupViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ColumnGroupViewComponent, "lib-column-group-view", never, { "tabularReport": "tabularReport"; "isEditable": "isEditable"; "x1ImageMediaUrl": "x1ImageMediaUrl"; "screenType": "screenType"; "drillThroughParentType": "drillThroughParentType"; "drillThroughFilterInput": "drillThroughFilterInput"; "parentRef": "parentRef"; "reportId": "reportId"; }, {}, never, never>;
}
