import type { LayoutConfigType as ImageCloudLayoutConfig, GeometricMaskShape, shapes, TextShapeMask } from '@visactor/vchart'; import type { ImageCloudAppearPresetType } from './animation'; import type { IAnimationSpec, IImageMarkSpec, IMarkSpec, ISeriesSpec } from '@visactor/vchart'; import type { ImageCloudMarkNameEnum } from './constant'; export interface IImageCloudSeriesSpec extends ISeriesSpec, IAnimationSpec<'image', ImageCloudAppearPresetType> { type: 'imageCloud'; urlField: string; nameField?: string; valueField?: string; imageSize?: number; imageSizeRange?: [number, number]; ratio?: number; maskShape?: string | keyof typeof shapes | TextShapeMask | GeometricMaskShape; imageMask?: { visible?: boolean; threshold?: number; invert?: boolean; removeWhiteBorder?: boolean; style?: Partial; }; layoutConfig?: ImageCloudLayoutConfig; [ImageCloudMarkNameEnum.image]?: IMarkSpec> & { padding?: number; }; }