import type { JSX, ValidComponent } from "@solidjs/web";
import type { BaseUIComponentProps } from "../../internals/types.js";
import type { NumberFieldRootState } from "../root/number-field-root.js";
export interface NumberFieldInputState extends NumberFieldRootState {
}
export interface NumberFieldInputProps extends BaseUIComponentProps<"input", NumberFieldInputState> {
/** Tag/component to render. Defaults to `"input"`. */
as?: ValidComponent;
"aria-roledescription"?: string | undefined;
}
/**
* The native input control of the number field. Renders an ``.
*
* Solid 2 adaptations (mirrors
* `packages/react/src/number-field/input/NumberFieldInput.tsx`):
*
* - `onInput` maps to React's `onChange` (Solid's `onChange` fires on
* commit, not every keystroke). IME composition handling is kept as-is
* via the `event.which === 229` early return in `onKeyDown`.
* - Field integration goes through `useFieldControlValidation` which wires
* the visible input into ``'s registration + validation
* pipeline. The blur handler calls `commitValidation` in `onBlur` mode,
* matching the post-review slider-thumb pattern (see
* `src/slider/thumb/slider-thumb.tsx:491-511`).
* - `aria-invalid` is seeded with `"false"` via
* `getInputValidationProps()` so the key stays in Solid 2's DOM-spread
* `ownKeys` from render 1 (see
* `test/internals/merge-props-undefined-attr.test.tsx`).
*/
export declare function NumberFieldInput(props: NumberFieldInputProps): JSX.Element;
export declare namespace NumberFieldInput {
type State = NumberFieldInputState;
type Props = NumberFieldInputProps;
}
//# sourceMappingURL=number-field-input.d.ts.map