import { Context } from '../Context.js'; import { Shape, ShapeConfig } from '../Shape.js'; import { Text } from './Text.js'; import { GetSet, PathSegment, Vector2d } from '../types.js'; export interface TextPathConfig extends ShapeConfig { text?: string; data?: string; fontFamily?: string; fontSize?: number; fontStyle?: string; letterSpacing?: number; } export declare class TextPath extends Shape { dummyCanvas: HTMLCanvasElement; dataArray: PathSegment[]; glyphInfo: Array<{ transposeX: number; transposeY: number; text: string; rotation: number; p0: Vector2d; p1: Vector2d; }>; partialText: string; pathLength: number; textWidth: number; textHeight: number; constructor(config?: TextPathConfig); _getTextPathLength(): number; _getPointAtLength(length: number): { x: any; y: any; } | null; _readDataAttribute(): void; _sceneFunc(context: Context): void; _hitFunc(context: Context): void; getTextWidth(): number; getTextHeight(): number; setText(text: string): Text; _getContextFont(): string; _getTextSize(text: string): { width: number; height: number; }; _setTextData(): null | undefined; getSelfRect(): { x: number; y: number; width: number; height: number; }; destroy(): this; fontFamily: GetSet; fontSize: GetSet; fontStyle: GetSet; fontVariant: GetSet; align: GetSet; letterSpacing: GetSet; text: GetSet; data: GetSet; kerningFunc: GetSet<(leftChar: string, rightChar: string) => number, this>; textBaseline: GetSet; textDecoration: GetSet; }