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): any transformResponse(response: any, queryManager: QueryManager): FacetResponse getSelectedFilter(filterSet: any): SelectedFilter }