import * as _angular_core from '@angular/core'; type WrRotatingTextSplit = 'characters' | 'words' | 'lines'; type WrRotatingTextStaggerFrom = 'first' | 'last' | 'center'; interface Word { readonly characters: readonly string[]; readonly needsSpace: boolean; } /** * Cycles through a list of strings, animating each transition * character-by-character (or word/line). Auto-advances on a timer by * default; can also be controlled imperatively via `next()` / * `previous()` / `jumpTo()` / `reset()`. * * @example * ```html * * * // Manual control: * @ViewChild(WrRotatingText) rotator!: WrRotatingText; * onClick(): void { this.rotator.next(); } * ``` * * @see https://www.reactbits.dev/text-animations/rotating-text */ declare class WrRotatingText { /** Strings to cycle. Required. */ readonly texts: _angular_core.InputSignal; /** Auto-advance interval in ms. @default 2000 */ readonly rotationInterval: _angular_core.InputSignalWithTransform; /** Granularity of the split. @default 'characters' */ readonly splitBy: _angular_core.InputSignal; /** Auto-advance on a timer. @default true */ readonly auto: _angular_core.InputSignalWithTransform; /** Loop back to the first string after the last. @default true */ readonly loop: _angular_core.InputSignalWithTransform; /** Per-swap tween duration in seconds. @default 0.6 */ readonly duration: _angular_core.InputSignalWithTransform; /** CSS easing of the per-piece tween. @default 'cubic-bezier(0.16, 1, 0.3, 1)' (~power3.out) */ readonly easing: _angular_core.InputSignal; /** Per-piece stagger in seconds. @default 0 */ readonly staggerDuration: _angular_core.InputSignalWithTransform; /** Stagger origin. @default 'first' */ readonly staggerFrom: _angular_core.InputSignal; /** Emitted with the new index on every rotation. */ readonly nextChange: _angular_core.OutputEmitterRef; protected readonly index: _angular_core.WritableSignal; protected readonly current: _angular_core.Signal; protected readonly words: _angular_core.Signal; private readonly host; private readonly injector; private readonly destroyRef; private readonly isBrowser; private readonly platform; private timerId; private isAnimating; constructor(); next(): void; previous(): void; jumpTo(target: number): void; reset(): void; private restartTimer; private transitionTo; private animateIn; private animateOut; private delayFor; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WrRotatingText }; export type { WrRotatingTextSplit, WrRotatingTextStaggerFrom };