import { Store } from 'vuex' ; import { Filter } from '@empathyco/x-types' ; import { RootXStoreState } from '../../../store/store.types' ; internal export interface FilterEntity { /** Selects the filter. */ select ( filter ) : void ; /** Deselects the filter. */ deselect ( filter ) : void ; } /** Constructor of a  FilterEntity .
 *
 *  internal export interface FilterEntityConstructor { new ( store ) : FilterEntity ; param filter returns accepts ( filter ) : boolean ; } param store - The  https that modifier
 * uses.
 *  param entity - The  FilterEntity that the modifier modifies.
 *
 *  internal export interface FilterEntityModifier { new ( store , entity ) : FilterEntity ; } internal export abstract class BaseFilterEntityModifier implements FilterEntity { public constructor ( protected store , protected entity ) { } param filter select ( filter ) { this . entity . select ( filter ) ; } param filter deselect ( filter ) { this . entity . deselect ( filter ) ; } }