import * as _angular_core from '@angular/core'; /** Granularity of the split. `lines` is not yet supported in this port. */ type WrSplitTextUnit = 'chars' | 'words'; /** * One end of the animation. Properties not listed default to the steady * state (opacity 1, no transform). `x` / `y` are pixels, `scale` is a * unitless factor, `rotate` is degrees. */ interface WrSplitTextMotion { readonly opacity?: number; readonly x?: number; readonly y?: number; readonly scale?: number; readonly rotate?: number; } type Piece = { readonly kind: 'piece'; readonly text: string; } | { readonly kind: 'space'; readonly text: string; }; /** * Animated text reveal — splits the input string into chars or words and * staggers each piece in from a `from` motion state to a `to` motion * state when the host scrolls into view. Whitespace is preserved. * * @example * ```html * * ``` * * @see https://www.reactbits.dev/text-animations/split-text */ declare class WrSplitText { /** Text to animate. Required. */ readonly text: _angular_core.InputSignal; /** Split granularity. @default 'chars' */ readonly splitType: _angular_core.InputSignal; /** Stagger delay between pieces in ms. @default 50 */ readonly delay: _angular_core.InputSignalWithTransform; /** Animation duration in seconds (matches reactbits' API). @default 1.25 */ readonly duration: _angular_core.InputSignalWithTransform; /** CSS easing function. @default 'cubic-bezier(0.16, 1, 0.3, 1)' (~power3.out) */ readonly easing: _angular_core.InputSignal; /** Start state for each piece. @default { opacity: 0, y: 40 } */ readonly from: _angular_core.InputSignal; /** End state for each piece. @default { opacity: 1, y: 0 } */ readonly to: _angular_core.InputSignal; /** `IntersectionObserver.threshold` — 0..1. @default 0.1 */ readonly threshold: _angular_core.InputSignalWithTransform; /** `IntersectionObserver.rootMargin`. @default '-100px' */ readonly rootMargin: _angular_core.InputSignal; /** Text alignment of the host. @default 'center' */ readonly textAlign: _angular_core.InputSignal<"left" | "center" | "right" | "justify">; /** Emitted once all pieces finish animating. */ readonly animationComplete: _angular_core.OutputEmitterRef; /** Pieces to render. Each piece is `{ kind: 'piece', text }` or `{ kind: 'space' }`. */ protected readonly pieces: _angular_core.Signal; private readonly host; private readonly destroyRef; private readonly isBrowser; private readonly platform; private hasAnimated; constructor(); private startObserver; private animate; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WrSplitText }; export type { WrSplitTextMotion, WrSplitTextUnit };