import { Text as Text$1 } from '../core/Text'; import { VectorGlyphInfo, TextQueryOptions, TextRange, LoadedFont, TextOptions } from '../core/types'; export { LoadedFont, TextOptions, VectorGlyphInfo } from '../core/types'; import * as THREE from 'three'; interface BoundingBox { min: { x: number; y: number; z: number; }; max: { x: number; y: number; z: number; }; } interface HyphenationTrieNode { patterns: number[] | null; children: { [char: string]: HyphenationTrieNode; }; } interface SlugPackedTexture { data: Float32Array | Uint32Array; width: number; height: number; } interface SlugGPUData { curveTexture: SlugPackedTexture & { data: Float32Array; }; bandTexture: SlugPackedTexture & { data: Uint32Array; }; vertices: Float32Array; indices: Uint16Array; shapeCount: number; } interface SlugGLSLMeshOptions { color?: { r: number; g: number; b: number; }; animationDeclarations?: string; animationBody?: string; uniforms?: Record; adaptiveSupersampling?: boolean; } interface SlugGLSLMesh { mesh: THREE.Mesh; uniforms: Record; setOffset(x: number, y: number, z?: number): void; setColor(r: number, g: number, b: number): void; dispose(): void; } declare function createSlugGLSLMesh(gpuData: SlugGPUData, options?: SlugGLSLMeshOptions): SlugGLSLMesh; interface VectorTextResult { group: THREE.Group; mesh: THREE.Mesh; gpuData: SlugGPUData; glyphs: VectorGlyphInfo[]; planeBounds: BoundingBox; query(options: TextQueryOptions): TextRange[]; getLoadedFont(): LoadedFont | undefined; measureTextWidth(text: string, letterSpacing?: number): number; update(options: Partial): Promise; dispose(): void; } declare class Text { static setHarfBuzzPath: typeof Text$1.setHarfBuzzPath; static setHarfBuzzBuffer: typeof Text$1.setHarfBuzzBuffer; static init: typeof Text$1.init; static registerPattern: typeof Text$1.registerPattern; static preloadPatterns: typeof Text$1.preloadPatterns; static setMaxFontCacheMemoryMB: typeof Text$1.setMaxFontCacheMemoryMB; static enableWoff2: typeof Text$1.enableWoff2; static create(options: TextOptions): Promise; } export { HyphenationTrieNode, SlugGLSLMesh, SlugGLSLMeshOptions, SlugGPUData, Text, VectorTextResult as TextGeometryInfo, VectorTextResult, createSlugGLSLMesh };