import * as _angular_core from '@angular/core';
type WrCircularTextHover = 'speedUp' | 'slowDown' | 'pause' | 'goBonkers' | null;
interface Char {
readonly ch: string;
readonly transform: string;
}
/**
* Text laid out around a circle, with the whole circle spinning. Hover
* behaviour swaps the spin rate (or pauses it) — the current rotation
* angle is preserved across the swap so there's no visible jump.
*
* @example
* ```html
*
*
* ```
*
* @see https://www.reactbits.dev/text-animations/circular-text
*/
declare class WrCircularText {
/** Text to lay out around the circle. */
readonly text: _angular_core.InputSignal;
/** Seconds per full revolution at rest. @default 20 */
readonly spinDuration: _angular_core.InputSignalWithTransform;
/** Hover behaviour. `null` disables hover reactivity. @default 'speedUp' */
readonly onHover: _angular_core.InputSignal;
protected readonly chars: _angular_core.Signal;
private readonly spinEl;
private readonly destroyRef;
private readonly isBrowser;
private readonly platform;
private rotation;
private hovered;
/** Active spin duration in seconds — base, or hover-modified. */
private effectiveDuration;
constructor();
/**
* Start the rotation, or swap its duration while preserving the
* current angle. If the new mode is `pause`, just pause the animation.
*/
private startOrSwap;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrCircularText };
export type { WrCircularTextHover };