import { DataFormatMixin } from '../../model/mixin/dataFormat.js'; import ComponentModel from '../../model/Component.js'; import SeriesModel from '../../model/Series.js'; import { ComponentOption, AnimationOptionMixin, CommonTooltipOption, ScaleDataValue } from '../../util/types.js'; import Model from '../../model/Model.js'; import GlobalModel from '../../model/Global.js'; import SeriesData from '../../data/SeriesData.js'; export declare type MarkerStatisticType = 'average' | 'min' | 'max' | 'median'; /** * Option to specify where to put the marker. */ export interface MarkerPositionOption { x?: number | string; y?: number | string; /** * Coord on any coordinate system */ coord?: (ScaleDataValue | MarkerStatisticType)[]; xAxis?: ScaleDataValue; yAxis?: ScaleDataValue; radiusAxis?: ScaleDataValue; angleAxis?: ScaleDataValue; type?: MarkerStatisticType; /** * When using statistic method with type. * valueIndex and valueDim can be specify which dim the statistic is used on. */ valueIndex?: number; valueDim?: string; /** * Value to be displayed as label. Totally optional */ value?: string | number; } export interface MarkerOption extends ComponentOption, AnimationOptionMixin { silent?: boolean; data?: unknown[]; tooltip?: CommonTooltipOption & { trigger?: 'item' | 'axis' | boolean | 'none'; }; } declare abstract class MarkerModel extends ComponentModel { static type: string; type: string; /** * If marker model is created by self from series */ createdBySelf: boolean; static readonly dependencies: string[]; __hostSeries: SeriesModel; private _data; /** * @overrite */ init(option: Opts, parentModel: Model, ecModel: GlobalModel): void; isAnimationEnabled(): boolean; /** * @overrite */ mergeOption(newOpt: Opts, ecModel: GlobalModel): void; _mergeOption(newOpt: Opts, ecModel: GlobalModel, createdBySelf?: boolean, isInit?: boolean): void; formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: string): import("../tooltip/tooltipMarkup").TooltipMarkupSection; getData(): SeriesData; setData(data: SeriesData): void; /** * Create slave marker model from series. */ abstract createMarkerModelFromSeries(markerOpt: Opts, masterMarkerModel: MarkerModel, ecModel: GlobalModel): MarkerModel; static getMarkerModelFromSeries(seriesModel: SeriesModel, componentType: 'markLine' | 'markPoint' | 'markArea'): MarkerModel; } interface MarkerModel extends DataFormatMixin { } export default MarkerModel;