import { PrimitiveType } from '../types'; export type ItemDataAxisName = 'Default' | 'Series' | 'Argument' | 'Sparkline' | 'Column' | 'Row'; export type AxisValuesDictionary = { [axisName: string]: Array; }; export interface ItemData { createTuple(values: Array | Array<{ axisName: ItemDataAxisName; value: Array; }>): ItemDataAxisPointTuple; getAxis(axisName: ItemDataAxisName): ItemDataAxis; getAxisNames(): Array; getDataMembers(): Array; getDeltas(): Array; getDeltaValue(deltaId: string): ItemDataDeltaValue; getDimensions(axisName: ItemDataAxisName): Array; getMeasures(): Array; getMeasureValue(measureId: string): ItemDataMeasureValue; getSlice(value: ItemDataAxisPointTuple | ItemDataAxisPoint): ItemData; } export interface ItemDataAxis { getDimensions(): Array; getPointByUniqueValues(values: Array): ItemDataAxisPoint; getPoints(): Array; getPointsByDimension(dimensionId: string): Array; getRootPoint(): ItemDataAxisPoint; } export interface ItemDataAxisPoint { getAxisName(): string; getChildren(): Array; getDimension(): ItemDataDimension; getDimensions(): Array; getDimensionValue(dimensionId?: string): ItemDataDimensionValue; getDisplayText(): string; getParent(): ItemDataAxisPoint; getUniqueValue(): PrimitiveType; getValue(): PrimitiveType; } export interface ItemDataAxisPointTuple { getAxisPoint(axisName?: ItemDataAxisName): ItemDataAxisPoint; } export interface ItemDataDelta { actualMeasureId: string; id: string; name: string; targetMeasureId: string; } export interface ItemDataDeltaValue { getAbsoluteVariation(): ItemDataMeasureValue; getActualValue(): ItemDataMeasureValue; getDisplaySubValue1(): ItemDataMeasureValue; getDisplaySubValue2(): ItemDataMeasureValue; getDisplayValue(): ItemDataMeasureValue; getIndicatorType(): ItemDataMeasureValue; getIsGood(): ItemDataMeasureValue; getPercentOfTarget(): ItemDataMeasureValue; getPercentVariation(): ItemDataMeasureValue; getTargetValue(): ItemDataMeasureValue; } export interface ItemDataDimension { dataMember: string; dateTimeGroupInterval: string; id: string; name: string; textGroupInterval: string; format: (value: any) => string; } export interface ItemDataDimensionValue { getDisplayText(): string; getUniqueValue(): PrimitiveType; getValue(): PrimitiveType; } export interface ItemDataMeasure { dataMember: string; id: string; name: string; summaryType: string; format: (value: any) => string; } export interface ItemDataMeasureValue { getDisplayText(): string; getValue(): number; } export interface RequestUnderlyingDataParameters { axisPoints?: Array; dataMembers?: Array; uniqueValuesByAxisName?: AxisValuesDictionary; valuesByAxisName?: AxisValuesDictionary; } export interface ItemUnderlyingData { getDataMembers(): Array; getDisplayNames(): Array; getRequestDataError(): string; getRowCount(): number; getRowValue(rowIndex: number, columnName: string): PrimitiveType; isDataReceived(): boolean; } export interface RangeFilterSelection { minimum: number | Date; maximum: number | Date; }