import type { IGraphic } from '@visactor/vchart'; import type { IPadding, IOrientType, StringOrNumber } from '@visactor/vchart'; import type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '@visactor/vchart'; export type LabelPosition = IOrientType | 'outer'; export interface IMapLabelSpec extends IMapLabelStyleSpec { seriesId: StringOrNumber; nameField?: string; valueField?: string; trigger?: 'hover' | 'click' | 'none'; } export type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container'; export type MapLabelSceneNodeMap = Partial>; export interface IMapLabelStyleSpec { visible?: boolean; offset?: number; space?: number; position?: LabelPosition; nameLabel?: { visible?: boolean; style?: ITextMarkSpec; }; valueLabel?: { visible?: boolean; style?: ITextMarkSpec; }; icon?: { visible?: boolean; style?: ISymbolMarkSpec; }; background?: { visible?: boolean; padding?: IPadding; style?: IRectMarkSpec; }; leader?: { visible?: boolean; style?: IPathMarkSpec; }; }