import * as _angular_core from '@angular/core';
/**
* KPI card — label + big number + optional prefix/suffix + delta. Pair
* with a layout grid for dashboards.
*
* When `value` is numeric the number counts up (eased) from its previous
* value to the new one on every change — see `animate`. String values and
* `prefers-reduced-motion` render instantly.
*
* @example
* ```html
*
*
*
* ```
*
* @see https://ngwr.dev/components/statistic
*/
declare class WrStatistic {
private readonly platform;
private readonly locale;
readonly label: _angular_core.InputSignal;
/** The number (or string) to display in the main slot. */
readonly value: _angular_core.InputSignal;
/** Prefix glyph / symbol (e.g. `'$'`). */
readonly prefix: _angular_core.InputSignal;
/** Suffix glyph / unit (e.g. `'%'`, `'kg'`). */
readonly suffix: _angular_core.InputSignal;
/** Fixed number of decimals applied to numeric values. @default 0 */
readonly precision: _angular_core.InputSignalWithTransform;
/**
* Count up to a new numeric `value` instead of swapping instantly. Always
* off for string values or under `prefers-reduced-motion`. @default true
*/
readonly animate: _angular_core.InputSignalWithTransform;
/** Count-up duration (ms). @default 700 */
readonly duration: _angular_core.InputSignalWithTransform;
/**
* The current value coerced to a finite number, or `null` when `value` is
* a non-numeric string / empty / nullish (rendered as-is).
*/
protected readonly numericValue: _angular_core.Signal;
/** Whether the value should count up (browser, numeric, opted-in, motion allowed). */
protected readonly animated: _angular_core.Signal;
/** Animation start — the previously-rendered numeric value (0 on first paint). */
protected readonly animateFrom: _angular_core.WritableSignal;
/** Bookkeeping: the last numeric value seen, fed back as the next `from`. */
private readonly lastNumeric;
constructor();
/**
* Static (non-animated) display string. Numeric values honour `precision`
* and locale grouping so they match the count-up output; everything else
* renders verbatim with an em-dash fallback.
*/
protected readonly displayValue: _angular_core.Signal;
/**
* Optional delta vs previous period — shown as `+x.x%` (or `-x.x%`).
* Use `deltaSuffix` to change the trailing unit.
*/
readonly delta: _angular_core.InputSignalWithTransform;
/** Unit appended to the delta value. @default '%' */
readonly deltaSuffix: _angular_core.InputSignal;
protected readonly hasDelta: _angular_core.Signal;
protected readonly deltaDirection: _angular_core.Signal<"up" | "down" | "flat">;
protected readonly deltaText: _angular_core.Signal;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
/**
* Live-counting variant of `` that targets a future date
* and ticks down to zero. The format string uses Day/Hour/Minute/Second
* tokens (`D`, `H`, `m`, `s`, double for zero-padded, plus `SSS` for
* milliseconds).
*
* @example
* ```html
*
* ```
*
* @see https://ngwr.dev/components/statistic
*/
declare class WrStatisticCountdown {
/** Target date / timestamp the countdown is running down to. */
readonly target: _angular_core.InputSignal;
/** Label rendered above the value. */
readonly label: _angular_core.InputSignal;
/**
* Format string. Tokens: `D`/`DD` (days), `H`/`HH` (hours),
* `m`/`mm` (minutes), `s`/`ss` (seconds), `SSS` (milliseconds).
* Double-letter forms zero-pad to width 2. @default 'HH:mm:ss'
*/
readonly format: _angular_core.InputSignal;
/** Optional text shown once the countdown reaches zero. */
readonly endText: _angular_core.InputSignal;
/**
* Tick interval in ms. Drop to ~16 for `SSS` (millisecond display).
* @default 1000
*/
readonly tickMs: _angular_core.InputSignal;
/** Fires once when the countdown crosses zero. */
readonly countdownEnd: _angular_core.OutputEmitterRef;
private readonly destroyRef;
private readonly isBrowser;
private readonly targetMs;
/** Remaining milliseconds (live signal). */
protected readonly remaining: _angular_core.WritableSignal;
protected readonly finished: _angular_core.WritableSignal;
protected readonly display: _angular_core.Signal;
constructor();
private tick;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrStatistic, WrStatisticCountdown };