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 };