import { IRollupFilter, RollupFilterModel } from ".";
import { IWebComponentInstance } from "../..";
import { EnterprisePropertyDefinition, RollupEnums, RollupFilter, TaxonomyPropertySettings, TagRollupFilter } from "../../models";
import { TermService, TermStore } from "../../sp";
import { EnterprisePropertyStore, MultilingualStore, UserIdentityStore } from "../../stores";
import { VueComponentBase } from "../index";
import { RollupFilterLocalization } from "./loc/localize";
export declare class RollupFilterComponent extends VueComponentBase implements IWebComponentInstance, IRollupFilter {
    searchInputId?: string;
    valueBind: RollupFilterModel;
    onFilterChange?: (filters: Array<RollupFilter>, searchText: string) => void;
    mapRollupUiFilter?: (filters: Array<RollupFilter>) => void;
    contentProperties?: EnterprisePropertyDefinition[];
    useRollupFilterRouter?: boolean;
    propertyStore: EnterprisePropertyStore;
    userIdentityStore: UserIdentityStore;
    termService: TermService;
    termStore: TermStore;
    multilingualStore: MultilingualStore;
    loc: RollupFilterLocalization.locInterface;
    private uxLoc;
    private blockInstance;
    formatter: {
        timeformat: string;
        locale: string;
        firstdayofweek: number;
    };
    timewatchUniqueKey: string;
    originalQueryText: string;
    currentFilterValues: {
        [internalName: string]: any;
    };
    booleanFilterOptions: Array<{
        id: RollupEnums.BooleamFilterOption;
        title: string;
        value: boolean;
    }>;
    searchText: string;
    textFilterValue: {
        [internalName: string]: any;
    };
    contentPropertyTitleByInternalName: {
        [internalName: string]: string;
    };
    internalFilters: Array<RollupFilter>;
    filtersExpanded: number;
    slimView: boolean;
    lcid: number;
    private isLoadingKeywordTermset;
    private keywordTermSet;
    private searchTimeout;
    private previousSearchText;
    private slimmedRollupFilters;
    mounted(): void;
    created(): void;
    init(update: Boolean): void;
    onValueBindChanged(newValue: RollupFilterModel, oldValue: RollupFilterModel): void;
    onUseRouter(newValue: boolean, oldValue: boolean): void;
    timerUpdateFilter(key: any): void;
    onUpdateFilter(updateRouter?: boolean): void;
    hasFilters(): boolean;
    getTaxonomyPropertiesForFilter(propertyName: any): TaxonomyPropertySettings;
    getPagePropertyAndRemoveInternalName(propertyName: string): string;
    getTitle(filter: RollupFilter): string;
    getContentPropTitle(propertyName: string): string;
    renderDateFilter(filter: RollupFilter): VueTsxSupport.JSX.Element;
    renderBooleanFilter(filter: RollupFilter): VueTsxSupport.JSX.Element;
    renderKeywordFilter(filter: RollupFilter): JSX.Element;
    renderTaxonomyFilter(filter: TagRollupFilter): VueTsxSupport.JSX.Element;
    renderTagsFilter(filter: TagRollupFilter): VueTsxSupport.JSX.Element;
    renderPersonFilter(filter: RollupFilter): VueTsxSupport.JSX.Element;
    renderTextFieldFilter(filter: RollupFilter): VueTsxSupport.JSX.Element;
    renderCustomFilter(filter: RollupFilter): import("vue").VNode;
    onSearchKeyup(): void;
    renderSearchBox(): VueTsxSupport.JSX.Element;
    renderFilterShowHideFilters(): VueTsxSupport.JSX.Element[];
    renderToolbar(): VueTsxSupport.JSX.Element;
    getColumnCount(columns: any, filters: any): number;
    renderFilters(): VueTsxSupport.JSX.Element;
    render(): VueTsxSupport.JSX.Element;
    canRenderFilter(filter: RollupFilter): boolean;
    renderFilterByType(filter: RollupFilter): VueTsxSupport.JSX.Element;
}
