import * as _angular_core from '@angular/core';
type WrFallingTextTrigger = 'auto' | 'scroll' | 'hover' | 'click';
/**
* Words fall like physical bodies — gravity, wall/floor collision, and
* cursor drag-to-pick-up. Words start at their typeset position then
* release into the simulator on trigger.
*
* Triggers:
* - `'auto'` release immediately on mount
* - `'scroll'` release on viewport entry
* - `'hover'` release on first hover
* - `'click'` release on first click
*
* Highlight specific words by passing prefix-matched keywords via
* `[highlightWords]` — matched spans get `wr-falling-text__word--hl`.
*
* @example
* ```html
*
* ```
*
* @see https://www.reactbits.dev/text-animations/falling-text
*/
declare class WrFallingText {
/** Text to render. Words are separated by spaces. */
readonly text: _angular_core.InputSignal;
/** Prefix-match keywords; any word starting with one of these gets the highlight class. */
readonly highlightWords: _angular_core.InputSignal;
/** When to release the words into the simulator. @default 'auto' */
readonly trigger: _angular_core.InputSignal;
/** Gravity in pixels/sec². @default 980 */
readonly gravity: _angular_core.InputSignalWithTransform;
/** Font size as a CSS length. @default '1rem' */
readonly fontSize: _angular_core.InputSignal;
private readonly wordsRef;
private readonly host;
private readonly destroyRef;
private readonly isBrowser;
private readonly platform;
private started;
private teardownLoop;
protected readonly words: _angular_core.Signal;
constructor();
private start;
/** Apply the body's position + angle to the DOM. */
private commit;
private toLocal;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrFallingText };
export type { WrFallingTextTrigger };