import { Value } from '@tempots/dom';
import { InputOptions } from './input-options';
import { Merge } from '@tempots/std';
/**
 * Options for the {@link NullableNumberInput} component.
 * Extends standard `InputOptions` for `number | null` values with stepper and range constraints.
 */
export type NullableNumberInputOptions = Merge<InputOptions<number | null>, {
    /** Step value for increment/decrement buttons and mouse wheel. If provided, stepper buttons are shown. */
    step?: Value<number>;
    /** Minimum allowed value. Values below this are clamped. */
    min?: Value<number>;
    /** Maximum allowed value. Values above this are clamped. */
    max?: Value<number>;
}>;
/**
 * A nullable number input component for `number | null` values.
 *
 * Renders a native HTML `number` input that can be cleared to `null`.
 * Supports optional stepper buttons, min/max clamping, mouse wheel
 * increment/decrement (with Shift for 10x), and a reset button to
 * clear the value to `null`.
 *
 * @param options - Configuration options for the nullable number input.
 * @returns A renderable nullable number input component.
 *
 * @example
 * ```ts
 * NullableNumberInput({
 *   value: prop<number | null>(null),
 *   step: 1,
 *   min: 0,
 *   max: 100,
 *   onChange: v => console.log('Value:', v), // null or number
 * })
 * ```
 */
export declare const NullableNumberInput: (options: NullableNumberInputOptions) => import("@tempots/dom").Renderable;
