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<ITextGraphicAttribute, 'lineHeight'> & {
    lineHeight?: number;
};
declare const textMeasureModule: ContainerModule;
export default textMeasureModule;
export declare const initTextMeasure: (textSpec?: ITextGraphicAttributeFroMeasure, option?: Partial<ITextMeasureOption>, useNaiveCanvas?: boolean) => TextMeasure<ITextGraphicAttributeFroMeasure>;
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;
