| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322 | 
							- /**
 
-  * [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 {
 
- }
 
- 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 diplayed 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)?
 
-      * Becuase 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;
 
-     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;
 
-     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;
 
- 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;
 
- }
 
- 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[];
 
- };
 
- /******************* Mixins for Common Option Properties   ********************** */
 
- 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';
 
- }
 
- /**
 
-  * 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'];
 
-     silent?: boolean;
 
-     precision?: number | 'auto';
 
-     valueAnimation?: boolean;
 
-     rich?: Dictionary<TextCommonOption>;
 
- }
 
- export interface SeriesLabelOption extends LabelOption {
 
-     formatter?: string | LabelFormatterCallback<CallbackDataParams>;
 
- }
 
- /**
 
-  * 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 does't represent any data.
 
-      */
 
-     dataIndex?: number;
 
-     /**
 
-      * Type of data which the label represents.
 
-      * It can be null if label does'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[]) => 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;
 
-     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;
 
-     /**
 
-      * current value. When using axisPointer.handle, value can be set to define the initail 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' | '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;
 
-         };
 
-     };
 
- }
 
- export interface AriaOption extends AriaLabelOption {
 
-     mainType?: 'aria';
 
-     enabled?: boolean;
 
-     label?: AriaLabelOption;
 
-     decal?: {
 
-         show?: boolean;
 
-         decals?: DecalObject | DecalObject[];
 
-     };
 
- }
 
- export interface AriaOptionMixin {
 
-     aria?: AriaOption;
 
- }
 
 
  |