import type { VueNode } from '@antdv/ui/es/types'; export type SegmentedValue = string | number; export type segmentedSize = 'large' | 'small'; export interface SegmentedBaseOption { value: string | number; disabled?: boolean; payload?: any; /** * html `title` property for label */ title?: string; className?: string; } export interface SegmentedOptionType extends SegmentedBaseOption { label?: VueNode | ((option: SegmentedBaseOption) => VueNode); } export type ThumbRect = { left: number; right: number; width: number; } | null; export interface MotionThumbInterface { value: SegmentedValue; getValueIndex: (value: SegmentedValue) => number; prefixCls: string; motionName: string; onMotionStart: VoidFunction; onMotionEnd: VoidFunction; direction?: 'ltr' | 'rtl'; }