import { ChartOptions } from '../smart-chart'; import { Annotation, Dimension, Measure } from '../types'; export declare enum ChartDimensionRoleType { Time = "Time", Category = "Category", /** * Category2 * 其它: Color Group Stacked 都是 Category2 大类下的子类型 */ Category2 = "Category2", Color = "Color", /** * 默认 */ Group = "Group", Stacked = "Stacked", /** * 此 Dimension 作为 Small Multiples 图形中的 Group 维度 */ Trellis = "Trellis", Lat = "Lat", Long = "Long" } export declare enum ChartMeasureRoleType { Axis1 = "Axis1", Axis2 = "Axis2", Axis3 = "Axis3", Size = "Size", Lightness = "Lightness", SizeLightness = "SizeLightness", Tooltip = "Tooltip" } export interface ChartProperty { /** * 针对单个 Dimension 的图形属性 */ chartOptions?: ChartOptions; /** */ palette?: { name?: string; reverse?: boolean; pattern?: any; colors?: string[]; }; domain?: [number, number?]; } export interface ChartDimension extends Dimension, ChartProperty { role?: ChartDimensionRoleType; } export declare enum ReferenceLineType { markPoint = "markPoint", markLine = "markLine" } export declare enum ReferenceLineValueType { fixed = "fixed", dynamic = "dynamic" } export declare enum ReferenceLineAggregation { min = "min", max = "max", average = "average", median = "median" } export interface ReferenceLine { label: string; type: ReferenceLineType; valueType: ReferenceLineValueType; value?: number; measure?: string; aggregation?: ReferenceLineAggregation; above?: string; below?: string; chartOptions?: any; } export declare enum ChartPattern { a = 0, b = 1, c = 2, d = 3, e = 4, f = 5, g = 6, h = 7 } export interface ChartMeasure extends Measure, ChartProperty { role?: ChartMeasureRoleType; /** * Corresponding to the series type in ECharts */ shapeType?: string; /** * Reference line of measure */ referenceLines?: ReferenceLine[]; } export declare enum ChartOrient { horizontal = "horizontal", vertical = "vertical" } export interface ChartType { name?: string; type: string; orient?: ChartOrient; variant?: string; scripts?: string; chartOptions?: ChartOptions; } export interface ChartMapType extends ChartType { type: 'GeoMap'; map?: string; mapUrl?: string; projection?: string; isTopoJSON?: boolean; features?: string; mesh?: string; } export interface ChartAnnotation extends Annotation { qualifier?: string; chartType: ChartType; dimensions: Array; measures: Array; options?: any; } export declare enum BarVariant { None = "none", Polar = "polar", Stacked = "stacked" } export declare enum WaterfallVariant { None = "none", Polar = "polar" } export declare enum PieVariant { None = "none", Doughnut = "doughnut", Nightingale = "nightingale" } export declare enum ScatterVariant { None = "none", Polar = "polar" } export declare enum TreeVariant { None = "none", Reverse = "reverse", Radial = "radial" } export declare enum HeatmapVariant { None = "none", Calendar = "calendar" } export declare const isChartMapType: (toBe: any) => toBe is ChartMapType; export declare function getChartTrellis(chartAnnotation: ChartAnnotation): ChartDimension; export declare function getChartCategory(chartAnnotation: ChartAnnotation): ChartDimension; export declare function getChartCategory2(chartAnnotation: ChartAnnotation): ChartDimension; /** * Get series dimension in chart dimensions * 1. dimension with role: color, group, stacked, category2 (Must not be time) * 2. dimension with index 1 (or 0 when except time) when chart type variant is color, group or stacked * * @param chartAnnotation * @returns */ export declare function getChartSeries(chartAnnotation: ChartAnnotation): ChartDimension | null;