/** Input — themed text field; onChange reports the value (W2 §The Kit). */
import { Input as Base } from "@base-ui/react/input";
import type { ComponentProps, ReactNode } from "react";
import { type KitStyled, type KitEngine, type KitRendered } from "../tokens.js";
interface InputOwnProps extends KitStyled {
label?: string;
value?: string;
placeholder?: string;
type?: "text" | "email" | "number" | "password" | "search" | "tel" | "url";
hint?: ReactNode;
error?: string;
disabled?: boolean;
required?: boolean;
/** A Kit mark inside the field, before the text — a currency glyph, a unit. */
prefix?: ReactNode;
/** A Kit mark inside the field, after the text. */
suffix?: ReactNode;
/** Bound change handler; receives the new value. */
onChange?: (value: string) => void;
}
/** Plus any Base UI `` prop, handed straight to the field. `style` stays
* the Kit's own — it dresses the ROOT the label and hint share, not the box. */
export type InputProps = InputOwnProps & KitEngine, InputOwnProps>;
export declare function Input({ label, value, placeholder, type, hint, error, disabled, required, prefix, suffix, onChange, style, children, pending, ...engine }: InputProps & KitRendered): import("react").JSX.Element;
export {};