import { EventEmitter } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { CrossFilterDto, FilterDto } from '../../common-dto/elements-dto';
import { CommonService } from '../../common.service';
import { AxFilter } from '../filters/ax-filter';
import { ScopeType } from '../filters/condition-type';
import { FilterCategory } from '../filters/filter-category';
import * as i0 from "@angular/core";
export interface ChangeData {
    entityScope: ScopeType;
}
export declare class ElementService {
    private _commonService;
    filtersDto: FilterDto;
    crossFilterEnabled: BehaviorSubject<boolean | false>;
    crossFilterEvent: EventEmitter<any>;
    private _refreshDataEvent;
    /**
     * Constructor
     */
    constructor(_commonService: CommonService);
    get refreshDataEvent$(): Observable<boolean>;
    /**
     * method calls through report filter when global filter fields values are selected.
     */
    refreshElementData(): void;
    /**
     * method calls through destroy element event subscribe
     */
    destroyRefreshElementData(): void;
    /**
     * Check Filter value is empty or NOT
     *
     * @param filters
     * @returns
     */
    getValidFilter(filters: Array<AxFilter>, filterType?: number): Array<AxFilter>;
    /**
     * return value is value or not as per the value type.
     * i.e string,number,object
     * @param value
     * @returns
     */
    returnValidValue(value: any): boolean;
    /**
     * checks value has a property value and checks the value is valid or not.
     * @param filter
     * @returns
     */
    getValidValue(filter: any): boolean;
    /**
     * Check filter category is empty or Not
     *
     * @param filterCategory
     * @returns
     */
    getValidFilterCategory(filterCategory: Array<FilterCategory>, filterType?: number): Array<FilterCategory>;
    triggerCrossFilter(crossFilterDto: CrossFilterDto): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ElementService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ElementService>;
}
