import * as zrUtil from 'zrender/lib/core/util.js'; 
 | 
import { DataHost, DimensionName, SeriesOption, ZRColor, ScaleDataValue, SeriesDataType, OptionEncodeValue, ColorBy } from '../util/types.js'; 
 | 
import ComponentModel from './Component.js'; 
 | 
import { PaletteMixin } from './mixin/palette.js'; 
 | 
import { DataFormatMixin } from '../model/mixin/dataFormat.js'; 
 | 
import Model from '../model/Model.js'; 
 | 
import GlobalModel from './Global.js'; 
 | 
import { CoordinateSystem } from '../coord/CoordinateSystem.js'; 
 | 
import { ExtendableConstructor, Constructor } from '../util/clazz.js'; 
 | 
import { PipelineContext, SeriesTask } from '../core/Scheduler.js'; 
 | 
import LegendVisualProvider from '../visual/LegendVisualProvider.js'; 
 | 
import SeriesData from '../data/SeriesData.js'; 
 | 
import Axis from '../coord/Axis.js'; 
 | 
import type { BrushCommonSelectorsForSeries, BrushSelectableArea } from '../component/brush/selector.js'; 
 | 
import makeStyleMapper from './mixin/makeStyleMapper.js'; 
 | 
import { SourceManager } from '../data/helper/sourceManager.js'; 
 | 
import { Source } from '../data/Source.js'; 
 | 
import { ECSymbol } from '../util/symbol.js'; 
 | 
import { Group } from '../util/graphic.js'; 
 | 
import { LegendIconParams } from '../component/legend/LegendModel.js'; 
 | 
export declare const SERIES_UNIVERSAL_TRANSITION_PROP = "__universalTransitionEnabled"; 
 | 
interface SeriesModel { 
 | 
    /** 
 | 
     * Convinient for override in extended class. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    preventIncremental(): boolean; 
 | 
    /** 
 | 
     * See tooltip. 
 | 
     * Implement it if needed. 
 | 
     * @return Point of tooltip. null/undefined can be returned. 
 | 
     */ 
 | 
    getTooltipPosition(dataIndex: number): number[]; 
 | 
    /** 
 | 
     * Get data indices for show tooltip content. See tooltip. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    getAxisTooltipData(dim: DimensionName[], value: ScaleDataValue, baseAxis: Axis): { 
 | 
        dataIndices: number[]; 
 | 
        nestestValue: any; 
 | 
    }; 
 | 
    /** 
 | 
     * Get position for marker 
 | 
     */ 
 | 
    getMarkerPosition(value: ScaleDataValue[]): number[]; 
 | 
    /** 
 | 
     * Get legend icon symbol according to each series type 
 | 
     */ 
 | 
    getLegendIcon(opt: LegendIconParams): ECSymbol | Group; 
 | 
    /** 
 | 
     * See `component/brush/selector.js` 
 | 
     * Defined the brush selector for this series. 
 | 
     */ 
 | 
    brushSelector(dataIndex: number, data: SeriesData, selectors: BrushCommonSelectorsForSeries, area: BrushSelectableArea): boolean; 
 | 
    enableAriaDecal(): void; 
 | 
} 
 | 
declare class SeriesModel<Opt extends SeriesOption = SeriesOption> extends ComponentModel<Opt> { 
 | 
    type: string; 
 | 
    defaultOption: SeriesOption; 
 | 
    seriesIndex: number; 
 | 
    coordinateSystem: CoordinateSystem; 
 | 
    dataTask: SeriesTask; 
 | 
    pipelineContext: PipelineContext; 
 | 
    legendVisualProvider: LegendVisualProvider; 
 | 
    visualStyleAccessPath: string; 
 | 
    visualDrawType: 'fill' | 'stroke'; 
 | 
    visualStyleMapper: ReturnType<typeof makeStyleMapper>; 
 | 
    ignoreStyleOnData: boolean; 
 | 
    hasSymbolVisual: boolean; 
 | 
    defaultSymbol: string; 
 | 
    legendIcon: string; 
 | 
    [SERIES_UNIVERSAL_TRANSITION_PROP]: boolean; 
 | 
    private _selectedDataIndicesMap; 
 | 
    readonly preventUsingHoverLayer: boolean; 
 | 
    static protoInitialize: void; 
 | 
    init(option: Opt, parentModel: Model, ecModel: GlobalModel): void; 
 | 
    /** 
 | 
     * Util for merge default and theme to option 
 | 
     */ 
 | 
    mergeDefaultAndTheme(option: Opt, ecModel: GlobalModel): void; 
 | 
    mergeOption(newSeriesOption: Opt, ecModel: GlobalModel): void; 
 | 
    fillDataTextStyle(data: ArrayLike<any>): void; 
 | 
    /** 
 | 
     * Init a data structure from data related option in series 
 | 
     * Must be overriden. 
 | 
     */ 
 | 
    getInitialData(option: Opt, ecModel: GlobalModel): SeriesData; 
 | 
    /** 
 | 
     * Append data to list 
 | 
     */ 
 | 
    appendData(params: { 
 | 
        data: ArrayLike<any>; 
 | 
    }): void; 
 | 
    /** 
 | 
     * Consider some method like `filter`, `map` need make new data, 
 | 
     * We should make sure that `seriesModel.getData()` get correct 
 | 
     * data in the stream procedure. So we fetch data from upstream 
 | 
     * each time `task.perform` called. 
 | 
     */ 
 | 
    getData(dataType?: SeriesDataType): SeriesData<this>; 
 | 
    getAllData(): ({ 
 | 
        data: SeriesData; 
 | 
        type?: SeriesDataType; 
 | 
    })[]; 
 | 
    setData(data: SeriesData): void; 
 | 
    getEncode(): zrUtil.HashMap<OptionEncodeValue, string>; 
 | 
    getSourceManager(): SourceManager; 
 | 
    getSource(): Source; 
 | 
    /** 
 | 
     * Get data before processed 
 | 
     */ 
 | 
    getRawData(): SeriesData; 
 | 
    getColorBy(): ColorBy; 
 | 
    isColorBySeries(): boolean; 
 | 
    /** 
 | 
     * Get base axis if has coordinate system and has axis. 
 | 
     * By default use coordSys.getBaseAxis(); 
 | 
     * Can be overrided for some chart. 
 | 
     * @return {type} description 
 | 
     */ 
 | 
    getBaseAxis(): Axis; 
 | 
    /** 
 | 
     * Default tooltip formatter 
 | 
     * 
 | 
     * @param dataIndex 
 | 
     * @param multipleSeries 
 | 
     * @param dataType 
 | 
     * @param renderMode valid values: 'html'(by default) and 'richText'. 
 | 
     *        '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. 
 | 
     * @return formatted tooltip with `html` and `markers` 
 | 
     *        Notice: The override method can also return string 
 | 
     */ 
 | 
    formatTooltip(dataIndex: number, multipleSeries?: boolean, dataType?: SeriesDataType): ReturnType<DataFormatMixin['formatTooltip']>; 
 | 
    isAnimationEnabled(): boolean; 
 | 
    restoreData(): void; 
 | 
    getColorFromPalette(name: string, scope: any, requestColorNum?: number): ZRColor; 
 | 
    /** 
 | 
     * Use `data.mapDimensionsAll(coordDim)` instead. 
 | 
     * @deprecated 
 | 
     */ 
 | 
    coordDimToDataDim(coordDim: DimensionName): DimensionName[]; 
 | 
    /** 
 | 
     * Get progressive rendering count each step 
 | 
     */ 
 | 
    getProgressive(): number | false; 
 | 
    /** 
 | 
     * Get progressive rendering count each step 
 | 
     */ 
 | 
    getProgressiveThreshold(): number; 
 | 
    select(innerDataIndices: number[], dataType?: SeriesDataType): void; 
 | 
    unselect(innerDataIndices: number[], dataType?: SeriesDataType): void; 
 | 
    toggleSelect(innerDataIndices: number[], dataType?: SeriesDataType): void; 
 | 
    getSelectedDataIndices(): number[]; 
 | 
    isSelected(dataIndex: number, dataType?: SeriesDataType): boolean; 
 | 
    isUniversalTransitionEnabled(): boolean; 
 | 
    private _innerSelect; 
 | 
    private _initSelectedMapFromData; 
 | 
    static registerClass(clz: Constructor): Constructor; 
 | 
} 
 | 
interface SeriesModel<Opt extends SeriesOption = SeriesOption> extends DataFormatMixin, PaletteMixin<Opt>, DataHost { 
 | 
    /** 
 | 
     * Get dimension to render shadow in dataZoom component 
 | 
     */ 
 | 
    getShadowDim?(): string; 
 | 
} 
 | 
export declare type SeriesModelConstructor = typeof SeriesModel & ExtendableConstructor; 
 | 
export default SeriesModel; 
 |