// (C) 2007-2019 GoodData Corporation import { IMetadataObject } from "./MetadataObject"; export interface IAttributeFilter { attributeFilter: { displayForm: string; negativeSelection: boolean; attributeElements: string[]; }; } export interface IDateFilter { dateFilter: { type: "relative" | "absolute"; granularity: string; from?: number; to?: number; dataSet?: string; attribute?: string; }; } export type PossibleFilters = IAttributeFilter | IDateFilter; export interface IFilterContext extends IMetadataObject { content: { filters: PossibleFilters[]; }; } export interface IWrappedFilterContext { filterContext: IFilterContext; } export function isFilterContext(object: IMetadataObject): object is IFilterContext { return object.meta.category === "filterContext"; }