import * as _angular_core from '@angular/core';
type WrClickSparkEasing = 'linear' | 'ease-in' | 'ease-in-out' | 'ease-out';
/**
* Click ripple — bursts a ring of short line sparks from the click point
* across any projected content. Wraps children in a positioned container
* with a `pointer-events: none` canvas overlay, so projected DOM stays
* fully interactive.
*
* @example
* ```html
*
*
Click anywhere
*
*
* ```
*
* @see https://www.reactbits.dev/animations/click-spark
*/
declare class WrClickSpark {
/**
* Spark line colour. Accepts any CSS colour, or a `var(--wr-…)` token which is
* resolved against the host so it tracks the theme. The default flips with the
* theme — dark sparks in light mode, light sparks in dark.
* @default 'var(--wr-color-dark)'
*/
readonly sparkColor: _angular_core.InputSignal;
/** Length of each spark line in pixels (at t=0; tapers to 0 at t=1). @default 10 */
readonly sparkSize: _angular_core.InputSignalWithTransform;
/** Distance each spark travels from origin in pixels. @default 15 */
readonly sparkRadius: _angular_core.InputSignalWithTransform;
/** Number of sparks per click (evenly distributed around the circle). @default 8 */
readonly sparkCount: _angular_core.InputSignalWithTransform;
/** Animation duration in ms. @default 400 */
readonly duration: _angular_core.InputSignalWithTransform;
/** Easing function applied to the travel distance. @default 'ease-out' */
readonly easing: _angular_core.InputSignal;
/** Multiplier on the travel distance — bumps the radius without changing `sparkRadius`. @default 1 */
readonly extraScale: _angular_core.InputSignalWithTransform;
private readonly canvasRef;
private readonly host;
private readonly destroyRef;
private readonly isBrowser;
private readonly platform;
private sparks;
constructor();
protected onClick(event: MouseEvent): void;
/**
* Canvas `strokeStyle` can't read CSS custom properties, so a `var(--wr-…)`
* token is resolved against the host's computed style here. Plain colours
* pass through untouched. Falls back to a dark literal if the custom
* property resolves to nothing.
*/
private resolveColor;
private syncCanvasSize;
private watchResize;
private startLoop;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrClickSpark };
export type { WrClickSparkEasing };