import type { ITextGraphicAttribute, TextOptionsType } from './../../vrender'; import { DefaultTextMeasureContribution, ContainerModule } from './../../vrender'; import type { ITextMeasureOption, ITextSize } from '@visactor/vutils'; import { TextMeasure } from '@visactor/vutils'; type ITextGraphicAttributeFroMeasure = Omit & { lineHeight?: number; }; declare const textMeasureModule: ContainerModule; export default textMeasureModule; export declare const initTextMeasure: (textSpec?: ITextGraphicAttributeFroMeasure, option?: Partial, useNaiveCanvas?: boolean) => TextMeasure; export declare class FastTextMeasureContribution extends DefaultTextMeasureContribution { _fastMeasure(text: string, options: TextOptionsType): ITextSize; measureTextWidth(text: string, options: TextOptionsType): number; measureText(text: string, options: TextOptionsType): TextMetrics | { width: number; }; protected _measureTextWithoutAlignBaseline(text: string, options: TextOptionsType, compatible?: boolean): { width: number; } | TextMetrics; protected _measureTextWithAlignBaseline(text: string, options: TextOptionsType, compatible?: boolean): ITextSize; } export declare class TextMeasureTool { measureText(text: string, options: ITextGraphicAttribute): ITextSize; measureTextWidth(text: string, options: ITextGraphicAttribute): number; clipText(text: string, options: ITextGraphicAttribute, width: number): { str: string; width: number; }; private _clipText; clipTextWithSuffix(text: string, options: ITextGraphicAttribute, width: number, suffix: string): { str: string; width: number; }; } export declare const textMeasure: TextMeasureTool; export declare function setCustomAlphabetCharSet(str: string): void; export declare function restoreMeasureText(): void; export declare function measureTextBounds(attribute: ITextGraphicAttribute): import("@visactor/vutils").IBounds;