import { LoadedFont, GlyphGeometryInfo, LineInfo, TextDirection, GlyphCluster, ColorOptions } from '../types'; import { GlyphGeometryBuilder } from '../cache/GlyphGeometryBuilder'; export interface ShapedResult { geometry: any; glyphInfos: GlyphGeometryInfo[]; planeBounds: { min: { x: number; y: number; z: number; }; max: { x: number; y: number; z: number; }; }; cacheStats?: { hits: number; misses: number; hitRate: number; }; } export declare class TextShaper { private loadedFont; private geometryBuilder; private cachedSpaceWidth; constructor(loadedFont: LoadedFont, geometryBuilder: GlyphGeometryBuilder); shapeLines(lineInfos: LineInfo[], scaledLineHeight: number, letterSpacing: number, align: string, direction: TextDirection, color?: [number, number, number] | ColorOptions, originalText?: string): GlyphCluster[][]; private shapeLineIntoClusters; private calculateSpaceAdjustment; private calculateCJKAdjustment; clearCache(): void; getCacheStats(): import("../..").CacheStats; }