import { IMetadataObject } from "./MetadataObject"; export interface IAttributeFilterReference { attributeFilterReference: { displayForm: string; }; } export interface IDateFilterReference { dateFilterReference: { displaForm: string; }; } export interface IKpiProjectDashboardLink { projectDashboard: string; projectDashboardTab: string; } export declare type PossibleFilters = IDateFilterReference | IAttributeFilterReference; export declare type KpiComparisonTypeNoComparison = "none"; export declare type KpiComparisonTypeComparison = "previousPeriod" | "lastYear"; export declare type KpiComparisonDirection = "growIsGood" | "growIsBad"; export interface IKpiContentBase { metric: string; ignoreDashboardFilters: PossibleFilters[]; drillTo?: IKpiProjectDashboardLink; dateDimension?: string; dateDataSet?: string; } export interface IKpiContentWithoutComparison extends IKpiContentBase { comparisonType: KpiComparisonTypeNoComparison; } export interface IKpiContentWithComparison extends IKpiContentBase { comparisonType: KpiComparisonTypeComparison; comparisonDirection: KpiComparisonDirection; } export interface IKpi extends IMetadataObject { content: IKpiContentWithoutComparison | IKpiContentWithComparison; } export interface IWrappedKpi { kpi: IKpi; } export declare function isKpi(object: IMetadataObject): object is IKpi;