import * as React from 'react';
export { InputType, inputVariants } from '../input/index.js';

interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
    /**
     * Visual size of the input.
     *
     * Note: this prop intentionally **shadows** the native HTML `size`
     * attribute (which would otherwise control the visible character width
     * of the `<input>` element). We re-purpose the name for our visual
     * size variants (`'sm' | 'default' | 'lg'`) because in practice almost
     * no one uses the native character-width `size` attribute, while
     * visual sizing is a near-universal need.
     *
     * If you need the native character-width behavior, set it via
     * `htmlSize` on the underlying DOM through a `ref`, or render a plain
     * `<input>` instead.
     *
     * See the package README's "Sizing" section for more.
     */
    size?: 'sm' | 'default' | 'lg';
}
/**
 * Input component — renders a styled input with size support.
 *
 * Uses the headless @refraction-ui/input core for state, ARIA, and data attributes.
 * Styling via Tailwind utility classes (no external CSS-in-JS).
 */
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;

export { Input, type InputProps };
