import type { IMarkStateSpec, IMarkStateStyleSpec } from '@visactor/vchart'; import type { StateValue } from '@visactor/vchart/src/compile/mark'; import type { Datum } from '@visactor/vchart/src/typings/common'; import type { ITextGraphicAttribute, ISymbolGraphicAttribute, IRectGraphicAttribute, EasingType } from '@visactor/vchart'; type IRankingListData = Datum[]; export interface IRankingListSpec { type: 'rankingList'; data: IRankingListData; xField: string; yField: string; width?: number; height?: number; labelLayout?: 'top' | 'bothEnd'; bar?: { height?: number; style?: IRectGraphicAttribute; state?: Record | IMarkStateStyleSpec>; }; barBackground?: { visible?: boolean; type?: string; style?: ISymbolGraphicAttribute | IRectGraphicAttribute; state?: Record | IMarkStateStyleSpec>; }; rankingIcon?: { visible?: boolean; style?: ISymbolGraphicAttribute; state?: Record | IMarkStateStyleSpec>; }; decorateHaloIcons?: [ { visible?: boolean; style?: ISymbolGraphicAttribute; state?: Record | IMarkStateStyleSpec>; } ]; orderLabel?: { visible?: boolean; style?: ITextGraphicAttribute; formatMethod?: (text: string, datum: Datum) => string; state?: Record | IMarkStateStyleSpec>; }; nameLabel?: { visible?: boolean; style?: ITextGraphicAttribute; formatMethod?: (text: string, datum: Datum) => string; state?: Record | IMarkStateStyleSpec>; }; valueLabel?: { visible?: boolean; style?: ITextGraphicAttribute; formatMethod?: (text: string, datum: Datum) => string; state?: Record | IMarkStateStyleSpec>; }; pageSize?: number; scrollSize?: number; animationAppear?: { enable?: boolean; type?: 'grow'; duration?: number; easing?: EasingType; customTransformSpec?: (spec: any) => void; }; animationUpdate?: { enable?: boolean; type?: 'grow'; duration?: number; easing?: EasingType; }; animationNormal?: { interval?: number; }; } export {};