import { Object3D, Vector3, Matrix4, Box3 } from 'three';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { Entity } from '../Entity/Entity';
export declare enum TextAligen {
    LeftTop = 3,
    Top = 1,
    RightTop = 5,
    LeftMid = 2,
    Mid = 0,
    RightMid = 4,
    LeftDown = 10,
    Down = 8,
    RightDown = 12
}
export declare function DisposeTextShapeCache(): void;
/**
 * 单行文字实体
 */
export declare class Text extends Entity {
    private _TextString;
    _FontName: string;
    private _Height;
    private _TextRotation;
    protected OnlyRenderType: boolean;
    private _Align;
    private box;
    constructor(pos?: Vector3, _TextString?: string, _FontName?: string, _Height?: number, _TextRotation?: number);
    get TextRotation(): number;
    set TextRotation(v: number);
    get TextString(): string;
    set TextString(str: string);
    set TextAligen(al: TextAligen);
    get Height(): number;
    set Height(v: number);
    AsyncUpdateDrawObject(obj: Object3D, renderType: RenderType): Promise<void>;
    /**大概宽度 */
    get Width(): number;
    get BoundingBox(): Box3;
    UpdateTranslate(): void;
    protected ApplyScaleMatrix(m: Matrix4): this;
    InitDrawObject(renderType?: RenderType): Object3D;
    UpdateDrawObject(type: RenderType, obj: Object3D): void;
    UpdateDrawObjectMaterial(renderType: RenderType, en: Object3D): void;
    GetGripPoints(): Array<Vector3>;
    MoveGripPoints(indexList: number[], vec: Vector3): void;
    GetStretchPoints(): Array<Vector3>;
    MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Text.d.ts.map