import * as _angular_core from '@angular/core'; type WrDecryptTextAnimateOn = 'hover' | 'click' | 'view' | 'inViewHover'; type WrDecryptTextRevealDirection = 'start' | 'end' | 'center'; type WrDecryptTextClickMode = 'once' | 'toggle'; /** * Reveals a string by scrambling characters and progressively replacing * scramble glyphs with the originals. Supports sequential reveal in * three directions, or non-sequential "settle" after N iterations, and * four trigger modes (hover, click, view, in-view + hover). * * @example * ```html * * * ``` * * @see https://www.reactbits.dev/text-animations/decrypted-text */ declare class WrDecryptText { /** Text to reveal. Required. */ readonly text: _angular_core.InputSignal; /** Tick interval in ms. @default 50 */ readonly speed: _angular_core.InputSignalWithTransform; /** Non-sequential mode only — total scramble ticks before snapping to plain. @default 10 */ readonly maxIterations: _angular_core.InputSignalWithTransform; /** Reveal one char per tick instead of scrambling all of them. @default false */ readonly sequential: _angular_core.InputSignalWithTransform; /** Order in which chars are revealed in sequential mode. @default 'start' */ readonly revealDirection: _angular_core.InputSignal; /** Scramble using only the glyphs present in `text` (minus spaces). @default false */ readonly useOriginalCharsOnly: _angular_core.InputSignalWithTransform; /** Pool of glyphs to scramble through (used when `useOriginalCharsOnly` is false). */ readonly characters: _angular_core.InputSignal; /** When to start the animation. @default 'hover' */ readonly animateOn: _angular_core.InputSignal; /** Click behaviour. `'once'` decrypts then stops; `'toggle'` flips state on each click. @default 'once' */ readonly clickMode: _angular_core.InputSignal; private readonly displayText; private readonly revealedIndices; private readonly isAnimating; private readonly isDecrypted; private readonly direction; /** Per-char render data. */ protected readonly chars: _angular_core.Signal<{ ch: string; revealed: boolean; }[]>; /** Sequential reverse order — captured when reverse starts. */ private reverseOrder; private reversePointer; private iterationCount; private intervalId; private hasAnimatedOnce; private readonly host; private readonly destroyRef; private readonly isBrowser; private readonly platform; constructor(); protected onMouseEnter(): void; protected onMouseLeave(): void; protected onClick(): void; private setupIntersectionObserver; private triggerHoverDecrypt; private resetToPlain; private triggerDecrypt; private triggerReverse; private encryptInstantly; private startInterval; private stopInterval; private tick; private nextSequentialIndex; private shuffle; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WrDecryptText }; export type { WrDecryptTextAnimateOn, WrDecryptTextClickMode, WrDecryptTextRevealDirection };