import { EventEmitter, OnChanges, OnInit } from '@angular/core';
import { DataModel } from '../../data-model/data-model';
import { AxFilter } from '../../filters/ax-filter';
import { FieldsListService } from '../../../field-list-lib/fields-list.service';
import { Attribute } from '../../data-model/attribute';
import { MatSelectChange } from '@angular/material/select';
import { ReportFilterService } from '../report-filter/report-filter.service';
import { FilterCategory } from '../../filters/filter-category';
import { ActivatedRoute } from '@angular/router';
import { MatSelectionListChange } from '@angular/material/list';
import { IChartComponent } from '../graphical-report/ichart-component';
import { ScopeType, ScreenType } from '../../filters/condition-type';
import { CategoryService } from '../../../filters/category-filter/category.service';
import { FilterSourceElementType } from '../../filters/chart-filter-type';
import { GeneralFilterType } from '../../filters/general-filter-type';
import { IAxFilter } from '../../filters/iax-filter';
import * as i0 from "@angular/core";
export declare class ChartFilterComponent implements OnInit, OnChanges {
    private _fieldsListService;
    private _reportFilterService;
    private _activatedRoute;
    private _categoryService;
    filters: Array<AxFilter>;
    categories: Array<FilterCategory>;
    isEditable: boolean;
    dirtyFlowCheckEvent: EventEmitter<any>;
    chartRef: IChartComponent;
    filterSourceElementType: FilterSourceElementType;
    commonFilterArray: Array<IAxFilter>;
    attributeData: Array<Attribute>;
    dataModel: DataModel;
    dataModelResult: DataModel;
    filtersList: Array<Attribute>;
    categoryList: Array<FilterCategory>;
    appVersion: number;
    reportId: number;
    scopeType: ScopeType;
    showSearchBox: boolean;
    showField: boolean;
    titleValue: string;
    searchedTerm: any;
    screenType: ScreenType;
    showApplyFilterEvent: boolean;
    private _unsubscribeAll;
    constructor(_fieldsListService: FieldsListService, // Used for get matrix data
    _reportFilterService: ReportFilterService, _activatedRoute: ActivatedRoute, _categoryService: CategoryService);
    get filterSourceElementTypes(): typeof FilterSourceElementType;
    /**
     * when we change the current  page then call this func
     */
    ngOnChanges(): void;
    get generalFilterTypes(): typeof GeneralFilterType;
    ngOnInit(): void;
    /***
   * getAttributeSeries which is use to call column data
   * @param event
   */
    getAttributeSeries(event: MatSelectChange | any): void;
    /***
    * getCategoryFilterList which is use to get filter list  filter component
    * @param event
    */
    getCategoryFilterList(event: MatSelectionListChange | any): void;
    getAllFilters(): void;
    /**
     * set existing basic filter and local  and  filter category
     */
    setExistingFilter(): void;
    /**
     * On destroy
     */
    ngOnDestroy(): void;
    filterChangeEmitEvent(): void;
    showFilterDiv(): void;
    clear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChartFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChartFilterComponent, "chart-filter", never, { "filters": "filters"; "categories": "categories"; "isEditable": "isEditable"; "chartRef": "chartRef"; "filterSourceElementType": "filterSourceElementType"; }, { "dirtyFlowCheckEvent": "dirtyFlowCheckEvent"; }, never, never>;
}
