import { segment } from './sms-segmenter'; import { SmsEditorOptions } from './sms-editor.types'; /** * Headless SMS message editor. Enhances a ` *
* * * * * * * *
* *
* * ``` */ export declare class SmsEditor { private readonly root; private readonly input; private readonly trigger; private readonly picker; private readonly counterEl; private readonly segmentsEl; private readonly encodingEl; private readonly preview; private readonly maxLength?; private readonly maxSegments?; private cleanups; constructor(root: HTMLElement, options?: SmsEditorOptions); private init; private listen; /** Recompute segmentation, reflect it on the DOM and emit a change event. */ private sync; isPickerOpen(): boolean; togglePicker(): void; openPicker(): void; closePicker(): void; /** Insert text (e.g. an emoji) at the caret, respecting maxLength if set. */ insertText(text: string): void; /** Current message text. */ getText(): string; /** Current segmentation report. */ getSegmentInfo(): ReturnType; get value(): string; set value(v: string); /** Focus the textarea. */ focus(): void; /** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */ on(event: string, handler: (event: E) => void): () => void; destroy(): void; }