import type { IMarkTheme, IMarkSpec, ISymbolMarkSpec, IRippleMarkSpec } from '../../typings'; import type { ILabelSpec, IMultiLabelSpec } from '../../component/label/interface'; import type { SeriesMarkNameEnum } from '../interface/type'; import type { IPolarSeriesSpec } from '../polar/interface'; import type { IAnimationSpec } from '../../animation/spec'; export type CorrelationMarks = 'point' | 'label'; export type CorrelationAppearPreset = 'scaleIn' | 'fadeIn'; export interface ICorrelationAnimationParams { [key: string]: object; } export interface ICorrelationSeriesSpec extends Omit, IAnimationSpec { type: 'correlation'; categoryField: string; valueField: string; seriesField?: string; sizeField?: string; sizeRange?: number[]; centerX?: number; centerY?: number; innerRadius?: string | number; outerRadius?: string | number; startAngle?: number; endAngle?: number; [SeriesMarkNameEnum.centerPoint]?: IMarkSpec; [SeriesMarkNameEnum.ripplePoint]?: IMarkSpec; [SeriesMarkNameEnum.centerLabel]?: ILabelSpec & { position?: 'top' | 'bottom' | 'left' | 'right' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center'; }; [SeriesMarkNameEnum.nodePoint]?: IMarkSpec; [SeriesMarkNameEnum.label]?: IMultiLabelSpec; } export interface ICorrelationSeriesTheme { [SeriesMarkNameEnum.nodePoint]?: IMarkTheme; [SeriesMarkNameEnum.ripplePoint]?: IMarkTheme; [SeriesMarkNameEnum.centerPoint]?: IMarkTheme; [SeriesMarkNameEnum.centerLabel]?: ILabelSpec; [SeriesMarkNameEnum.label]?: ILabelSpec; }