import { Signal } from '@preact/signals-core'; import { Matrix4, Vector2Tuple } from 'three'; import { ClippingRect } from '../../clipping.js'; import { alignmentXMap, alignmentYMap } from '../../utils.js'; import { InstancedGlyphGroup } from './instanced-glyph-group.js'; import { GlyphLayout } from '../layout.js'; import { SelectionTransformation } from '../../selection.js'; import { CaretTransformation } from '../../caret.js'; import { BaseOutProperties, Properties } from '../../properties/index.js'; import { Text } from '../../components/text.js'; export type TextAlignProperties = { textAlign?: keyof typeof alignmentXMap | 'justify'; }; export declare const additionalTextDefaults: { verticalAlign: keyof typeof alignmentYMap; }; export type AdditionalTextDefaults = typeof additionalTextDefaults; export declare function createInstancedText(text: Text, parentClippingRect: Signal | undefined, selectionRange: Signal | undefined, selectionTransformations: Signal> | undefined, caretTransformation: Signal | undefined, instancedTextRef: { current?: InstancedText; } | undefined): import("@preact/signals-core").ReadonlySignal; export declare class InstancedText { private group; private properties; private layoutSignal; private matrix; private parentClippingRect; private selectionRange; private selectionTransformations; private caretTransformation; private glyphLines; private lastLayout; private unsubscribeInitialList; private unsubscribeShowList; constructor(group: InstancedGlyphGroup, properties: Properties, layoutSignal: Signal, matrix: Signal, isVisible: Signal, parentClippingRect: Signal | undefined, selectionRange: Signal | undefined, selectionTransformations: Signal> | undefined, caretTransformation: Signal | undefined); getCharIndex(x: number, y: number, position: 'between' | 'on'): number; private updateSelectionBoxes; private computeSelectionTransformation; private getGlyphLineAndX; private getGlyphX; private show; private hide; destroy(): void; }