import { CanvasTextFontStyle, CanvasTextFontWeight, type IModelCoord } from '../../consts.js';
import { Bound } from '../../utils/bound.js';
import { PointLocation } from '../../utils/point-location.js';
import { type IVec } from '../../utils/vec.js';
import { SurfaceElement } from '../surface-element.js';
import type { IText, ITextDelta } from './types.js';
export declare class TextElement extends SurfaceElement<IText> {
    get text(): import("yjs").Text;
    getRelativePointLocation(relativePoint: IVec): PointLocation;
    get color(): string;
    get fontSize(): number;
    get fontFamily(): import("../../consts.js").CanvasTextFontFamily;
    get fontWeight(): CanvasTextFontWeight;
    get fontStyle(): CanvasTextFontStyle;
    get textAlign(): import("../consts.js").TextAlign;
    get hasMaxWidth(): boolean | undefined;
    get font(): string;
    get wrapTextDeltas(): ITextDelta[];
    getTextCursorPosition(coord: IModelCoord): number[];
    getNearestPoint(point: IVec): IVec;
    getCursorByCoord(coord: IModelCoord): number;
    containedByBounds(bounds: Bound): boolean;
    intersectWithLine(start: IVec, end: IVec): PointLocation[] | null;
    hitTest(x: number, y: number): boolean;
    render(ctx: CanvasRenderingContext2D, matrix: DOMMatrix): void;
}
//# sourceMappingURL=text-element.d.ts.map