interface SpringParams { stiffness?: number; damping?: number; mass?: number; precision?: number; } interface TextMorphOptions { debug?: boolean; element: HTMLElement; locale?: Intl.LocalesArgument; scale?: boolean; duration?: number; ease?: string | SpringParams; disabled?: boolean; respectReducedMotion?: boolean; onAnimationStart?: () => void; onAnimationComplete?: () => void; } declare class MorphController { private instance; private lastText; private configKey; attach(element: HTMLElement, options: Omit): void; update(text: string): void; needsRecreate(options: Omit): boolean; destroy(): void; static serializeConfig(options: Omit): string; } declare const DEFAULT_AS = "span"; declare const DEFAULT_TEXT_MORPH_OPTIONS: { readonly debug: false; readonly locale: "en"; readonly duration: 400; readonly scale: true; readonly ease: "cubic-bezier(0.19, 1, 0.22, 1)"; readonly disabled: false; readonly respectReducedMotion: true; }; declare class TextMorph { private element; private options; private data; private currentMeasures; private prevMeasures; private isInitialRender; private reducedMotion; constructor(options: TextMorphOptions); destroy(): void; private isDisabled; update(value: HTMLElement | string): void; private createTextGroup; private updateStyles; } export { DEFAULT_AS, DEFAULT_TEXT_MORPH_OPTIONS, MorphController, type SpringParams, TextMorph, type TextMorphOptions };