import type { InputHTMLAttributes, Ref } from "react";
type Size = 24 | 32 | 40 | 48;
/** Input types Psi's Input supports. Deliberately narrower than the native
* `HTMLInputTypeAttribute`: checkbox/radio/file/submit are separate controls
* (Checkbox, Switch, Button), not variants of a text field (D60). */
export type InputType = "text" | "search" | "email" | "tel" | "url" | "password" | "number" | "date";
export interface InputProps extends Omit, "type"> {
/** Input type. @default "text" */
type?: InputType;
/** Height in px (24 | 32 | 40 | 48). @default 32 */
size?: Size;
/** Show error styling. Inside a Field, the Field's error also lights this. @default false */
error?: boolean;
/** Forwarded ref to the underlying `` element. */
ref?: Ref;
}
/** Single-line text input with pixel-true heights (24–48) and an error state.
* Inside a Field, id/aria-describedby/aria-invalid/required are wired
* automatically (D49). */
export declare function Input({ size, error, type, className, ref, ...rest }: InputProps): import("react").JSX.Element;
export {};
//# sourceMappingURL=Input.d.ts.map