| import * as graphic from '../../util/graphic.js'; | 
| import SeriesData from '../../data/SeriesData.js'; | 
| import { StageHandlerProgressParams, LabelOption, SymbolOptionMixin, ItemStyleOption, ZRColor, AnimationOptionMixin, ZRStyleProps, StatesOptionMixin, BlurScope, DisplayState, DefaultEmphasisFocus } from '../../util/types.js'; | 
| import { CoordinateSystemClipArea } from '../../coord/CoordinateSystem.js'; | 
| import Model from '../../model/Model.js'; | 
| import Element from 'zrender/lib/Element.js'; | 
| import SeriesModel from '../../model/Series.js'; | 
| interface UpdateOpt { | 
|     isIgnore?(idx: number): boolean; | 
|     clipShape?: CoordinateSystemClipArea; | 
|     getSymbolPoint?(idx: number): number[]; | 
|     disableAnimation?: boolean; | 
| } | 
| interface SymbolLike extends graphic.Group { | 
|     updateData(data: SeriesData, idx: number, scope?: SymbolDrawSeriesScope, opt?: UpdateOpt): void; | 
|     fadeOut?(cb: () => void, seriesModel: SeriesModel): void; | 
| } | 
| interface SymbolLikeCtor { | 
|     new (data: SeriesData, idx: number, scope?: SymbolDrawSeriesScope, opt?: UpdateOpt): SymbolLike; | 
| } | 
| interface RippleEffectOption { | 
|     period?: number; | 
|     /** | 
|      * Scale of ripple | 
|      */ | 
|     scale?: number; | 
|     brushType?: 'fill' | 'stroke'; | 
|     color?: ZRColor; | 
|     /** | 
|      * ripple number | 
|      */ | 
|     number?: number; | 
| } | 
| interface SymbolDrawStateOption { | 
|     itemStyle?: ItemStyleOption; | 
|     label?: LabelOption; | 
| } | 
| export interface SymbolDrawItemModelOption extends SymbolOptionMixin<object>, StatesOptionMixin<SymbolDrawStateOption, { | 
|     emphasis?: { | 
|         focus?: DefaultEmphasisFocus; | 
|         scale?: boolean | number; | 
|     }; | 
| }>, SymbolDrawStateOption { | 
|     cursor?: string; | 
|     rippleEffect?: RippleEffectOption; | 
| } | 
| export interface SymbolDrawSeriesScope { | 
|     emphasisItemStyle?: ZRStyleProps; | 
|     blurItemStyle?: ZRStyleProps; | 
|     selectItemStyle?: ZRStyleProps; | 
|     focus?: DefaultEmphasisFocus; | 
|     blurScope?: BlurScope; | 
|     emphasisDisabled?: boolean; | 
|     labelStatesModels: Record<DisplayState, Model<LabelOption>>; | 
|     itemModel?: Model<SymbolDrawItemModelOption>; | 
|     hoverScale?: boolean | number; | 
|     cursorStyle?: string; | 
|     fadeIn?: boolean; | 
| } | 
| export declare type ListForSymbolDraw = SeriesData<Model<SymbolDrawItemModelOption & AnimationOptionMixin>>; | 
| declare class SymbolDraw { | 
|     group: graphic.Group; | 
|     private _data; | 
|     private _SymbolCtor; | 
|     private _seriesScope; | 
|     private _getSymbolPoint; | 
|     private _progressiveEls; | 
|     constructor(SymbolCtor?: SymbolLikeCtor); | 
|     /** | 
|      * Update symbols draw by new data | 
|      */ | 
|     updateData(data: ListForSymbolDraw, opt?: UpdateOpt): void; | 
|     updateLayout(): void; | 
|     incrementalPrepareUpdate(data: ListForSymbolDraw): void; | 
|     /** | 
|      * Update symbols draw by new data | 
|      */ | 
|     incrementalUpdate(taskParams: StageHandlerProgressParams, data: ListForSymbolDraw, opt?: UpdateOpt): void; | 
|     eachRendered(cb: (el: Element) => boolean | void): void; | 
|     remove(enableAnimation?: boolean): void; | 
| } | 
| export default SymbolDraw; |