import { EventEmitter } from '@angular/core';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { AttributesDto } from '../../common-dto/attributes-dto';
import { AxFilter } from '../../enlighten-lib/filters/ax-filter';
import { CommonLibConfigurationService } from '../../common-lib-configuration.service';
import { ElementService } from '../../enlighten-lib/report/element.service';
import * as i0 from "@angular/core";
export declare class MultiSelectFilterService {
    private _httpClient;
    private _configuration;
    private elementService;
    refreshFilterPropertyEvent: EventEmitter<any>;
    parentEventEmitterRef: EventEmitter<any>;
    refreshChildFilterEventEmitterRef: EventEmitter<any>;
    private _parentFilterList;
    /**
     * Constructor
     */
    constructor(_httpClient: HttpClient, _configuration: CommonLibConfigurationService, elementService: ElementService);
    /**
     * Getter for entities
     */
    get parentFilterList$(): Observable<AxFilter[]>;
    /**
     * when filter click then open filter properties.
     */
    refreshChildFilter(parentFilterKey: string | number, parentFilter: AxFilter): void;
    /**
     * when filter click then open filter properties.
     */
    refreshFilterProperty(filter: any): void;
    /**
     * when filter click then open filter properties.
     */
    refreshFilterListProperty(filters: Array<AxFilter>): void;
    /**
     * when parent filter add to child filter then call
     */
    refreshParentEventEmitter(guid: string): void;
    /**
     * Get Category list by the app-version id
     */
    getAttributeSeries(data: AttributesDto): Promise<AttributesDto>;
    /**
     * Removed Parent Filter if parent has invalid value
     *
     * @param data
     * @returns
     */
    removeInvalidFilter(data: AttributesDto): AxFilter;
    getDistinctWidgetValue(formId: string, widgetIdentifier: string, startIndex: number, limit: number, searchedTerm: string): Promise<unknown>;
    /**
     * Register panel scroll event (this is listener for mat options scroll.)
     */
    registerPanelScrollEvent(componentRef: any): void;
    /**
     * Get the Attribute form object list.this
     */
    getAttributeList(componentRef: any): void;
    /**
     * set date time drop down list value
     *
     * @param attribute
     * @param componentRef
     */
    setDateTimeListSeriesValue(attribute: AttributesDto, componentRef: any): void;
    /**
     * Set attribute drop down list value
     *
     * @param attribute
     * @param componentRef
     */
    setAttributeSeriesValue(attribute: AttributesDto, componentRef: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectFilterService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MultiSelectFilterService>;
}
