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<unknown> & { 
 | 
        trigger?: 'item' | 'axis' | boolean | 'none'; 
 | 
    }; 
 | 
} 
 | 
declare abstract class MarkerModel<Opts extends MarkerOption = MarkerOption> extends ComponentModel<Opts> { 
 | 
    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<this>; 
 | 
    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<MarkerOption>; 
 | 
} 
 | 
interface MarkerModel<Opts extends MarkerOption = MarkerOption> extends DataFormatMixin { 
 | 
} 
 | 
export default MarkerModel; 
 |