/** * SplitText-lite: break an element's text into word/char spans carrying * `--sv-order` (and `--sv-count` on the container), so every order-driven * preset (entrances with stagger, `sv-reading`, `sv-range` slices) works * on text with no manual markup. * * Accessibility: the full text is kept as a visually-hidden first child * (aria-label is prohibited on generic roles like p/span/div. Axe * `aria-prohibited-attr`); the animated spans are `aria-hidden`. The original content is restored by the returned * function. Markup inside the element is flattened to text. Split plain * text, not rich fragments. */ /** Visually-hidden text, inline so it needs no stylesheet. */ export declare const SR_ONLY_CSS = "position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap"; export interface SplitOptions { /** 'word' (default) or 'char'. */ by?: 'word' | 'char'; } /** Pure splitter: returns the animated parts (whitespace stays out. The * DOM/React layers re-insert it as plain text so wrapping stays natural). */ export declare function splitParts(text: string, by?: 'word' | 'char'): string[]; export declare function split(el: HTMLElement, { by }?: SplitOptions): () => void;