import QueryManager, { MixedFilter } from '../core/QueryManager';
export interface FacetOptions {
    size: number;
    query: string;
}
export interface SelectedFilter {
    type: string;
    id: string;
    identifier: string;
    label: string;
    dateMin?: string;
    dateMax?: string;
    display: string;
}
export interface FacetResponseEntry {
    label: string;
    count: number;
}
export interface FacetResponse {
    identifier: string;
    label: string;
    type: string;
    display: string;
    entries?: FacetResponseEntry[];
}
export interface BaseFacet {
    excludeOwnFilters: boolean;
    getIdentifier(): string;
    getLabel(): string;
    getAggregation(overrides: FacetOptions, queryManager: QueryManager): any;
    getFilters(filters: Array<MixedFilter>): any;
    transformResponse(response: any, queryManager: QueryManager): FacetResponse;
    getSelectedFilter(filterSet: any): SelectedFilter;
}
