import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface'; import type { IMarkSpec, IMarkTheme } from '../../typings/spec/common'; import type { ISymbolMarkSpec, IVisualSpecBase, ShapeType, FunctionType } from '../../typings'; import type { IAnimationSpec } from '../../animation/spec'; import type { IMarkProgressiveConfig } from '../../mark/interface'; import type { SeriesMarkNameEnum } from '../interface/type'; import type { ILineLikeLabelSpec } from '../mixin/interface'; import type { IMultiLabelSpec } from '../../component/label/interface'; export type ScatterMarks = 'point' | 'label'; export type ScatterAppearPreset = 'scaleIn' | 'fadeIn'; export interface IScatterAnimationParams { [key: string]: object; } export interface IScatterSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec, IMarkProgressiveConfig { type: 'scatter'; xField?: string | string[]; yField?: string | string[]; [SeriesMarkNameEnum.point]?: IMarkSpec; sizeField?: string; size?: number | number[] | FunctionType | IVisualSpecBase; shapeField?: string; shape?: ShapeType | ShapeType[] | FunctionType | IVisualSpecBase; [SeriesMarkNameEnum.label]?: IMultiLabelSpec; } export interface IScatterSeriesTheme extends ICartesianSeriesTheme { size?: number; shape?: ShapeType; [SeriesMarkNameEnum.point]?: Partial>; }