import { FacetField } from '../models/facet-field.interface';
import { SearchQueryBuilderService } from './search-query-builder.service';
import { TranslationService } from '@alfresco/adf-core';
import { SearchService } from './search.service';
import { FacetFieldBucket } from '../models/facet-field-bucket.interface';
import { CategoryService } from '../../category/services/category.service';
import { TabbedFacetField } from '../models/tabbed-facet-field.interface';
import * as i0 from "@angular/core";
export interface SelectedBucket {
    field: FacetField;
    bucket: FacetFieldBucket;
}
export declare class SearchFacetFiltersService {
    private queryBuilder;
    private searchService;
    private translationService;
    private categoryService;
    /**
     * All facet field items to be displayed in the component. These are updated according to the response.
     * When a new search is performed, the already existing items are updated with the new bucket count values and
     * the newly received items are added to the responseFacets.
     */
    responseFacets: FacetField[];
    tabbedFacet: TabbedFacetField;
    /** shows the facet chips */
    selectedBuckets: SelectedBucket[];
    private readonly facetQueriesPageSize;
    constructor(queryBuilder: SearchQueryBuilderService, searchService: SearchService, translationService: TranslationService, categoryService: CategoryService);
    onDataLoaded(data: any): void;
    private parseFacets;
    private parseFacetItems;
    private parseTabbedFacetField;
    private extractCreatorAndModifier;
    private parseFacetFields;
    private parseFacetIntervals;
    private parseFacetQueries;
    private sortFacets;
    private getResponseBuckets;
    private getResponseQueryBuckets;
    private sortFacetBuckets;
    private getCountValue;
    getBucketCountDisplay(bucket: FacetFieldBucket): string;
    private getFilterByMinCount;
    private getCorrespondingFilterQuery;
    private buildIntervalQuery;
    private findFacet;
    private findResponseFacet;
    private updateExistingBuckets;
    private getBucketFilterFunction;
    private loadCategoryNames;
    unselectFacetBucket(facetField: FacetField, bucket: FacetFieldBucket): void;
    updateSelectedBuckets(): void;
    resetAllSelectedBuckets(): void;
    resetQueryFragments(): void;
    reset(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchFacetFiltersService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SearchFacetFiltersService>;
}
