import { EventEmitter, OnInit } from '@angular/core';
import { FormBuilder, FormControl } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { AppStateService, FilterInputComponent, GainsightService } from '@c8y/ngx-components';
import { TranslateService } from '@ngx-translate/core';
import { FilterableAppOrPlugin, FilterPipe, PackageFilters } from './list-filters.model';
import * as i0 from "@angular/core";
export declare class ListFiltersComponent implements OnInit {
    private formBuilder;
    private ui;
    private translateService;
    private gainsightService;
    private router;
    private activatedRoute;
    packageTypes: (keyof PackageFilters['type'])[];
    packageAvailabilities: (keyof PackageFilters['availability'])[];
    packageContents: (keyof PackageFilters['content'])[];
    filterPipeChange: EventEmitter<FilterPipe>;
    filterInput: FilterInputComponent;
    formGroup: ReturnType<ListFiltersComponent['initForm']>;
    chips: [string, FormControl][];
    predefinedFiltersVisible: boolean;
    customFilters: Map<string, (app: FilterableAppOrPlugin, enabled: boolean) => boolean>;
    currentFilterTerm: string;
    private currentLang;
    private data;
    private currentFiltersState;
    private CURRENT_LOCATION;
    private destroy$;
    constructor(formBuilder: FormBuilder, ui: AppStateService, translateService: TranslateService, gainsightService: GainsightService, router: Router, activatedRoute: ActivatedRoute);
    ngOnInit(): void;
    setFilterTerm(filterTerm: string): void;
    applyPredefinedFilters(): void;
    reset(): void;
    resetAllFilters(): void;
    toggleDropdown(isOpen: boolean): void;
    deselectChip(chip: [string, FormControl]): void;
    ngOnDestroy(): void;
    subscribeToQueryParams(): void;
    private setQueryParams;
    private parseQueryParams;
    private simplifyFilterObject;
    private initForm;
    private setPipe;
    private filterContainString;
    private appMatchesByPredefinedProperty;
    private setChips;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListFiltersComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ListFiltersComponent, "c8y-list-filters", never, { "packageTypes": { "alias": "packageTypes"; "required": false; }; "packageAvailabilities": { "alias": "packageAvailabilities"; "required": false; }; "packageContents": { "alias": "packageContents"; "required": false; }; }, { "filterPipeChange": "filterPipeChange"; }, never, ["*"], false, never>;
}
//# sourceMappingURL=list-filters.component.d.ts.map