import * as _angular_core from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
/**
* Numeric input with locale-aware formatting + ▲▼ stepper buttons.
*
* Implements `ControlValueAccessor` — value type is `number | null`.
* Parses leniently while typing (allows partial input like `"1."` or `"-"`),
* re-formats with grouping + fixed decimals on blur.
*
* Locale comes from Angular's `LOCALE_ID` — input-number intentionally does
* NOT depend on `ngwr/date-adapter` so it can be used in date-free apps.
*
* @example
* ```html
*
*
* ```
*
* @see https://ngwr.dev/components/input-number
*/
declare class WrInputNumber implements ControlValueAccessor {
/** Minimum allowed value. @default -Infinity */
readonly min: _angular_core.InputSignalWithTransform;
/** Maximum allowed value. @default Infinity */
readonly max: _angular_core.InputSignalWithTransform;
/** Step used by stepper buttons + arrow keys. @default 1 */
readonly step: _angular_core.InputSignalWithTransform;
/** Fixed number of decimals shown on blur. `null` keeps the entered precision. @default null */
readonly decimals: _angular_core.InputSignal;
/** Render the ▲▼ stepper column. @default true */
readonly showSteppers: _angular_core.InputSignalWithTransform;
/** Optional prefix label (e.g. `"$"`). */
readonly prefix: _angular_core.InputSignal;
/** Optional suffix label (e.g. `"kg"`). */
readonly suffix: _angular_core.InputSignal;
/** Placeholder shown when the input is empty. */
readonly placeholder: _angular_core.InputSignal;
/** Disable interaction. @default false */
readonly disabled: _angular_core.InputSignalWithTransform;
/** Read-only — values cannot be changed (steppers + typing disabled). @default false */
readonly readonly: _angular_core.InputSignalWithTransform;
private readonly locale;
private readonly separators;
/** Current numeric value mirrored from the CVA. */
protected readonly value: _angular_core.WritableSignal;
/** Text currently in the input (may be partial / invalid mid-type). */
protected readonly text: _angular_core.WritableSignal;
private readonly disabledFromCva;
protected readonly effectiveDisabled: _angular_core.Signal;
protected readonly interactive: _angular_core.Signal;
protected readonly atMin: _angular_core.Signal;
protected readonly atMax: _angular_core.Signal;
protected readonly classes: _angular_core.Signal;
private onChange;
private onTouched;
writeValue(value: number | null): void;
registerOnChange(fn: (value: number | null) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
protected onInput(event: Event): void;
protected onBlur(): void;
protected onKeydown(event: KeyboardEvent): void;
protected stepBy(direction: 1 | -1): void;
private bump;
/** Choose a sensible starting point when bumping from `null`. */
private fallbackBase;
private constrain;
/** Parse a locale-formatted string. Returns `null` for partial / not-yet-numeric input. */
private parse;
/** Format a value using `Intl.NumberFormat` for the active locale. */
private format;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrInputNumber };