import { TranslateService } from '@ngx-translate/core';
import { Observable } from 'rxjs';
import { Store } from '@ngrx/store';
import { QdFilterCategory, QdFilterItem, QdFilterSelection } from '../model/filter-config.interface';
import { QdFilterPostBodyData } from '../model/filter-post-body.interface';
import { QdFilterState } from '../store/filter.selector';
import * as i0 from "@angular/core";
export declare class QdFilterService {
    private readonly store;
    readonly translateService: TranslateService;
    private queryStringSubjects;
    private filterUrlParameterSubjects;
    private postBodySubjects;
    constructor(store: Store<QdFilterState>, translateService: TranslateService);
    getItems$(filterId: any, categoryIndex: any): Observable<any>;
    getItemById$(filterId: any, categoryIndex: any, itemIndex: any): Observable<QdFilterItem>;
    getMinDate$(filterId: any, categoryIndex: any, itemIndex: any): Observable<string | undefined>;
    getMaxDate$(filterId: any, categoryIndex: any, itemIndex: any): Observable<string | undefined>;
    getQueryString$(filterId: any): Observable<string>;
    getFilterUrlParameter$(filterId: any): Observable<string>;
    getPostBody$(filterId: any): Observable<QdFilterPostBodyData>;
    emitQueryString(filterId: string, outputLegacyQueryStringFormat: boolean): void;
    getCurrentQueryString(filterId: string, outputLegacyQueryStringFormat: boolean): Observable<string>;
    emitFilterUrlParameterString(filterId: string): void;
    getCurrentFilterUrlParameterString(filterId: string): Observable<string>;
    emitPostBody(filterId: any): void;
    getCurrentPostBody(filterId: any): Observable<QdFilterPostBodyData>;
    /**
     * State Selector
     */
    selectFilterDataById$(filterId: any): Observable<QdFilterCategory[]>;
    selectHasActiveCategory$(filterId: any): Observable<boolean>;
    getCategoryById$(filterId: any, categoryIndex: any): Observable<any>;
    getFilterCategoryValue$(filterId: any, categoryIndex: any): Observable<any>;
    /**
     * Action dispatcher
     */
    initFilterState(filterId: any, filterData: any): void;
    updateItem(filterId: any, categoryIndex: any, itemIndex: any, value: any): void;
    updateCategoryItems(filterId: any, categoryIndex: any, items: any): void;
    setItemIsActive(filterId: any, categoryIndex: any, itemIndex: any, isActive: any): void;
    setItemsStateSingleSelect(filterId: any, categoryIndex: any, itemIndex: any): void;
    hideShowItems(filterId: any, categoryIndex: any, filterKey: any): void;
    updateCategoryTranslation(filterId: any, filterData: any): void;
    setFilterSelection(filterId: any, filterSelection: QdFilterSelection): void;
    resetEmissionReplaySubjects(filterId: any): void;
    setCategoryFilter(filterId: any, categoryIndex: number, filter: string): void;
    resetCategoryFilter(filterId: string, categoryIndex: number): void;
    private getQueryStringSubject;
    private getFilterUrlParameterSubject;
    private getPostBodySubject;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdFilterService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<QdFilterService>;
}
//# sourceMappingURL=filter.service.d.ts.map