import type { IBounds } from '../../../data-structure'; export type TextMeasureMethod = 'simple' | 'quick' | 'canvas' | 'vrender'; export interface ITextSize { width: number; height: number; fontBoundingBoxAscent?: number; fontBoundingBoxDescent?: number; } export interface ITextFontParams { fontStyle: string; fontVariant: string; fontWeight: string | number; fontSize: number; fontFamily: string; } export interface ITextMeasureSpec extends Partial { fontSize: number; fontFamily: string; align?: string; textAlign: string; baseline?: string; textBaseline: string; ellipsis?: string | boolean; limit?: number; lineHeight?: number | string; } export interface ITextMeasureOption { defaultFontParams?: Partial; specialCharSet?: string; getTextBounds?: (params: any) => IBounds; getCanvasForMeasure?: () => any; } export type TextMeasureInput = number | string | (number | string)[];