| /** | 
|  * [Notice]: | 
|  * Consider custom bundle on demand, chart specified | 
|  * or component specified types and constants should | 
|  * not put here. Only common types and constants can | 
|  * be put in this file. | 
|  */ | 
| import Group from 'zrender/lib/graphic/Group.js'; | 
| import Element, { ElementEvent, ElementTextConfig } from 'zrender/lib/Element.js'; | 
| import { DataFormatMixin } from '../model/mixin/dataFormat.js'; | 
| import GlobalModel from '../model/Global.js'; | 
| import ExtensionAPI from '../core/ExtensionAPI.js'; | 
| import SeriesModel from '../model/Series.js'; | 
| import { HashMap } from 'zrender/lib/core/util.js'; | 
| import { TaskPlanCallbackReturn, TaskProgressParams } from '../core/task.js'; | 
| import SeriesData from '../data/SeriesData.js'; | 
| import { Dictionary, ElementEventName, ImageLike, TextAlign, TextVerticalAlign } from 'zrender/lib/core/types.js'; | 
| import { PatternObject } from 'zrender/lib/graphic/Pattern.js'; | 
| import { TooltipMarker } from './format.js'; | 
| import { AnimationEasing } from 'zrender/lib/animation/easing.js'; | 
| import { LinearGradientObject } from 'zrender/lib/graphic/LinearGradient.js'; | 
| import { RadialGradientObject } from 'zrender/lib/graphic/RadialGradient.js'; | 
| import { RectLike } from 'zrender/lib/core/BoundingRect.js'; | 
| import { TSpanStyleProps } from 'zrender/lib/graphic/TSpan.js'; | 
| import { PathStyleProps } from 'zrender/lib/graphic/Path.js'; | 
| import { ImageStyleProps } from 'zrender/lib/graphic/Image.js'; | 
| import ZRText, { TextStyleProps } from 'zrender/lib/graphic/Text.js'; | 
| import { Source } from '../data/Source.js'; | 
| import Model from '../model/Model.js'; | 
| import { DataStoreDimensionType } from '../data/DataStore.js'; | 
| import { DimensionUserOuputEncode } from '../data/helper/dimensionHelper.js'; | 
| export { Dictionary }; | 
| export declare type RendererType = 'canvas' | 'svg'; | 
| export declare type NullUndefined = null | undefined; | 
| export declare type LayoutOrient = 'vertical' | 'horizontal'; | 
| export declare type HorizontalAlign = 'left' | 'center' | 'right'; | 
| export declare type VerticalAlign = 'top' | 'middle' | 'bottom'; | 
| export declare type ColorString = string; | 
| export declare type ZRColor = ColorString | LinearGradientObject | RadialGradientObject | PatternObject; | 
| export declare type ZRLineType = 'solid' | 'dotted' | 'dashed' | number | number[]; | 
| export declare type ZRFontStyle = 'normal' | 'italic' | 'oblique'; | 
| export declare type ZRFontWeight = 'normal' | 'bold' | 'bolder' | 'lighter' | number; | 
| export declare type ZREasing = AnimationEasing; | 
| export declare type ZRTextAlign = TextAlign; | 
| export declare type ZRTextVerticalAlign = TextVerticalAlign; | 
| export declare type ZRElementEvent = ElementEvent; | 
| export declare type ZRRectLike = RectLike; | 
| export declare type ZRStyleProps = PathStyleProps | ImageStyleProps | TSpanStyleProps | TextStyleProps; | 
| export declare type ZRElementEventName = ElementEventName | 'globalout'; | 
| export declare type ComponentFullType = string; | 
| export declare type ComponentMainType = keyof ECUnitOption & string; | 
| export declare type ComponentSubType = Exclude<ComponentOption['type'], undefined>; | 
| /** | 
|  * Use `parseClassType` to parse componentType declaration to componentTypeInfo. | 
|  * For example: | 
|  * componentType declaration: 'a.b', get componentTypeInfo {main: 'a', sub: 'b'}. | 
|  * componentType declaration: '', get componentTypeInfo {main: '', sub: ''}. | 
|  */ | 
| export interface ComponentTypeInfo { | 
|     main: ComponentMainType; | 
|     sub: ComponentSubType; | 
| } | 
| export interface ECElement extends Element { | 
|     highDownSilentOnTouch?: boolean; | 
|     onHoverStateChange?: (toState: DisplayState) => void; | 
|     hoverState?: 0 | 1 | 2; | 
|     selected?: boolean; | 
|     z2EmphasisLift?: number; | 
|     z2SelectLift?: number; | 
|     /** | 
|      * Force enable animation. | 
|      * This property is useful when an ignored/invisible/removed element | 
|      * should have label animation, like the case in the bar-racing charts. | 
|      * `forceLabelAnimation` has higher priority than `disableLabelAnimation`. | 
|      */ | 
|     forceLabelAnimation?: boolean; | 
|     /** | 
|      * Force disable animation. | 
|      * `forceLabelAnimation` has higher priority than `disableLabelAnimation`. | 
|      */ | 
|     disableLabelAnimation?: boolean; | 
|     /** | 
|      * Force disable overall layout | 
|      */ | 
|     disableLabelLayout?: boolean; | 
|     /** | 
|      * Force disable morphing | 
|      */ | 
|     disableMorphing?: boolean; | 
| } | 
| export interface DataHost { | 
|     getData(dataType?: SeriesDataType): SeriesData; | 
| } | 
| export interface DataModel extends Model<unknown>, DataHost, DataFormatMixin { | 
|     getDataParams(dataIndex: number, dataType?: SeriesDataType, el?: Element): CallbackDataParams; | 
| } | 
| interface PayloadItem { | 
|     excludeSeriesId?: OptionId | OptionId[]; | 
|     animation?: PayloadAnimationPart; | 
|     [other: string]: any; | 
| } | 
| export interface Payload extends PayloadItem { | 
|     type: string; | 
|     escapeConnect?: boolean; | 
|     batch?: PayloadItem[]; | 
| } | 
| export interface HighlightPayload extends Payload { | 
|     type: 'highlight'; | 
|     notBlur?: boolean; | 
| } | 
| export interface DownplayPayload extends Payload { | 
|     type: 'downplay'; | 
|     notBlur?: boolean; | 
| } | 
| export interface PayloadAnimationPart { | 
|     duration?: number; | 
|     easing?: AnimationEasing; | 
|     delay?: number; | 
| } | 
| export interface SelectChangedPayload extends Payload { | 
|     type: 'selectchanged'; | 
|     escapeConnect: boolean; | 
|     isFromClick: boolean; | 
|     fromAction: 'select' | 'unselect' | 'toggleSelected'; | 
|     fromActionPayload: Payload; | 
|     selected: { | 
|         seriesIndex: number; | 
|         dataType?: SeriesDataType; | 
|         dataIndex: number[]; | 
|     }[]; | 
| } | 
| export interface ViewRootGroup extends Group { | 
|     __ecComponentInfo?: { | 
|         mainType: string; | 
|         index: number; | 
|     }; | 
| } | 
| export interface ECElementEvent extends ECEventData, CallbackDataParams { | 
|     type: ZRElementEventName; | 
|     event?: ElementEvent; | 
| } | 
| /** | 
|  * The echarts event type to user. | 
|  * Also known as packedEvent. | 
|  */ | 
| export interface ECActionEvent extends ECEventData { | 
|     type: string; | 
|     componentType?: string; | 
|     componentIndex?: number; | 
|     seriesIndex?: number; | 
|     escapeConnect?: boolean; | 
|     batch?: ECEventData; | 
| } | 
| export interface ECEventData { | 
|     [key: string]: any; | 
| } | 
| export interface EventQueryItem { | 
|     [key: string]: any; | 
| } | 
| export interface NormalizedEventQuery { | 
|     cptQuery: EventQueryItem; | 
|     dataQuery: EventQueryItem; | 
|     otherQuery: EventQueryItem; | 
| } | 
| export interface ActionInfo { | 
|     type: string; | 
|     event?: string; | 
|     update?: string; | 
| } | 
| export interface ActionHandler { | 
|     (payload: Payload, ecModel: GlobalModel, api: ExtensionAPI): void | ECEventData; | 
| } | 
| export interface OptionPreprocessor { | 
|     (option: ECUnitOption, isTheme: boolean): void; | 
| } | 
| export interface PostUpdater { | 
|     (ecModel: GlobalModel, api: ExtensionAPI): void; | 
| } | 
| export interface StageHandlerReset { | 
|     (seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload?: Payload): StageHandlerProgressExecutor | StageHandlerProgressExecutor[] | void; | 
| } | 
| export interface StageHandlerOverallReset { | 
|     (ecModel: GlobalModel, api: ExtensionAPI, payload?: Payload): void; | 
| } | 
| export interface StageHandler { | 
|     /** | 
|      * Indicate that the task will be piped all series | 
|      * (`performRawSeries` indicate whether includes filtered series). | 
|      */ | 
|     createOnAllSeries?: boolean; | 
|     /** | 
|      * Indicate that the task will be only piped in the pipeline of this type of series. | 
|      * (`performRawSeries` indicate whether includes filtered series). | 
|      */ | 
|     seriesType?: string; | 
|     /** | 
|      * Indicate that the task will be only piped in the pipeline of the returned series. | 
|      */ | 
|     getTargetSeries?: (ecModel: GlobalModel, api: ExtensionAPI) => HashMap<SeriesModel>; | 
|     /** | 
|      * If `true`, filtered series will also be "performed". | 
|      */ | 
|     performRawSeries?: boolean; | 
|     /** | 
|      * Called only when this task in a pipeline. | 
|      */ | 
|     plan?: StageHandlerPlan; | 
|     /** | 
|      * If `overallReset` specified, an "overall task" will be created. | 
|      * "overall task" does not belong to a certain pipeline. | 
|      * They always be "performed" in certain phase (depends on when they declared). | 
|      * They has "stub"s to connect with pipelines (one stub for one pipeline), | 
|      * delivering info like "dirty" and "output end". | 
|      */ | 
|     overallReset?: StageHandlerOverallReset; | 
|     /** | 
|      * Called only when this task in a pipeline, and "dirty". | 
|      */ | 
|     reset?: StageHandlerReset; | 
| } | 
| export interface StageHandlerInternal extends StageHandler { | 
|     uid: string; | 
|     visualType?: 'layout' | 'visual'; | 
|     __prio: number; | 
|     __raw: StageHandler | StageHandlerOverallReset; | 
|     isVisual?: boolean; | 
|     isLayout?: boolean; | 
| } | 
| export declare type StageHandlerProgressParams = TaskProgressParams; | 
| export interface StageHandlerProgressExecutor { | 
|     dataEach?: (data: SeriesData, idx: number) => void; | 
|     progress?: (params: StageHandlerProgressParams, data: SeriesData) => void; | 
| } | 
| export declare type StageHandlerPlanReturn = TaskPlanCallbackReturn; | 
| export interface StageHandlerPlan { | 
|     (seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload?: Payload): StageHandlerPlanReturn; | 
| } | 
| export interface LoadingEffectCreator { | 
|     (api: ExtensionAPI, cfg: object): LoadingEffect; | 
| } | 
| export interface LoadingEffect extends Element { | 
|     resize: () => void; | 
| } | 
| /** | 
|  * 'html' is used for rendering tooltip in extra DOM form, and the result | 
|  * string is used as DOM HTML content. | 
|  * 'richText' is used for rendering tooltip in rich text form, for those where | 
|  * DOM operation is not supported. | 
|  */ | 
| export declare type TooltipRenderMode = 'html' | 'richText'; | 
| export declare type TooltipOrderMode = 'valueAsc' | 'valueDesc' | 'seriesAsc' | 'seriesDesc'; | 
| export declare type OrdinalRawValue = string | number; | 
| export declare type OrdinalNumber = number; | 
| /** | 
|  * @usage For example, | 
|  * ```js | 
|  * { ordinalNumbers: [2, 5, 3, 4] } | 
|  * ``` | 
|  * means that ordinal 2 should be displayed on tick 0, | 
|  * ordinal 5 should be displayed on tick 1, ... | 
|  */ | 
| export declare type OrdinalSortInfo = { | 
|     ordinalNumbers: OrdinalNumber[]; | 
| }; | 
| /** | 
|  * `OptionDataValue` is the primitive value in `series.data` or `dataset.source`. | 
|  * `OptionDataValue` are parsed (see `src/data/helper/dataValueHelper.parseDataValue`) | 
|  * into `ParsedValue` and stored into `data/SeriesData` storage. | 
|  * Note: | 
|  * (1) The term "parse" does not mean `src/scale/Scale['parse']`. | 
|  * (2) If a category dimension is not mapped to any axis, its raw value will NOT be | 
|  * parsed to `OrdinalNumber` but keep the original `OrdinalRawValue` in `src/data/SeriesData` storage. | 
|  */ | 
| export declare type ParsedValue = ParsedValueNumeric | OrdinalRawValue; | 
| export declare type ParsedValueNumeric = number | OrdinalNumber; | 
| /** | 
|  * `ScaleDataValue` means that the user input primitive value to `src/scale/Scale`. | 
|  * (For example, used in `axis.min`, `axis.max`, `convertToPixel`). | 
|  * Note: | 
|  * `ScaleDataValue` is a little different from `OptionDataValue`, because it will not go through | 
|  * `src/data/helper/dataValueHelper.parseDataValue`, but go through `src/scale/Scale['parse']`. | 
|  */ | 
| export declare type ScaleDataValue = ParsedValueNumeric | OrdinalRawValue | Date; | 
| export interface ScaleTick { | 
|     level?: number; | 
|     value: number; | 
| } | 
| export interface TimeScaleTick extends ScaleTick { | 
|     /** | 
|      * Level information is used for label formatting. | 
|      * For example, a time axis may contain labels like: Jan, 8th, 16th, 23th, | 
|      * Feb, and etc. In this case, month labels like Jan and Feb should be | 
|      * displayed in a more significant way than days. | 
|      * `level` is set to be 0 when it's the most significant level, like month | 
|      * labels in the above case. | 
|      */ | 
|     level?: number; | 
| } | 
| export interface OrdinalScaleTick extends ScaleTick { | 
|     /** | 
|      * Represents where the tick will be placed visually. | 
|      * Notice: | 
|      * The value is not the raw ordinal value. And do not changed | 
|      * after ordinal scale sorted. | 
|      * We need to: | 
|      * ```js | 
|      * const coord = dataToCoord(ordinalScale.getRawOrdinalNumber(tick.value)). | 
|      * ``` | 
|      * Why place the tick value here rather than the raw ordinal value (like LogScale did)? | 
|      * Because ordinal scale sort is the different case from LogScale, where | 
|      * axis tick, splitArea should better not to be sorted, especially in | 
|      * anid(animation id) when `boundaryGap: true`. | 
|      * Only axis label are sorted. | 
|      */ | 
|     value: number; | 
| } | 
| export declare type DimensionIndex = number; | 
| export declare type DimensionIndexLoose = DimensionIndex | string; | 
| export declare type DimensionName = string; | 
| export declare type DimensionLoose = DimensionName | DimensionIndexLoose; | 
| export declare type DimensionType = DataStoreDimensionType; | 
| export declare const VISUAL_DIMENSIONS: HashMap<number, keyof DataVisualDimensions>; | 
| export interface DataVisualDimensions { | 
|     tooltip?: DimensionIndex | false; | 
|     label?: DimensionIndex; | 
|     itemName?: DimensionIndex; | 
|     itemId?: DimensionIndex; | 
|     itemGroupId?: DimensionIndex; | 
|     itemChildGroupId?: DimensionIndex; | 
|     seriesName?: DimensionIndex; | 
| } | 
| export declare type DimensionDefinition = { | 
|     type?: DataStoreDimensionType; | 
|     name?: DimensionName; | 
|     displayName?: string; | 
| }; | 
| export declare type DimensionDefinitionLoose = DimensionDefinition['name'] | DimensionDefinition; | 
| export declare const SOURCE_FORMAT_ORIGINAL: "original"; | 
| export declare const SOURCE_FORMAT_ARRAY_ROWS: "arrayRows"; | 
| export declare const SOURCE_FORMAT_OBJECT_ROWS: "objectRows"; | 
| export declare const SOURCE_FORMAT_KEYED_COLUMNS: "keyedColumns"; | 
| export declare const SOURCE_FORMAT_TYPED_ARRAY: "typedArray"; | 
| export declare const SOURCE_FORMAT_UNKNOWN: "unknown"; | 
| export declare type SourceFormat = typeof SOURCE_FORMAT_ORIGINAL | typeof SOURCE_FORMAT_ARRAY_ROWS | typeof SOURCE_FORMAT_OBJECT_ROWS | typeof SOURCE_FORMAT_KEYED_COLUMNS | typeof SOURCE_FORMAT_TYPED_ARRAY | typeof SOURCE_FORMAT_UNKNOWN; | 
| export declare const SERIES_LAYOUT_BY_COLUMN: "column"; | 
| export declare const SERIES_LAYOUT_BY_ROW: "row"; | 
| export declare type SeriesLayoutBy = typeof SERIES_LAYOUT_BY_COLUMN | typeof SERIES_LAYOUT_BY_ROW; | 
| export declare type OptionSourceHeader = boolean | 'auto' | number; | 
| export declare type SeriesDataType = 'main' | 'node' | 'edge'; | 
| /** | 
|  * [ECUnitOption]: | 
|  * An object that contains definitions of components | 
|  * and other properties. For example: | 
|  * | 
|  * ```ts | 
|  * let option: ECUnitOption = { | 
|  * | 
|  *     // Single `title` component: | 
|  *     title: {...}, | 
|  * | 
|  *     // Two `visualMap` components: | 
|  *     visualMap: [{...}, {...}], | 
|  * | 
|  *     // Two `series.bar` components | 
|  *     // and one `series.pie` component: | 
|  *     series: [ | 
|  *         {type: 'bar', data: [...]}, | 
|  *         {type: 'bar', data: [...]}, | 
|  *         {type: 'pie', data: [...]} | 
|  *     ], | 
|  * | 
|  *     // A property: | 
|  *     backgroundColor: '#421ae4' | 
|  * | 
|  *     // A property object: | 
|  *     textStyle: { | 
|  *         color: 'red', | 
|  *         fontSize: 20 | 
|  *     } | 
|  * }; | 
|  * ``` | 
|  */ | 
| export declare type ECUnitOption = { | 
|     baseOption?: unknown; | 
|     options?: unknown; | 
|     media?: unknown; | 
|     timeline?: ComponentOption | ComponentOption[]; | 
|     backgroundColor?: ZRColor; | 
|     darkMode?: boolean | 'auto'; | 
|     textStyle?: Pick<LabelOption, 'color' | 'fontStyle' | 'fontWeight' | 'fontSize' | 'fontFamily'>; | 
|     useUTC?: boolean; | 
|     [key: string]: ComponentOption | ComponentOption[] | Dictionary<unknown> | unknown; | 
|     stateAnimation?: AnimationOption; | 
| } & AnimationOptionMixin & ColorPaletteOptionMixin; | 
| /** | 
|  * [ECOption]: | 
|  * An object input to echarts.setOption(option). | 
|  * May be an 'option: ECUnitOption', | 
|  * or may be an object contains multi-options. For example: | 
|  * | 
|  * ```ts | 
|  * let option: ECOption = { | 
|  *     baseOption: { | 
|  *         title: {...}, | 
|  *         legend: {...}, | 
|  *         series: [ | 
|  *             {data: [...]}, | 
|  *             {data: [...]}, | 
|  *             ... | 
|  *         ] | 
|  *     }, | 
|  *     timeline: {...}, | 
|  *     options: [ | 
|  *         {title: {...}, series: {data: [...]}}, | 
|  *         {title: {...}, series: {data: [...]}}, | 
|  *         ... | 
|  *     ], | 
|  *     media: [ | 
|  *         { | 
|  *             query: {maxWidth: 320}, | 
|  *             option: {series: {x: 20}, visualMap: {show: false}} | 
|  *         }, | 
|  *         { | 
|  *             query: {minWidth: 320, maxWidth: 720}, | 
|  *             option: {series: {x: 500}, visualMap: {show: true}} | 
|  *         }, | 
|  *         { | 
|  *             option: {series: {x: 1200}, visualMap: {show: true}} | 
|  *         } | 
|  *     ] | 
|  * }; | 
|  * ``` | 
|  */ | 
| export interface ECBasicOption extends ECUnitOption { | 
|     baseOption?: ECUnitOption; | 
|     timeline?: ComponentOption | ComponentOption[]; | 
|     options?: ECUnitOption[]; | 
|     media?: MediaUnit[]; | 
| } | 
| export declare type OptionSourceData<VAL extends OptionDataValue = OptionDataValue, ORIITEM extends OptionDataItemOriginal<VAL> = OptionDataItemOriginal<VAL>> = OptionSourceDataOriginal<VAL, ORIITEM> | OptionSourceDataObjectRows<VAL> | OptionSourceDataArrayRows<VAL> | OptionSourceDataKeyedColumns<VAL> | OptionSourceDataTypedArray; | 
| export declare type OptionDataItemOriginal<VAL extends OptionDataValue = OptionDataValue> = VAL | VAL[] | OptionDataItemObject<VAL>; | 
| export declare type OptionSourceDataOriginal<VAL extends OptionDataValue = OptionDataValue, ORIITEM extends OptionDataItemOriginal<VAL> = OptionDataItemOriginal<VAL>> = ArrayLike<ORIITEM>; | 
| export declare type OptionSourceDataObjectRows<VAL extends OptionDataValue = OptionDataValue> = Array<Dictionary<VAL>>; | 
| export declare type OptionSourceDataArrayRows<VAL extends OptionDataValue = OptionDataValue> = Array<Array<VAL>>; | 
| export declare type OptionSourceDataKeyedColumns<VAL extends OptionDataValue = OptionDataValue> = Dictionary<ArrayLike<VAL>>; | 
| export declare type OptionSourceDataTypedArray = ArrayLike<number>; | 
| export declare type OptionDataItem = OptionDataValue | Dictionary<OptionDataValue> | OptionDataValue[] | OptionDataItemObject<OptionDataValue>; | 
| export declare type OptionDataItemObject<T> = { | 
|     id?: OptionId; | 
|     name?: OptionName; | 
|     groupId?: OptionId; | 
|     childGroupId?: OptionId; | 
|     value?: T[] | T; | 
|     selected?: boolean; | 
| }; | 
| export declare type OptionId = string | number; | 
| export declare type OptionName = string | number; | 
| export interface GraphEdgeItemObject<VAL extends OptionDataValue> extends OptionDataItemObject<VAL> { | 
|     /** | 
|      * Name or index of source node. | 
|      */ | 
|     source?: string | number; | 
|     /** | 
|      * Name or index of target node. | 
|      */ | 
|     target?: string | number; | 
| } | 
| export declare type OptionDataValue = string | number | Date | null | undefined; | 
| export declare type OptionDataValueNumeric = number | '-'; | 
| export declare type OptionDataValueCategory = string; | 
| export declare type OptionDataValueDate = Date | string | number; | 
| export declare type ModelOption = any; | 
| export declare type ThemeOption = Dictionary<any>; | 
| export declare type DisplayState = 'normal' | 'emphasis' | 'blur' | 'select'; | 
| export declare type DisplayStateNonNormal = Exclude<DisplayState, 'normal'>; | 
| export declare type DisplayStateHostOption = { | 
|     emphasis?: Dictionary<any>; | 
|     [key: string]: any; | 
| }; | 
| export interface OptionEncodeVisualDimensions { | 
|     tooltip?: OptionEncodeValue; | 
|     label?: OptionEncodeValue; | 
|     itemName?: OptionEncodeValue; | 
|     itemId?: OptionEncodeValue; | 
|     seriesName?: OptionEncodeValue; | 
|     itemGroupId?: OptionEncodeValue; | 
|     childGroupdId?: OptionEncodeValue; | 
| } | 
| export interface OptionEncode extends OptionEncodeVisualDimensions { | 
|     [coordDim: string]: OptionEncodeValue | undefined; | 
| } | 
| export declare type OptionEncodeValue = DimensionLoose | DimensionLoose[]; | 
| export declare type EncodeDefaulter = (source: Source, dimCount: number) => OptionEncode; | 
| export interface CallbackDataParams { | 
|     componentType: string; | 
|     componentSubType: string; | 
|     componentIndex: number; | 
|     seriesType?: string; | 
|     seriesIndex?: number; | 
|     seriesId?: string; | 
|     seriesName?: string; | 
|     name: string; | 
|     dataIndex: number; | 
|     data: OptionDataItem; | 
|     dataType?: SeriesDataType; | 
|     value: OptionDataItem | OptionDataValue; | 
|     color?: ZRColor; | 
|     borderColor?: string; | 
|     dimensionNames?: DimensionName[]; | 
|     encode?: DimensionUserOuputEncode; | 
|     marker?: TooltipMarker; | 
|     status?: DisplayState; | 
|     dimensionIndex?: number; | 
|     percent?: number; | 
|     $vars: string[]; | 
| } | 
| export declare type InterpolatableValue = ParsedValue | ParsedValue[]; | 
| export declare type DecalDashArrayX = number | (number | number[])[]; | 
| export declare type DecalDashArrayY = number | number[]; | 
| export interface DecalObject { | 
|     symbol?: string | string[]; | 
|     symbolSize?: number; | 
|     symbolKeepAspect?: boolean; | 
|     color?: string; | 
|     backgroundColor?: string; | 
|     dashArrayX?: DecalDashArrayX; | 
|     dashArrayY?: DecalDashArrayY; | 
|     rotation?: number; | 
|     maxTileWidth?: number; | 
|     maxTileHeight?: number; | 
| } | 
| export interface InnerDecalObject extends DecalObject { | 
|     dirty?: boolean; | 
| } | 
| export interface MediaQuery { | 
|     minWidth?: number; | 
|     maxWidth?: number; | 
|     minHeight?: number; | 
|     maxHeight?: number; | 
|     minAspectRatio?: number; | 
|     maxAspectRatio?: number; | 
| } | 
| export declare type MediaUnit = { | 
|     query?: MediaQuery; | 
|     option: ECUnitOption; | 
| }; | 
| export declare type ComponentLayoutMode = { | 
|     type?: 'box'; | 
|     ignoreSize?: boolean | boolean[]; | 
| }; | 
| export declare type PaletteOptionMixin = ColorPaletteOptionMixin; | 
| export interface ColorPaletteOptionMixin { | 
|     color?: ZRColor | ZRColor[]; | 
|     colorLayer?: ZRColor[][]; | 
| } | 
| /** | 
|  * Mixin of option set to control the box layout of each component. | 
|  */ | 
| export interface BoxLayoutOptionMixin { | 
|     width?: number | string; | 
|     height?: number | string; | 
|     top?: number | string; | 
|     right?: number | string; | 
|     bottom?: number | string; | 
|     left?: number | string; | 
| } | 
| export interface CircleLayoutOptionMixin { | 
|     center?: (number | string)[]; | 
|     radius?: (number | string)[] | number | string; | 
| } | 
| export interface ShadowOptionMixin { | 
|     shadowBlur?: number; | 
|     shadowColor?: ColorString; | 
|     shadowOffsetX?: number; | 
|     shadowOffsetY?: number; | 
| } | 
| export interface BorderOptionMixin { | 
|     borderColor?: ZRColor; | 
|     borderWidth?: number; | 
|     borderType?: ZRLineType; | 
|     borderCap?: CanvasLineCap; | 
|     borderJoin?: CanvasLineJoin; | 
|     borderDashOffset?: number; | 
|     borderMiterLimit?: number; | 
| } | 
| export declare type ColorBy = 'series' | 'data'; | 
| export interface SunburstColorByMixin { | 
|     colorBy?: ColorBy; | 
| } | 
| export declare type AnimationDelayCallbackParam = { | 
|     count: number; | 
|     index: number; | 
| }; | 
| export declare type AnimationDurationCallback = (idx: number) => number; | 
| export declare type AnimationDelayCallback = (idx: number, params?: AnimationDelayCallbackParam) => number; | 
| export interface AnimationOption { | 
|     duration?: number; | 
|     easing?: AnimationEasing; | 
|     delay?: number; | 
| } | 
| /** | 
|  * Mixin of option set to control the animation of series. | 
|  */ | 
| export interface AnimationOptionMixin { | 
|     /** | 
|      * If enable animation | 
|      */ | 
|     animation?: boolean; | 
|     /** | 
|      * Disable animation when the number of elements exceeds the threshold | 
|      */ | 
|     animationThreshold?: number; | 
|     /** | 
|      * Duration of initialize animation. | 
|      * Can be a callback to specify duration of each element | 
|      */ | 
|     animationDuration?: number | AnimationDurationCallback; | 
|     /** | 
|      * Easing of initialize animation | 
|      */ | 
|     animationEasing?: AnimationEasing; | 
|     /** | 
|      * Delay of initialize animation | 
|      * Can be a callback to specify duration of each element | 
|      */ | 
|     animationDelay?: number | AnimationDelayCallback; | 
|     /** | 
|      * Delay of data update animation. | 
|      * Can be a callback to specify duration of each element | 
|      */ | 
|     animationDurationUpdate?: number | AnimationDurationCallback; | 
|     /** | 
|      * Easing of data update animation. | 
|      */ | 
|     animationEasingUpdate?: AnimationEasing; | 
|     /** | 
|      * Delay of data update animation. | 
|      * Can be a callback to specify duration of each element | 
|      */ | 
|     animationDelayUpdate?: number | AnimationDelayCallback; | 
| } | 
| export interface RoamOptionMixin { | 
|     /** | 
|      * If enable roam. can be specified 'scale' or 'move' | 
|      */ | 
|     roam?: boolean | 'pan' | 'move' | 'zoom' | 'scale'; | 
|     /** | 
|      * Current center position. | 
|      */ | 
|     center?: (number | string)[]; | 
|     /** | 
|      * Current zoom level. Default is 1 | 
|      */ | 
|     zoom?: number; | 
|     scaleLimit?: { | 
|         min?: number; | 
|         max?: number; | 
|     }; | 
| } | 
| export declare type SymbolSizeCallback<T> = (rawValue: any, params: T) => number | number[]; | 
| export declare type SymbolCallback<T> = (rawValue: any, params: T) => string; | 
| export declare type SymbolRotateCallback<T> = (rawValue: any, params: T) => number; | 
| export declare type SymbolOffsetCallback<T> = (rawValue: any, params: T) => string | number | (string | number)[]; | 
| /** | 
|  * Mixin of option set to control the element symbol. | 
|  * Include type of symbol, and size of symbol. | 
|  */ | 
| export interface SymbolOptionMixin<T = never> { | 
|     /** | 
|      * type of symbol, like `cirlce`, `rect`, or custom path and image. | 
|      */ | 
|     symbol?: string | (T extends never ? never : SymbolCallback<T>); | 
|     /** | 
|      * Size of symbol. | 
|      */ | 
|     symbolSize?: number | number[] | (T extends never ? never : SymbolSizeCallback<T>); | 
|     symbolRotate?: number | (T extends never ? never : SymbolRotateCallback<T>); | 
|     symbolKeepAspect?: boolean; | 
|     symbolOffset?: string | number | (string | number)[] | (T extends never ? never : SymbolOffsetCallback<T>); | 
| } | 
| /** | 
|  * ItemStyleOption is a most common used set to config element styles. | 
|  * It includes both fill and stroke style. | 
|  */ | 
| export interface ItemStyleOption<TCbParams = never> extends ShadowOptionMixin, BorderOptionMixin { | 
|     color?: ZRColor | (TCbParams extends never ? never : ((params: TCbParams) => ZRColor)); | 
|     opacity?: number; | 
|     decal?: DecalObject | 'none'; | 
|     borderRadius?: (number | string)[] | number | string; | 
| } | 
| /** | 
|  * ItemStyleOption is a option set to control styles on lines. | 
|  * Used in the components or series like `line`, `axis` | 
|  * It includes stroke style. | 
|  */ | 
| export interface LineStyleOption<Clr = ZRColor> extends ShadowOptionMixin { | 
|     width?: number; | 
|     color?: Clr; | 
|     opacity?: number; | 
|     type?: ZRLineType; | 
|     cap?: CanvasLineCap; | 
|     join?: CanvasLineJoin; | 
|     dashOffset?: number; | 
|     miterLimit?: number; | 
| } | 
| /** | 
|  * ItemStyleOption is a option set to control styles on an area, like polygon, rectangle. | 
|  * It only include fill style. | 
|  */ | 
| export interface AreaStyleOption<Clr = ZRColor> extends ShadowOptionMixin { | 
|     color?: Clr; | 
|     opacity?: number; | 
| } | 
| declare type Arrayable<T extends Dictionary<any>> = { | 
|     [key in keyof T]: T[key] | T[key][]; | 
| }; | 
| declare type Dictionaryable<T extends Dictionary<any>> = { | 
|     [key in keyof T]: T[key] | Dictionary<T[key]>; | 
| }; | 
| export interface VisualOptionUnit { | 
|     symbol?: string; | 
|     symbolSize?: number; | 
|     color?: ColorString; | 
|     colorAlpha?: number; | 
|     opacity?: number; | 
|     colorLightness?: number; | 
|     colorSaturation?: number; | 
|     colorHue?: number; | 
|     decal?: DecalObject; | 
|     liftZ?: number; | 
| } | 
| export declare type VisualOptionFixed = VisualOptionUnit; | 
| /** | 
|  * Option about visual properties used in piecewise mapping | 
|  * Used in each piece. | 
|  */ | 
| export declare type VisualOptionPiecewise = VisualOptionUnit; | 
| /** | 
|  * Option about visual properties used in linear mapping | 
|  */ | 
| export declare type VisualOptionLinear = Arrayable<VisualOptionUnit>; | 
| /** | 
|  * Option about visual properties can be encoded from ordinal categories. | 
|  * Each value can either be a dictonary to lookup with category name, or | 
|  * be an array to lookup with category index. In this case the array length should | 
|  * be same with categories | 
|  */ | 
| export declare type VisualOptionCategory = Arrayable<VisualOptionUnit> | Dictionaryable<VisualOptionUnit>; | 
| /** | 
|  * All visual properties can be encoded. | 
|  */ | 
| export declare type BuiltinVisualProperty = keyof VisualOptionUnit; | 
| export interface TextCommonOption extends ShadowOptionMixin { | 
|     color?: string; | 
|     fontStyle?: ZRFontStyle; | 
|     fontWeight?: ZRFontWeight; | 
|     fontFamily?: string; | 
|     fontSize?: number | string; | 
|     align?: HorizontalAlign; | 
|     verticalAlign?: VerticalAlign; | 
|     baseline?: VerticalAlign; | 
|     opacity?: number; | 
|     lineHeight?: number; | 
|     backgroundColor?: ColorString | { | 
|         image: ImageLike | string; | 
|     }; | 
|     borderColor?: string; | 
|     borderWidth?: number; | 
|     borderType?: ZRLineType; | 
|     borderDashOffset?: number; | 
|     borderRadius?: number | number[]; | 
|     padding?: number | number[]; | 
|     width?: number | string; | 
|     height?: number; | 
|     textBorderColor?: string; | 
|     textBorderWidth?: number; | 
|     textBorderType?: ZRLineType; | 
|     textBorderDashOffset?: number; | 
|     textShadowBlur?: number; | 
|     textShadowColor?: string; | 
|     textShadowOffsetX?: number; | 
|     textShadowOffsetY?: number; | 
|     tag?: string; | 
| } | 
| export interface LabelFormatterCallback<T = CallbackDataParams> { | 
|     (params: T): string; | 
| } | 
| /** | 
|  * LabelOption is an option set to control the style of labels. | 
|  * Include color, background, shadow, truncate, rotation, distance, etc.. | 
|  */ | 
| export interface LabelOption extends TextCommonOption { | 
|     /** | 
|      * If show label | 
|      */ | 
|     show?: boolean; | 
|     position?: ElementTextConfig['position']; | 
|     distance?: number; | 
|     rotate?: number; | 
|     offset?: number[]; | 
|     /** | 
|      * Min margin between labels. Used when label has layout. | 
|      */ | 
|     minMargin?: number; | 
|     overflow?: TextStyleProps['overflow']; | 
|     ellipsis?: TextStyleProps['ellipsis']; | 
|     silent?: boolean; | 
|     precision?: number | 'auto'; | 
|     valueAnimation?: boolean; | 
|     rich?: Dictionary<TextCommonOption>; | 
| } | 
| export interface SeriesLabelOption<T extends CallbackDataParams = CallbackDataParams> extends LabelOption { | 
|     formatter?: string | LabelFormatterCallback<T>; | 
| } | 
| /** | 
|  * Option for labels on line, like markLine, lines | 
|  */ | 
| export interface LineLabelOption extends Omit<LabelOption, 'distance' | 'position'> { | 
|     position?: 'start' | 'middle' | 'end' | 'insideStart' | 'insideStartTop' | 'insideStartBottom' | 'insideMiddle' | 'insideMiddleTop' | 'insideMiddleBottom' | 'insideEnd' | 'insideEndTop' | 'insideEndBottom' | 'insideMiddleBottom'; | 
|     /** | 
|      * Distance can be an array. | 
|      * Which will specify horizontal and vertical distance respectively | 
|      */ | 
|     distance?: number | number[]; | 
| } | 
| export interface LabelLineOption { | 
|     show?: boolean; | 
|     /** | 
|      * If displayed above other elements | 
|      */ | 
|     showAbove?: boolean; | 
|     length?: number; | 
|     length2?: number; | 
|     smooth?: boolean | number; | 
|     minTurnAngle?: number; | 
|     lineStyle?: LineStyleOption; | 
| } | 
| export interface SeriesLineLabelOption extends LineLabelOption { | 
|     formatter?: string | LabelFormatterCallback<CallbackDataParams>; | 
| } | 
| export interface LabelLayoutOptionCallbackParams { | 
|     /** | 
|      * Index of data which the label represents. | 
|      * It can be null if label doesn't represent any data. | 
|      */ | 
|     dataIndex?: number; | 
|     /** | 
|      * Type of data which the label represents. | 
|      * It can be null if label doesn't represent any data. | 
|      */ | 
|     dataType?: SeriesDataType; | 
|     seriesIndex: number; | 
|     text: string; | 
|     align: ZRTextAlign; | 
|     verticalAlign: ZRTextVerticalAlign; | 
|     rect: RectLike; | 
|     labelRect: RectLike; | 
|     labelLinePoints?: number[][]; | 
| } | 
| export interface LabelLayoutOption { | 
|     /** | 
|      * If move the overlapped label. If label is still overlapped after moved. | 
|      * It will determine if to hide this label with `hideOverlap` policy. | 
|      * | 
|      * shiftX/Y will keep the order on x/y | 
|      * shuffleX/y will move the label around the original position randomly. | 
|      */ | 
|     moveOverlap?: 'shiftX' | 'shiftY' | 'shuffleX' | 'shuffleY'; | 
|     /** | 
|      * If hide the overlapped label. It will be handled after move. | 
|      * @default 'none' | 
|      */ | 
|     hideOverlap?: boolean; | 
|     /** | 
|      * If label is draggable. | 
|      */ | 
|     draggable?: boolean; | 
|     /** | 
|      * Can be absolute px number or percent string. | 
|      */ | 
|     x?: number | string; | 
|     y?: number | string; | 
|     /** | 
|      * offset on x based on the original position. | 
|      */ | 
|     dx?: number; | 
|     /** | 
|      * offset on y based on the original position. | 
|      */ | 
|     dy?: number; | 
|     rotate?: number; | 
|     align?: ZRTextAlign; | 
|     verticalAlign?: ZRTextVerticalAlign; | 
|     width?: number; | 
|     height?: number; | 
|     fontSize?: number; | 
|     labelLinePoints?: number[][]; | 
| } | 
| export declare type LabelLayoutOptionCallback = (params: LabelLayoutOptionCallbackParams) => LabelLayoutOption; | 
| export interface TooltipFormatterCallback<T> { | 
|     /** | 
|      * For sync callback | 
|      * params will be an array on axis trigger. | 
|      */ | 
|     (params: T, asyncTicket: string): string | HTMLElement | HTMLElement[]; | 
|     /** | 
|      * For async callback. | 
|      * Returned html string will be a placeholder when callback is not invoked. | 
|      */ | 
|     (params: T, asyncTicket: string, callback: (cbTicket: string, htmlOrDomNodes: string | HTMLElement | HTMLElement[]) => void): string | HTMLElement | HTMLElement[]; | 
| } | 
| declare type TooltipBuiltinPosition = 'inside' | 'top' | 'left' | 'right' | 'bottom'; | 
| declare type TooltipBoxLayoutOption = Pick<BoxLayoutOptionMixin, 'top' | 'left' | 'right' | 'bottom'>; | 
| export declare type TooltipPositionCallbackParams = CallbackDataParams | CallbackDataParams[]; | 
| /** | 
|  * Position relative to the hoverred element. Only available when trigger is item. | 
|  */ | 
| export interface TooltipPositionCallback { | 
|     (point: [number, number],  | 
|     /** | 
|      * params will be an array on axis trigger. | 
|      */ | 
|     params: TooltipPositionCallbackParams,  | 
|     /** | 
|      * Will be HTMLDivElement when renderMode is html | 
|      * Otherwise it's graphic.Text | 
|      */ | 
|     el: HTMLDivElement | ZRText | null,  | 
|     /** | 
|      * Rect of hover elements. Will be null if not hovered | 
|      */ | 
|     rect: RectLike | null, size: { | 
|         /** | 
|          * Size of popup content | 
|          */ | 
|         contentSize: [number, number]; | 
|         /** | 
|          * Size of the chart view | 
|          */ | 
|         viewSize: [number, number]; | 
|     }): Array<number | string> | TooltipBuiltinPosition | TooltipBoxLayoutOption; | 
| } | 
| /** | 
|  * Common tooltip option | 
|  * Can be configured on series, graphic elements | 
|  */ | 
| export interface CommonTooltipOption<FormatterParams> { | 
|     show?: boolean; | 
|     /** | 
|      * When to trigger | 
|      */ | 
|     triggerOn?: 'mousemove' | 'click' | 'none' | 'mousemove|click'; | 
|     /** | 
|      * Whether to not hide popup content automatically | 
|      */ | 
|     alwaysShowContent?: boolean; | 
|     formatter?: string | TooltipFormatterCallback<FormatterParams>; | 
|     /** | 
|      * Formatter of value. | 
|      * | 
|      * Will be ignored if tooltip.formatter is specified. | 
|      */ | 
|     valueFormatter?: (value: OptionDataValue | OptionDataValue[], dataIndex: number) => string; | 
|     /** | 
|      * Absolution pixel [x, y] array. Or relative percent string [x, y] array. | 
|      * If trigger is 'item'. position can be set to 'inside' / 'top' / 'left' / 'right' / 'bottom', | 
|      * which is relative to the hovered element. | 
|      * | 
|      * Support to be a callback | 
|      */ | 
|     position?: (number | string)[] | TooltipBuiltinPosition | TooltipPositionCallback | TooltipBoxLayoutOption; | 
|     confine?: boolean; | 
|     /** | 
|      * Consider triggered from axisPointer handle, verticalAlign should be 'middle' | 
|      */ | 
|     align?: HorizontalAlign; | 
|     verticalAlign?: VerticalAlign; | 
|     /** | 
|      * Delay of show. milesecond. | 
|      */ | 
|     showDelay?: number; | 
|     /** | 
|      * Delay of hide. milesecond. | 
|      */ | 
|     hideDelay?: number; | 
|     transitionDuration?: number; | 
|     /** | 
|      * Whether mouse is allowed to enter the floating layer of tooltip | 
|      * If you need to interact in the tooltip like with links or buttons, it can be set as true. | 
|      */ | 
|     enterable?: boolean; | 
|     backgroundColor?: ColorString; | 
|     borderColor?: ColorString; | 
|     borderRadius?: number; | 
|     borderWidth?: number; | 
|     shadowBlur?: number; | 
|     shadowColor?: string; | 
|     shadowOffsetX?: number; | 
|     shadowOffsetY?: number; | 
|     /** | 
|      * Padding between tooltip content and tooltip border. | 
|      */ | 
|     padding?: number | number[]; | 
|     /** | 
|      * Available when renderMode is 'html' | 
|      */ | 
|     extraCssText?: string; | 
|     textStyle?: Pick<LabelOption, 'color' | 'fontStyle' | 'fontWeight' | 'fontFamily' | 'fontSize' | 'lineHeight' | 'width' | 'height' | 'textBorderColor' | 'textBorderWidth' | 'textShadowColor' | 'textShadowBlur' | 'textShadowOffsetX' | 'textShadowOffsetY' | 'align'> & { | 
|         decoration?: string; | 
|     }; | 
| } | 
| export declare type ComponentItemTooltipOption<T> = CommonTooltipOption<T> & { | 
|     content?: string; | 
|     /** | 
|      * Whether to encode HTML content according to `tooltip.renderMode`. | 
|      * | 
|      * e.g. renderMode 'html' needs to encode but 'richText' does not. | 
|      */ | 
|     encodeHTMLContent?: boolean; | 
|     formatterParams?: ComponentItemTooltipLabelFormatterParams; | 
| }; | 
| export declare type ComponentItemTooltipLabelFormatterParams = { | 
|     componentType: string; | 
|     name: string; | 
|     $vars: string[]; | 
| } & { | 
|     [key in string]: unknown; | 
| }; | 
| /** | 
|  * Tooltip option configured on each series | 
|  */ | 
| export declare type SeriesTooltipOption = CommonTooltipOption<CallbackDataParams> & { | 
|     trigger?: 'item' | 'axis' | boolean | 'none'; | 
| }; | 
| declare type LabelFormatterParams = { | 
|     value: ScaleDataValue; | 
|     axisDimension: string; | 
|     axisIndex: number; | 
|     seriesData: CallbackDataParams[]; | 
| }; | 
| /** | 
|  * Common axis option. can be configured on each axis | 
|  */ | 
| export interface CommonAxisPointerOption { | 
|     show?: boolean | 'auto'; | 
|     z?: number; | 
|     zlevel?: number; | 
|     triggerOn?: 'click' | 'mousemove' | 'none' | 'mousemove|click'; | 
|     type?: 'line' | 'shadow' | 'none'; | 
|     snap?: boolean; | 
|     triggerTooltip?: boolean; | 
|     triggerEmphasis?: boolean; | 
|     /** | 
|      * current value. When using axisPointer.handle, value can be set to define the initial position of axisPointer. | 
|      */ | 
|     value?: ScaleDataValue; | 
|     status?: 'show' | 'hide'; | 
|     label?: LabelOption & { | 
|         precision?: 'auto' | number; | 
|         margin?: number; | 
|         /** | 
|          * String template include variable {value} or callback function | 
|          */ | 
|         formatter?: string | ((params: LabelFormatterParams) => string); | 
|     }; | 
|     animation?: boolean | 'auto'; | 
|     animationDurationUpdate?: number; | 
|     animationEasingUpdate?: ZREasing; | 
|     /** | 
|      * Available when type is 'line' | 
|      */ | 
|     lineStyle?: LineStyleOption; | 
|     /** | 
|      * Available when type is 'shadow' | 
|      */ | 
|     shadowStyle?: AreaStyleOption; | 
|     handle?: { | 
|         show?: boolean; | 
|         icon?: string; | 
|         /** | 
|          * The size of the handle | 
|          */ | 
|         size?: number | number[]; | 
|         /** | 
|          * Distance from handle center to axis. | 
|          */ | 
|         margin?: number; | 
|         color?: ColorString; | 
|         /** | 
|          * Throttle for mobile performance | 
|          */ | 
|         throttle?: number; | 
|     } & ShadowOptionMixin; | 
|     seriesDataIndices?: { | 
|         seriesIndex: number; | 
|         dataIndex: number; | 
|         dataIndexInside: number; | 
|     }[]; | 
| } | 
| export interface ComponentOption { | 
|     mainType?: string; | 
|     type?: string; | 
|     id?: OptionId; | 
|     name?: OptionName; | 
|     z?: number; | 
|     zlevel?: number; | 
| } | 
| export declare type BlurScope = 'coordinateSystem' | 'series' | 'global'; | 
| /** | 
|  * can be array of data indices. | 
|  * Or may be an dictionary if have different types of data like in graph. | 
|  */ | 
| export declare type InnerFocus = DefaultEmphasisFocus | ArrayLike<number> | Dictionary<ArrayLike<number>>; | 
| export interface DefaultStatesMixin { | 
|     emphasis?: any; | 
|     select?: any; | 
|     blur?: any; | 
| } | 
| export declare type DefaultEmphasisFocus = 'none' | 'self' | 'series'; | 
| export interface DefaultStatesMixinEmphasis { | 
|     /** | 
|      * self: Focus self and blur all others. | 
|      * series: Focus series and blur all other series. | 
|      */ | 
|     focus?: DefaultEmphasisFocus; | 
| } | 
| export interface StatesMixinBase { | 
|     emphasis?: unknown; | 
|     select?: unknown; | 
|     blur?: unknown; | 
| } | 
| export interface StatesOptionMixin<StateOption, StatesMixin extends StatesMixinBase> { | 
|     /** | 
|      * Emphasis states | 
|      */ | 
|     emphasis?: StateOption & StatesMixin['emphasis'] & { | 
|         /** | 
|          * Scope of blurred element when focus. | 
|          * | 
|          * coordinateSystem: blur others in the same coordinateSystem | 
|          * series: blur others in the same series | 
|          * global: blur all others | 
|          * | 
|          * Default to be coordinate system. | 
|          */ | 
|         blurScope?: BlurScope; | 
|         /** | 
|          * If emphasis state is disabled. | 
|          */ | 
|         disabled?: boolean; | 
|     }; | 
|     /** | 
|      * Select states | 
|      */ | 
|     select?: StateOption & StatesMixin['select'] & { | 
|         disabled?: boolean; | 
|     }; | 
|     /** | 
|      * Blur states. | 
|      */ | 
|     blur?: StateOption & StatesMixin['blur']; | 
| } | 
| export interface UniversalTransitionOption { | 
|     enabled?: boolean; | 
|     /** | 
|      * Animation delay of each divided element | 
|      */ | 
|     delay?: (index: number, count: number) => number; | 
|     /** | 
|      * How to divide the shape in combine and split animation. | 
|      */ | 
|     divideShape?: 'clone' | 'split'; | 
|     /** | 
|      * Series will have transition between if they have same seriesKey. | 
|      * Usually it is a string. It can also be an array, | 
|      * which means it can be transition from or to multiple series with each key in this array item. | 
|      * | 
|      * Note: | 
|      * If two series have both array seriesKey. They will be compared after concated to a string(which is order independent) | 
|      * Transition between string key has higher priority. | 
|      * | 
|      * Default to use series id. | 
|      */ | 
|     seriesKey?: string | string[]; | 
| } | 
| export interface SeriesOption<StateOption = unknown, StatesMixin extends StatesMixinBase = DefaultStatesMixin> extends ComponentOption, AnimationOptionMixin, ColorPaletteOptionMixin, StatesOptionMixin<StateOption, StatesMixin> { | 
|     mainType?: 'series'; | 
|     silent?: boolean; | 
|     blendMode?: string; | 
|     /** | 
|      * Cursor when mouse on the elements | 
|      */ | 
|     cursor?: string; | 
|     /** | 
|      * groupId of data. can be used for doing drilldown / up animation | 
|      * It will be ignored if: | 
|      *  - groupId is specified in each data | 
|      *  - encode.itemGroupId is given. | 
|      */ | 
|     dataGroupId?: OptionId; | 
|     data?: unknown; | 
|     colorBy?: ColorBy; | 
|     legendHoverLink?: boolean; | 
|     /** | 
|      * Configurations about progressive rendering | 
|      */ | 
|     progressive?: number | false; | 
|     progressiveThreshold?: number; | 
|     progressiveChunkMode?: 'mod'; | 
|     /** | 
|      * Not available on every series | 
|      */ | 
|     coordinateSystem?: string; | 
|     hoverLayerThreshold?: number; | 
|     /** | 
|      * When dataset is used, seriesLayoutBy specifies whether the column or the row of dataset is mapped to the series | 
|      * namely, the series is "layout" on columns or rows | 
|      * @default 'column' | 
|      */ | 
|     seriesLayoutBy?: 'column' | 'row'; | 
|     labelLine?: LabelLineOption; | 
|     /** | 
|      * Overall label layout option in label layout stage. | 
|      */ | 
|     labelLayout?: LabelLayoutOption | LabelLayoutOptionCallback; | 
|     /** | 
|      * Animation config for state transition. | 
|      */ | 
|     stateAnimation?: AnimationOption; | 
|     /** | 
|      * If enabled universal transition cross series. | 
|      * @example | 
|      *  universalTransition: true | 
|      *  universalTransition: { enabled: true } | 
|      */ | 
|     universalTransition?: boolean | UniversalTransitionOption; | 
|     /** | 
|      * Map of selected data | 
|      * key is name or index of data. | 
|      */ | 
|     selectedMap?: Dictionary<boolean> | 'all'; | 
|     selectedMode?: 'single' | 'multiple' | 'series' | boolean; | 
| } | 
| export interface SeriesOnCartesianOptionMixin { | 
|     xAxisIndex?: number; | 
|     yAxisIndex?: number; | 
|     xAxisId?: string; | 
|     yAxisId?: string; | 
| } | 
| export interface SeriesOnPolarOptionMixin { | 
|     polarIndex?: number; | 
|     polarId?: string; | 
| } | 
| export interface SeriesOnSingleOptionMixin { | 
|     singleAxisIndex?: number; | 
|     singleAxisId?: string; | 
| } | 
| export interface SeriesOnGeoOptionMixin { | 
|     geoIndex?: number; | 
|     geoId?: string; | 
| } | 
| export interface SeriesOnCalendarOptionMixin { | 
|     calendarIndex?: number; | 
|     calendarId?: string; | 
| } | 
| export interface SeriesLargeOptionMixin { | 
|     large?: boolean; | 
|     largeThreshold?: number; | 
| } | 
| export interface SeriesStackOptionMixin { | 
|     stack?: string; | 
|     stackStrategy?: 'samesign' | 'all' | 'positive' | 'negative'; | 
| } | 
| declare type SamplingFunc = (frame: ArrayLike<number>) => number; | 
| export interface SeriesSamplingOptionMixin { | 
|     sampling?: 'none' | 'average' | 'min' | 'max' | 'minmax' | 'sum' | 'lttb' | SamplingFunc; | 
| } | 
| export interface SeriesEncodeOptionMixin { | 
|     datasetIndex?: number; | 
|     datasetId?: string | number; | 
|     seriesLayoutBy?: SeriesLayoutBy; | 
|     sourceHeader?: OptionSourceHeader; | 
|     dimensions?: DimensionDefinitionLoose[]; | 
|     encode?: OptionEncode; | 
| } | 
| export declare type SeriesEncodableModel = SeriesModel<SeriesOption & SeriesEncodeOptionMixin>; | 
| export interface AriaLabelOption { | 
|     enabled?: boolean; | 
|     description?: string; | 
|     general?: { | 
|         withTitle?: string; | 
|         withoutTitle?: string; | 
|     }; | 
|     series?: { | 
|         maxCount?: number; | 
|         single?: { | 
|             prefix?: string; | 
|             withName?: string; | 
|             withoutName?: string; | 
|         }; | 
|         multiple?: { | 
|             prefix?: string; | 
|             withName?: string; | 
|             withoutName?: string; | 
|             separator?: { | 
|                 middle?: string; | 
|                 end?: string; | 
|             }; | 
|         }; | 
|     }; | 
|     data?: { | 
|         maxCount?: number; | 
|         allData?: string; | 
|         partialData?: string; | 
|         withName?: string; | 
|         withoutName?: string; | 
|         separator?: { | 
|             middle?: string; | 
|             end?: string; | 
|         }; | 
|         excludeDimensionId?: number[]; | 
|     }; | 
| } | 
| export interface AriaOption extends AriaLabelOption { | 
|     mainType?: 'aria'; | 
|     enabled?: boolean; | 
|     label?: AriaLabelOption; | 
|     decal?: { | 
|         show?: boolean; | 
|         decals?: DecalObject | DecalObject[]; | 
|     }; | 
| } | 
| export interface AriaOptionMixin { | 
|     aria?: AriaOption; | 
| } |