/** @packageDocumentation
 * @module Geometry
 */
import { Point2d, Point3d, Range2d, Transform, XYZProps, YawPitchRollAngles, YawPitchRollProps } from "@itwin/core-geometry";
import { FontId } from "../Fonts";
/**
 * Optional cached text layout information used to support legacy proxy graphics.
 * @beta
 */
export interface TextStringGlyphData {
    glyphIds: number[];
    glyphOrigins: Point2d[];
    range: Range2d;
}
/** Properties for a TextString class.
 * @see [[GeometryStreamEntryProps]]
 * @public
 * @extensions
 */
export interface TextStringProps {
    /** text string */
    text: string;
    /** FontId for the TextString. FontIds are mapped to font names and types via the FontMap */
    font: FontId;
    height: number;
    widthFactor?: number;
    /** bold text. Default is false */
    bold?: boolean;
    /** italic text. Default is false */
    italic?: boolean;
    /** underline text. Default is false */
    underline?: boolean;
    /** Optional position relative to element's placement. Default is 0,0,0 */
    origin?: XYZProps;
    /** Optional rotation relative to element's placement. Default is identity matrix */
    rotation?: YawPitchRollProps;
}
/** A single line of text, all with the same font, styles (underline, bold, italic), and size.
 * This class also holds the origin and direction for the text.
 * A paragraph is composed of one or more instances of TextStrings.
 * @public
 */
export declare class TextString {
    /** Text string */
    text: string;
    /** FontId for this TextString. FontIds are mapped to font names and types via the FontMap */
    font: FontId;
    height: number;
    widthFactor?: number;
    /** bold text. Default is false */
    bold?: boolean;
    /** italic text. Default is false */
    italic?: boolean;
    /** underline text. Default is false */
    underline?: boolean;
    /** position relative to element's placement */
    readonly origin: Point3d;
    /** Rotation relative to element's placement */
    readonly rotation: YawPitchRollAngles;
    get width(): number;
    constructor(props: TextStringProps);
    toJSON(): TextStringProps;
    transformInPlace(transform: Transform): boolean;
}
//# sourceMappingURL=TextString.d.ts.map